Competitive design challenges
NXP just opened the doors on a competitive design challenge based around their LPC1100 Cortex-M0 processor. The challenge takes place over three phases covering conceptual, hardware, and prototype phases. The conceptual phase is open now and closes on March 8th, 2010, so you will need to move sooner, rather than later if you want to participate.
I am a strong believer and supporter of competitive challenges; in fact, it was several competitive programming events while I was in secondary school that cemented my lifelong relationship with computers and programming them.
The beauty in these challenges becomes blatantly obvious when you consider the ideas that people come up with and implement on a minimalist machine. I remember at the 2008 Freescale Technology Forum the two-day design challenge that involved the electronic nameplate that everyone at the show had. The winner cleverly used the touch pads, on-board accelerometer, and LCD display to turn the nameplate into an electronic “etch-a-sketch” (or a portable computer that you turn over and shake to reset).
A challenge I see though in competitions like these that target embedded developers is that embedded design is about the unseen portion of a system, but the winners are likely to be those designs that focus around the user interface. Currently, there is a lot of focus on video, audio, and touch interfaces in mobile devices. Face it, those things are easy for anyone to understand and talk about, and they are sexy. Embedded is sexy in a more subtle way.
Embedded designs usually involve creating some level of machine autonomy. In a sense, making machines better at understanding natural human communication is a form of machine intelligence and autonomy. After all, understanding natural communication involves some level of recognizing context or intent, resolving ambiguities, and providing appropriate feedback to confirm the user’s intent was properly discerned.
But the vast majority of small processors do not directly interface with their user. Consider the dozen or so embedded processors in your desktop computer. You are probably aware of the one driving you video display. You might be aware of the one driving your disk drive, sound system, or network connection. Beyond that, what types of processors manage the media slots, keyboard, mouse, power distribution, or even the case cooling? The beauty of good embedded design is that, as the user, you do not care, nor even think about it.
I love design competitions because they provide a forum for experimentation and testing out crazy ideas in order to squeeze out that advantage that ultimately identifies and recognizes the new potential winning ideas. If I had the time (and eligibility) to participate, I would toy with an idea that I will be expanding further starting next month with my article about 8-, 16-, and 32-bit processors. I would love to build a feedback-based, mesh system using these 65 cent processors. The design would focus on data flow, minimizing latency sensitivity, and proving out a multi-directional, mutual feedback scheme.
I think small-based multiprocessing is where the real excitement is going to be, but more on that later.















