I'm definitely a software person. I took EE in school and made an LED class, then a small computer like everyone else, and I know my volts and my amps for the most part, but that's about it. The limits of my skills are somewhere around adding an LED and some resistors to leech power off a USB adapter (which I recently did while working on the Hanselcade retro arcade build).

Remember my SPOT watch from 2004? That's Smart Personal Objects Technology, which is marketing-speak for "tiny ass framework." That watch is six years old (and still running nicely, sitting on my desk, in fact) and ran .NET.

Ok, putting it all together in context. The Netduino is a board that's mostly Arduino compatible and has a published schematic (PDF here) so you could make one yourself, if you wanted. The .NET Micro Framework (or TinyCLR as some folks have called it) is literally that - it's a tiny CLR that runs .NET byte code. You can write C# and it'll run on tiny CPUs with tiny amounts of memory (like 64k or something similarly smallish.) It's been with us all this time, and there is an enthusiastic community built around it.

I'm going to think of some hardware ideas that I can build with this. I also have a more capable and fancy Tahoe II with a touch-screen, accelerometer, buttons and more. If you're looking to prototype something quick, or even build a complete system with an off-the-shelf board, do check it out! Here's what a Tahoe II looks like. Remember, all these boards use C# and .NET. It's amazing writing something for hardware using a language and framework I already know how to use. It literally gets me 80% of the way there from a learning curve perspective.

Optional: shields and starter kits to do cool things with netduino. Existing Arduino shields are compatible. A shield is just an add-on card that fits the pins on the board.

The SDK installs a device driver for talking to the Netduino. Make sure you select the one with the appropriate bitness, and that you install it before connecting the Netduino to the PC. I installed the VS2010 bits before the SDK, but it shouldn't matter.

Once you plug in the Netduino, using the USB cable, you should see the device driver get installed, and the power LED on the board light up.

Hello World with Morse Code

Now I just have the Netduino for now, so I haven't got any attachments. If I was a hardware guy, I'm sure I'd go try to take apart a toaster or remote control and declare something like "this toaster just needs a one OHM resister on pin-out 5A so I can invert the voltage and it'll toast bread over Bluetooth" but I have no idea what that means. All I can do with the Netduino out of the box to flash its LED, as Pete points out:

So, here's a naive 10 minutes solution using this guys' two arrays because I'm too lazy to type up the Morse myself. I could have use a Hashtable also, but two parallel arrays was fine too. The .NET Micro Framework, being micro, doesn't have everything the full framework has. However, being open source, it has taken contributions and version 4.1 includes a Hashtable implementation.

Here's the debug output as I flash "hello scott hanselman" from the board.

All it all, it really couldn't be much easier. Next I'll try to get the Tahoe II working and maybe make a game for the boys. Perhaps hook up a speaker and a proximity sensor and see if they can sneak up on it.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

That is really cool. All your array needs is a few punctuation marks and you'd actually be able to send properly formed sentences. For example, a comma is "--..--", a period is ".-.-.-" and a question mark is "..--..".

I've been tossing around an idea in my head for a program for fellow hams to use in the Alabama QSO Party radio contest. The code you posted above give me an idea for a feature. Instead of toggling an LED just have the computer toggle the DTR or RTS line on a specified com port.

Looks nice (although I gave up using Microsoft software the same moment I bought my MacBook). For tiny programming, I prefer carrying around my Ben NanoNote: A linux (OpenWRT from the box, can boot Debian) powered palmtop computer. Or handheld, whatever you prefer... Sadly, it has no connection power (no wifi, networking only via a USB connection to a host computer acting as proxy). But it is one of the cutest pieces of hardware I have ever since, although I use it for mostly nothing these days :/

Of course, it makes one of the best pocket calculators out there... I am still trying to find a good way to use it as a pocket calculator completely (partially ported YaCAS to OpenWRT), but gnuplot doesn't fit well.

Gee - I always wondered what the SPOT watches ran. I have two of them - one still running on my wrist every day. IIRC, those watches came out before the MF was announced - or right about the same time.

CarlD

Thursday, 09 September 2010 03:21:57 UTC

The Netduino is really pretty slick. And it's hardware compatible with the majority of the Arduino shields out there. And, with a bit of work, you can usually port a fair bit of the Arduino code to C# too.

The Netduino forums are here, and there are several blogs starting to cover Netduino projects now too.

Interesting. Always been curious about low level code, all these years dealing with SQL express, vba etc and most of us can barely get an led to flash. Imagine the possibilities, tweet a special code and feed your fish from 1000 miles away. Awesome.