I am thinking about introducing my 12 year old son to hardware programming. I built a robot with the .NET Micro Framework and while he was fascinated with controlling the robot, his eyes glazed over when I attempted to explain how the code worked. And to be fair, it's quite complex for a beginner, requiring knowledge of OOP, interrupts, etc...
So I was thinking what is the best way for a kid to get into hardware programming? I've heard of Basic Stamp, Arduino and Lego Mindstorms.
It seems like Arduino can do pretty much everything, but it's C and it sounds like the learning curve is really high.
Basic Stamp seems interesting and it is using BASIC from what I can see, but I can't tell whether it can do anything more complex than messing with the breadboard. For instance, could I build a web server on it?
And finally, Lego Mindstorms looks impressive, but I don't understand how it's programmed, if you want to do anything out of the box.
Ideas?