Microsoft Research, from Cambridge, is about to release what has the potential to become one of the most fun ways of programming in .NET you could think of. It is called ‘Gadgeteer‘ (well, officially Microsoft .NET Gadgeteer) and is based on the Open Source .NET Micro Framework.
The intent is to allow embedded and handheld electronic devices to be iteratively designed, built and programmed, in a matter of hours. Of course, you have to buy the hardware from third-parties. First out of the blocks is GHI Electronics who, from the end of September, will offer their Fez Spider Starter Kit. It comprises the .NET Micro Framework mainboard, plus a range of twenty to thirty gadgets, including such things as cameras, SD card readers, Wifi, Ethernet modules, touch-screen LCDs, switches, potentiometers, joysticks, and power supplies.
The mainboard, a 72MHz ARM system-on-a-chip with 14 expansion sockets, is the centerpiece (and costs $120). All the modules plug in to the mainboard via ribbon-cables, and you can create complex gadgets without doing any soldering. Then, you use all your .NET skills, programming the logic in C#, using the .NET Micro Framework in Visual Studio. The framework supplies pretty advanced IntelliSense that prompts you with all possible options at any point in the programming process, and so allows you to get started without having to stick your nose into manuals.
Evidently, the Gadgeteer project evolved as a result of the frustration felt by the Sensors and Devices Group, led by Steve Hodges at Microsoft Research Cambridge Microsoft Research, at the slow pace of prototyping electronic devices such as their SenseCam. The idea came to them to produce object-oriented hardware to match Microsoft’s existing .NET Micro Framework. The results of this combination of technologies have been startling.
Although the aims of the .NET Gadgeteer include some serious design-work for electronic devices such as bar-code readers or monitoring systems, I can see this combination of lightweight framework and standard hardware providing a great deal of educational amusement for .NET programmers. Already, a miniature working games arcade console has been made, with the source code available, but there is a huge potential for recreational computing. At the moment, the range of modules isn’t really enough to consider even the simplest robotics, but hopefully soon a hardware manufacturer will come out with a suitable kit. In the meantime, there are some interesting designs out there, such as a rig for doing single-frame animation work, that are sure to keep me amused!