Of the several versions of the popular Arduino microcontroller, one of our favorites is the Arduino Nano. Because it has built-in support for USB, all you need to program it or power it is a USB cable. Later on, when we want to have a battery powered project, we will use the Nano's little brother, the ProMini. That computer uses less power, since it does not have the USB hardware on the board. But that means we need an extra device (an FTDI USB-to-Serial programming module) to program it.
The photo above shows the Arduino Nano next to the USB cable used to program it. Pins have been soldered to the underside so the computer can be inserted into a solderless breadboard. Another set of six pins has been soldered to the top to bring out some of the communication pins (for fast serial connections).
To program the Arduino, you will need to download the Arduino software. There are versions for Windows, Mac, and Linux (so you can even run it on the $35 Raspberry Pi).