
Phew! Last Wednesday was my final university exam. It seems unbelievable, but the Computer Engineering course has finally come to an end. We still have to hand in some paperwork for the final course project, but those are just papers. The exams, the assignments and the reports are over, and now a huge weight is starting to come off my back as the grades are released on the university’s website. Those who follow me on Twitter got an idea of how much of a rush it has been. This year was especially tight because of the dependencies I had to take, the internship I had to do, and finally the graduation project we had to present.
The project was the main reason for my absence from the blog — there were many tests, scares, burned sensors, presentations and fairs.
Hold on! Did you say burned sensors?
That’s right. Murphy can be considered a member of our group, since he was always present during the project’s development. On the eve of the presentation to the evaluation board, a bad contact in the voltage regulators, caused by the vibration of the model helicopter’s engine, made almost everything burn out. It was widespread despair, since the sensors were imported. Not to mention the money we would have to shell out, we would still have to wait for the delivery, which takes about two weeks on average. At that moment Murphy gave us a break. Personally, I think he felt sorry for us. I say this because the next day we found a reseller of sensors similar to the ones we were using in the project, right here in Santo André (the city where I live). When we contacted the reseller, we found out they had the sensors in stock. Unbelievable, isn’t it?
After the presentation we gave to the evaluation board, we were also invited to take part in the university’s gala presentation, where the best projects of the year were shown.

We also came in second place in the “Best PC-Based Academic Application” contest promoted by National Instruments, and with that we were invited to exhibit our work at the National stand at the ISA Show 2009. The coolest part is that first place in this contest was won by a group also from my class at São Judas Tadeu University. This showed that, besides getting ahead of several other universities, our class is no joke.
National Instruments produced this explanatory video where I talk about the basic idea of the project. The video was made at the country house of one of the group members, where we were holed up during the last weeks before the final presentations.
This is just a “Hey, I’m coming back from the coma!” post. Now I’m going to stop talking about the project and get back to talking about what really matters: “Blue Screens of Death”. My big dilemma now is whether I should also comment something about firmware and hardware. I developed many activities with embedded software, and not only during the making of the project.
During the project, especially developing the USB protocol on an 8051 using Keil, besides reading sensors and working with buses on a PIC using the C18 compiler in MPLAB.
Besides that, I had the opportunity to contribute to the development of a project at IPEI. This project’s hardware measures the results of a tensile-testing machine and sends them to a computer via USB. I contributed to the development of the PIC firmware, implementing the HID protocol, once again using MPLAB.
Last but not least, I also contributed to the development of FreeScale firmware during my internship at Commodity. This firmware also deals with the USB protocol, and relies on the help of a chip that provides this interface, since the DSP that made up the solution did not. This time I had to use Code Warrior in the development, and I relived the time when I worked at Provectus developing a Bootloader to update the firmware itself over a 485 network, except that this time it was through USB.

So much interaction with USB on both sides of the cable is mainly the fruit of the knowledge acquired from the book “USB Complete” by Jan Axelson. I don’t remember whether I have mentioned this book here before, but it is worth talking about, especially from the electronics/firmware point of view. The book is simply excellent, but it says it does not cover the development of USB drivers, because that subject would require a book of its own. With that, it recommends an old acquaintance of ours, “Programming the Windows Driver Model” by Walter Oney.
In any case, wait for renovations on this blog. For a long time I have been working at my limit to manage to post and still handle everything else. Now my extra time will allow me to make posts more frequently and finally set up open classes of the Windows Drivers Course.
As some of you already know, I keep a list of people interested in the course who will be notified by e-mail when the classes open. Regardless of that, I would like to receive e-mails about schedule preferences and specialties, such as WDM/KMDF/UMDF/File Systems, or even about an emphasis on USB/PCI.
That is it. For a post that had nothing to say, it ended up saying quite a lot.
See you soon!
Leave a Reply