What is a microcontroller?
A microcontroller is an integrated circuit (IC) containing all main parts of a typical computer, which are as follows:
Processor
Memories
Peripherals
Inputs and outputs
The processor is the brain, the part where all decisions are taken and which can calculate.
Memories are often both spaces where both the core inner-self program and the user elements are running (generally called Read Only Memory (ROM) and Random Access Memory (RAM)).
I define peripherals by the self-peripherals contained in a global board; these are very different types of integrated circuits with a main purpose: to support the processor and to extend its capabilities.
Inputs and outputs are the ways of communication between the world (around the microcontroller) and the microcontroller itself.
The very first single-chip processor was built and proposed by Intel Corporation in 1971 under the name Intel 4004 . It was a 4-bit central processing unit (CPU).
Since the 70s, things have evolved a lot and we have a lot of processors around us. Look around, you'll see your phone, your computer, and your screen. Processors or microprocessors drive almost everything.
Compared to microprocessors, microcontrollers provide a way to reduce power consumption, size, and cost. Indeed, microprocessors, even if they are faster than processors embedded in microcontrollers, require a lot of peripherals to be able to work. The high-level of integration provided by a microcontroller makes it the friend of embedded systems that are car engine controller, remote controller of your TV, desktop equipment including your nice printer, home appliances, games of children, mobile phones, and I could continue…
There are many families of microcontrollers that I cannot write about in this book, not to quote PICs (http://en.wikipedia.org/wiki/PIC_microcontroller) and Parallax SX microcontroller lines. I also want to quote a particular music hardware development open source project: MIDIbox (PIC-, then STM32-based, check http://www.ucapps.de). This is a very strong and robust framework, very tweakable. The Protodeck controller (http://julienbayle.net/protodeck) is based on MIDIbox.
Now that you have understood you have a whole computer in your hands, let's specifically describe Arduino boards!