I'd also recommend taking a look at the Arduino (<a href="http://arduino.cc/" rel="nofollow">http://arduino.cc/</a>).<p>The main reasons I got started with it is that you can start learning "at the top" with the "Arduino language" (really a C/C++ subset with some pre-processing) and you don't have to re-start from scratch as you make your way as far down as bare-assembly level (if you really want to go down that far) because the underlying tool chain (gcc) is the same (and also, open source/free software if that's important to you).<p>Because the project has aimed at non-technical users from the start the forums are very friendly to people just starting out.<p>If at some point you want to get away from the higher level interface the Arduino environment provides, you can keep using all the same hardware so you don't have to throw away your hardware investment.<p>You also have a choice in expenditure, from the official boards through the lower-priced "clones", then the non-USB runtime boards to the bare chip on a breadboard.<p>The Arduino environment doesn't have integrated debugging outside of serial console and LEDs but in general that's not too much of a hindrance--if you really want it you can look at some of the other tools for the AVR chips.<p>There's plenty of third-party library support for attaching different devices/sensors.<p>Once you reach the limit of what you can do with an Arduino you can look at some of the other chips in the AVR family or some of the semi-compatible ARM-based boards.