In this week's Hardware Friday post we're going to visit the Gadgeteer project, but this time with a look at some shipping hardware and how its SDK looks in Visual Studio.
Gadgeteer based products are meant to simplify gadget development by providing simple, easy to interconnect components (and hard to misconnect) yet with the power of .Net Micro Framework and Visual Studio based development environment. Think Lego like building with electronic hardware (in other words, build cool hardware projects, soldering iron and breadboards very optional)
In a recent post, I mentioned that last week I received a very cool package, the GHI FEZ Spider .NET Gadgeteer Starter Kit. Unfortunately, I didn't have time to take the kit with me to Roanoke, but I did record an unboxing video last week.
The FEZ Spider starter kit is the first commercially available kit that implements the .NET Gadgeteer specification for modular electronic components. The kit includes the FEZ Spider mainboard, which houses the processor, along with a reset button, a couple of LEDs, and 14 sockets for plugging in additional modules.
The kit includes a fairly extensive selection of modules to help you get started building electronic projects quickly, including a full-color 3.5" color touchscreen LCD module, a camera module, 2 button modules, a joystick module, an Ethernet module, an SD Card module, and a USB Host module, just to name a few
The hardware is only as good as its software... I mentioned Visual Studio?
But the modular aspect of the hardware is just the beginning. The ability to quickly assemble a prototype would do you little good without the ability to drive these components via software, and this is where Gadgeteer really shines.
Once you have installed the necessary software (minimally Visual C# Express 2010, but higher versions of Visual Studio 2010 will work as well, and the .NET Micro Framework SDK and GHI and .NET Gadgeteer SDKs…a full list of the software can be found on the FEZ Spider download page), Visual Studio will have a new Gadgeteer project type, as shown below:
The Gadgeteer SDK also provides a toolbox full of module goodness that you can drag, drop, and wire up on the design surface:
The designer makes it incredibly easy to start prototyping your project, without even needing to have the hardware in-hand. And under the covers, the designer automatically generates all the code you need to access the components that you've wired up. For example, if you add the Camera module, the designer-generated code will automatically wire it up in code, and instantiate it with the name camera, making it very intuitive to code against. To take a picture using the camera module is as simple as calling camera.TakePicture(), and then handling the PictureCaptured event exposed by the camera module.
Other modules expose appropriate events as well (for example, the button module exposes a ButtonPressed event), which you can handle in order to control the hardware. The getting started guide that you'll find in the Start menu entry for .NET Gadgeteer will guide you through creating your first Gadgeteer application which, as it happens, is a simple digital camera using the camera, button, display, and USB Client (for power) modules.
Once I had the software installed, it took me less than a half hour to have this project assembled and working. Here's a picture of the finished project
This sums it up very well...
Whether you're a hobbyist looking for an inexpensive way to quickly get started with building your own gadgets, or someone who has a brilliant idea for the next cool consumer gadget and just needs a way to quickly assemble and test out prototypes, .NET Gadgeteer is something you should definitely consider. The cost of the starter kit, at around $250, is remarkably low for what you get, and the Gadgeteer software platform makes it very simple to create cool projects in very little time.
The .NET Gadgeteer platform is still very much in its early stages, but already more modules are appearing, including potentiometers, WiFi, and serial port modules, with more on the way. And while GHI is the first out of the gate, you can expect more Gadgeteer-compatible hardware from other vendors as well. Additionally, there will soon be templates available to aid in creating enclosures for your projects, using available laser cutting and 3D printing services.
It's an exciting time to be a gadget geek, and I'll be sharing more of my explorations with .NET Gadgeteer in future blog posts, so stay tuned!
Here’s a few more links you might find interesting:
- Along came a spider... a .NET Gadgeteer FEZ Spider!
- NET Gadgeteer Live as an Open Source Project
- The Introduction of FEZ Spider, the first .Net Gadgeteer Compatible Device
- FEZ Spider Starter Kit