So today I was working on a group project in my embedded computing class. The goal of the project is to create an MP3 player directly from off-the-shelf components. While the project seems quite difficult at first, it was made easier by the fact that groups of people figured out the individual components before we brought them all together.

Coming back to today’s class. We finally finished assembling all of the software and hardware into a single system. And then we started to compile. Anyone who programs knows to test all the pieces separately first before combining them as bugs multiply when combined. It suffices to say that some of the modules were not tested in this manner and the going was slow correcting the errors. Many of the modules had syntax errors and typos in them, both of which are never good signs as they are usually only the tip of the iceberg.

So when we had actually finished assembling all of the parts, people started to guess whether or not it would work. After witnessing the horror of the errors we were correcting, I thought that a snowball had a better chance in hell. So we plugged it in and tried it as it wouldn’t require that much effort. Sure enough it failed.

However then we started to think about what could actually be wrong. I asked if we had opened a specific port of the microprocessor and everyone realized that we had missed it. As we were talking about it (and I am getting ready to leave as class is over) another team member plugs in the missing function and asks what we think the chance is that it will work this time. I am dead sure that there is no possibility of this working. The function call that we had left out was so elementary (which usually indicates that the more difficult parts are totally wrong).

Then it starts playing an MP3. Our team goes nuts. My mouth drops open. This really should not have worked. There is no way that it actually worked. But contrary to all my beliefs, the music is coming out of the chip. Unbelievable.

Upon listening closer we realize that the music is slowed down. Upon further investigation by Mark, the professor, we realize that the clock speed of our MP3 chip is slower than it is supposed to be, which is fairly easy to fix.

Despite being a non-believer, I have to say that hearing that music made my day and we are now that much closer to completing the project.