I love technology – the theory and science behind it, the programming, the human-computer interaction, and the engineering – as well as the product offerings and the corporate strategies.

The coolest part doesn’t grab kids, at least not initially. Their learning experience needs to be tangible, hands-on, and flashy. This means learning as a consumer, typically starting with a game console or some some other closed system and getting curious about how to make it do more. Until their knowledge is as deep as the off-the-shelf products’ superficial specs will allow them to go the learning is typically very limited.

Once kids graduates from following a script on the Internet to do some software mod, where should they go next? A few feel compelled to jump into the software side, but that seems to be a rare breed. The tangible, hands-on part still applies.

There are three great options I recommend: Mindstorms from Lego, Electronics Learning Lab from Radio Shack, and Arduino compatible devices from many sources. So which one is right for your kid?

The short answer: All three, in progression.

If the kid was ever into Legos, Mindstorms is a natural fit. It is a new way of snapping pieces together but all the old bricks can be integrated into the designs too. The central computer attaches to motors and sensors with what feels like a short phone wire with a RJ14 jack. You can start by building a device and using the basic built-in programs to run the motors. The progression into programming is smooth, with Lego-like blocks used on-screen to construct the creation’s behavior. There are several books on the market with colorful pictures, step-by-step building instructions, and simple programming walk-throughs.  The price is high at $250 but it is an impressive set and is well worth it.

I hate what Radio Shack has become, but that can’t hold me back from recommending the Electronics Learning Lab. They have been selling these for decades and have done a decent job keeping up with the times and improving the product. For the recent Mindstorms graduate it starts with the same familiar modular concepts – there is a central brain and some attachments around it. The main difference with the Learning Lab is you need to build your own brain. It has built-in things like simple LEDs, push buttons, buzzers, and 8-segment LED numbers, and each built-in function already built-in logic like resisters to keep it all simple.

Instead of programming you need to build a simple logic circuit. The kit includes tons of great parts and wires along with two decent books with instructions and learning information for a variety of projects. As you progress the built-in functions become less important, and before you know it you’re building the whole logic circuit with inputs and outputs by yourself.

My one reservation is that the Learning Lab is becoming a bit dated. It focuses on the lowest level of computer engineering, which I believe is one of those fundamentals that everyone into technology should know, but it may be too deep for many kids. The reason I’ve left it in here is that it makes for a more gentile progression to the next level, even if the kid doesn’t make it through all the stuff in the books. Either way, eventually the Learning Lab is outgrown – either it becomes too abstract or the breadboard in the middle becomes too small.  Also you can only go so far as modern computer-ish stuff like communicate over USB or display a line of text output isn’t practical. This is where the Arduino comes in.

I find the Arduino to be a fascinating concept. The hardware is an open spec, meaning anyone who wants to can build their own from scratch, which includes manufacturing and selling compatible devices. This openness has made the Arduino a stand-out option in a sea of micro-controller options, and although there is competition for the original designer, I firmly believe they’ve sold tons more this way than they would have had they kept it proprietary.

At its core the Arduino is a very small computer with a USB interface and tons of  places to attach input and output devices. With just the Arduino main board you can write a program on your computer, download it via a USB cable, and  have it run, but you can’t see any output or give it any input. The excitement starts once you add input and output pieces to the main board.

Being on open spec, people have come up with wonderful things to add – not just buttons and buzzers, but communications ports, LCD panels, synthesizers, and more advanced spacial sensors. Not only are these modules available for purchase, but you can build your own from kits, design your own and construct them on blank template kits, or build your own completely from scratch. This opens up the world of what you can built. Programming is a version of C with the Arduino libraries that implement much of the behind-the-scenes complication for you.  There is a vibrant online community to talk to and get ideas from.

The cost of getting into Arduino is what you make of it. With the competition out there the prices aren’t too high, but the low volume doesn’t allow for real deals either.

We will see how far down the progression my kids get. We’ve started in with some basic Mindstorms creations – a wobbly car that stops when it runs into something. No programming yet. I’m encouraged and excited.