My next embedded programming project will involve a single board computer (SBC), rather than a microcontroller. I’ve come across several kinds in my research, but the one that appears to best fit my needs is an Overo from GumStix. It’s a Linux-based SBC that has a variety of add-on boards available. It comes with a pretty decent amount of RAM, runs a very recent kernel, has an 802.11 wireless interface and costs less than $200.
But you have to program it under Linux (well, there’s unofficial Windows CE support from a 3rd party group, but I’d rather stick closer to what the manufacturer provides).
That’s a little intimidating — I never really learned to love C or C++, mostly because I could never seem to remember to free allocated memory and found pointer-based expressions rather obscure — but not a show-stopper. Besides, it’ll be fun to see if years of C# programming — where I hardly ever deal with pointers — have given me a better starting point for re-learning C and C++.
I thought the bigger hurdle was going to be setting up remote X11 access to my Linux firewall/router over the LAN. But then I “remembered” I could install Linux in a separate partition on my main system…which fortunately led me to also “remember” that open-source virtual machine technology is pretty far advanced these days, so an even better solution was to install Linux in a VirtualBox VM.
The process was remarkably straightforward, considering how much was going on under the hood. I decided to install Ubuntu because it’s pretty popular, and hence pretty well supported.