Over the last couple of years SILICON CHIP has published a number of stories related to Arduino, including the “Arduino-compatible I/O Controller” project by Greg Radion featured in the April 2010 issue.
Fig:1 example of a minimal Arduino-compatiible system
If you spend any time looking at microcontroller-based projects online you’re bound to come across Arduino sooner or later. And as noted in last month’s issue, there are now Arduino variants of our very popular Maximite microcomputer project (SILICON CHIP, March & April 2011).
In fact if you search for just the single word “microcontroller” in Google you’ll find multiple Arduino references in the very first set of results. Arduino seems to be everywhere you look these days!
But what is Arduino? Why is there so much fuss about it? Does it have some secret sauce or magical property that makes it special? And why should a hobbyist or an engineer care anyway?
Everything about Arduino has been designed to give the lowest possible barrier to entry.
If you look at the circuit of a fairly minimal “Arduino-compatible” design in Fig.1, you’ll see that part of the secret of the Arduino’s success is that there is no secret.
From a hardware standpoint there’s nothing magical that makes it different to any other simple microcontroller circuit you may come across.
It’s just a common Atmel AVR microcontroller, a pushbutton and a bias resistor for manual reset, a crystal and some capacitors for the clock, a serial programming header with automatic reset control and a simple power supply.
Fig.2: Arduino “Uno” reference design alongside the Freetronics “Eleven” Uno-compatible board.
You could build one yourself on a solderless breadboard in about ten minutes if you had the parts lying around. You may well have most of them already.
The only other item you would need with the circuit above is a commonly-available USB-to-Serial adaptor cable, so you could plug your home-made Arduino into your computer and load programs onto it.
Pre-assembled Arduino boards, such as the Uno reference design (meaning “One” in Italian, shown in Fig.2) and implementations based on it, typically have more features than the above minimal example.
These include on-board USB-to-Serial conversion, status and user-controlled LEDs, expansion headers, more advanced reset management, input current protection and other features but fundamentally they still build on this minimal underlying architecture.
This design simplicity has caused many experienced engineers to turn up their noses at Arduino, dismissing it as a trivial toy or something that’s only useful for beginners.
However, don’t disregard it prematurely; the intentionally simple design is just a tiny part of the story. Once you look into it a bit more deeply and see the various elements that combine to provide the overall Arduino ecosystem you’ll begin to understand why so many people have fallen in love with it and why it’s become such a smash hit.