For my third and final SPARK project, I'm going to continue building on lessons learned from
Project 1 and
Project 2. I've found Windows Embedded CE 6.0 R2 to be a powerful tool, but getting started is not a trivial process. Despite a sophisticated IDE, configuring and building running systems can be challenging, especially when the hardware isn't working as expected. So I'm going to continue where I left off with Project 2, and create the building blocks to control external devices using a serial interface.
A number of my projects have required wireless communications. I've tried many wireless systems, and one of my favorites is the
XBee transceiver from Digi. They are easy to configure and use, and there is a wealth of example code to drive them from wide variety of computing platforms. The high-power version can transmit over long distances, and at 250kbps, the data rate is excellent. I frequently use the devices as a simple wireless serial link, although they are very effective for point-to-multipoint and multipoint-to-point communications.
I frequently use XBees to communicate between pairs of Arduinos, but I have had several projects where I’ve needed more computing power or more features than the Arduino can provide. In these cases, I’ve created host software for my Mac laptop or Windows desktop computer. These are very effective options, but they are not the most portable or cost effective solutions. Power consumption is definitely an issue if I want to make a portable XBee controller. It would be great to run the host computer from a small12 volt battery. I want low power, but don’t want to sacrifice the wide variety of inputs and outputs available from a desktop or laptop computer, like USB, audio in, audio out, and serial. Using a netbook PC is a promising possibility, but my preferred solution is to use a low power, dedicated single board computer with the option of using a keyboard, mouse, and display, or leaving them behind.
While working on SPARK Project 2, I spent some time familiarizing myself with the iCop eBox computing system. It is a fairly low-cost, fan-less computer, with ample memory and plenty of peripherals, including two RS-232 ports that I can use to drive an XBee. The eBox also has an 1920 x 1440 display interface, keyboard and mouse inputs, and audio I/O.
So what happens when I combine the rich peripherals available with the eBox, the programming capabilities of Windows Embedded CE 6.0 R2, and an array of XBee transceivers? Stay tuned to find out!