Categories

Meta

Tag: .NET Gadgeteer

Valentin Ivanov (aka Architect on the TinyCLR Forums) just posted one of the more awesome projects I’ve seen for .NET Gadgeteer. He’s built a mini game console using a repurposed Wii controller, plugged into his custom Chucky module, to control a ported version Pac-Man (he’s also working on a port of Space Invaders). This is just the kind of project that I think makes Gadgeteer so awesome.

Oh, and if you’d like to see this awesome project in action, come to MADExpo next week. Valentin’s is just one of the many cool projects that will be on display in our demo room. I’ll also be bringing some Gadgeteer coolness, as will Pete Brown, and Sean Westcott (and Sean’s project involves electroluminescent wire…awesome!). And I hear the peeps from 757 Labs will be back as well. Should be great fun!

At the end of what’s been a kind of tough week, with a spring cold making its way through my entire family (one of the perils of having young kids at home), I got a nifty package in the mail. Inside was an anti-static foil bag containing the parts for a nifty addition to my Gadgeteer hardware collection, the new MIDI Module created by my friend and fellow Microsoftie Pete Brown. I should have thought to snap a photo of the kit before assembling it, but I was sufficiently excited I could hardly wait to heat up the soldering iron. Here’s what the finished module looks like:

So, OK, you might ask. Looks neat, and all, but what does it DO?

Well, for the uninitiated, MIDI stands for Musical Instrument Digital Interface, and the short definition is that it’s a serial protocol specification that lets musical instruments “talk” to one another. MIDI allows devices to communicate musical information (which note to play, how loudly to play it, etc.) digitally in a highly efficient format. Instead of creating a waveform and pushing it through limited bandwidth pipes, MIDI allows a controller device to simply provide instructions on what note should be played, which channel it should be played on (MIDI supports up to 16 channels per interface), along with any information on the specific sound (referred to in MIDI parlance as a patch) and parameters (referred to as control change) for the target device. Then the controller leaves the actual generation of the sound up to the receiving device.

So what Pete’s module does is allow a .NET Gadgeteer program to act as a sender or receiver of MIDI data. Which can be pretty fun stuff, with just a little work.

In today’s post, I want to show some examples of the cool stuff folks are doing with .NET Gadgeteer. One great place to find out about projects is the .NET Gadgeteer Showcase. There are currently 20 projects in the showcase, which run from simple demos to tutorials.

Some of my favorites include:

Gadgeteer Binary Clock

Gadgeteer-powered Robot

Gadgeteer Servo Control & Windows Phone Client

The cool thing about Gadgeteer is the speed with which you can come up with and execute on your ideas. With the right modules in hand (or a breadboard), you can build something fun or practical, prove out the concept, and then pull it all apart again and build something else.

The current project I’ve been working on is controlling a Syma S107 infrared remote control helicopter using my Gadgeteer board. I started on this several months ago, with a very simple setup that could record a stream of IR commands and replay them. So I could basically get the copter to launch and land (or perhaps crash), but not much more. You can see an example in Part 6 of the video series of myself and Pete Browntalking Gadgeteer at CMAP Code Camp.

I’m planning a series of blog posts about the development of the helicopter controller, but the TL;DR version is that I now have a full replacement controller for my helicopter, built completely with .NET Gadgeteer. The only part that didn’t exist as a module was the infrared emitter, which I ended up designing myself. Here’s the result:

Hopefully, some of the projects you’ve seen here give you an idea of the broad flexibility of the .NET Gadgeteer platform. As I said earlier, I’ll be sharing more details on my helicopter project in future posts, so stop by again soon!

Introduction

Some time ago, I posted an unboxing video for something new, my FEZ Spider .NET Gadgeteer starter kit. Since then, I’ve been busy with both my day job, and spending a lot of my “free” time playing with my Gadgeteer stuff, learning about breadboarding, and generally diving head-first into the world of electronics hardware and microcontrollers.

At first, working in this world was quite intimidating, and I felt almost completely lost. I plugged my first board into my computer with the LCD screen hooked up, and all it showed was some debug information. OK. Where do I go from here, I asked myself?

To help other folks who might be in the same boat (whether you’re a software geek just jumping into Gadgeteer, or someone experienced with other electronics work, but not familiar with Gadgeteer), I’m going to start posting some blog/video posts walking you through the basics of working with .NET Gadgeteer. Some of this information (such as breadboarding, for example, which I’ll cover in a future post) may be applicable to other microcontroller environments, while some will be Gadgeteer-specific.

In this post, I’m going to take you from receiving a .NET Gadgeteer mainboard to the “Hello, World” of embedded electronics, which is flashing an LED.

Over the last few months, I’ve spent a good bit of my free time (and some of my not-so-free time) learning about hardware and microcontrollers. One product of this will be a series of blog posts I’m working on detailing one of the projects I’ve built using Kinect, .NET Gadgeteer, and a few other odds and ends. I also just started working on my first from-scratch robot with my kids yesterday. So I figured there might be a need for a specific landing point on my site for my hardware-related adventures, and I’ve decided to call it Devhammer’s Garage.

In the garage, you’ll find information about my current hardware projects, including photos, links to other interesting sites, and more. If you’re a geek who’s into making stuff, I hope that you’ll find Devhammer’s Garage a useful addition, and I welcome comments, questions, and suggestions. And to whet your appetite, here’s a picture of my next build-in-progress, which I call the Hydrabot (so named for the fact that it’s powered by GHI‘s FEZ Hydra .NET Gadgeteer mainboard):

I’m early in the build process, and I’m kind of designing this first robot as I go along, so I’m still deciding on what kind of sensors to use to help it navigate, etc. The Tamiya parts are very easy to work with. Assembling the gearbox took about 40 minutes or so, in part because I was showing my kids what I was doing as I was doing it, and in part because I took my time to ensure that both sides were geared identically. One advantage of using a gearbox like this is that you can get pretty good torque from even the small DC motors that come with the gearbox, which should help power over any obstacles in the way.

I’ll post more pics and videos as the project progresses, and will have more detailed build information over at the Garage.

As anyone following my blog or twitter feed could probably tell, in between HTML5 Web Camps and Game Camps, I’ve been doing a fair amount of work (and play) with .NET Gadgeteer. It’s a great platform for learning about electronics and microcontrollers, and since the code is in C# and based on the .NET Micro Framework, it’s familiar territory, at least on the software side.

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 Unboxing

(note to self…need to get a macro lens for my video camera…sorry for the focus issues)