A lot has been said about the Arduino , a lot written and even more built with it.
What’s an Arduino ?
The Arduino Platform consists of a series of development boards witch feature members of Atmel’s ATmega family of microcontrollers and the Arduino IDE used for programming these development boards.
But how did it all begin ?
Back in 2003 Hernando Barragán learning at the Interaction Design Institute in Ivrea Italy faced the usual problem of any hobbyist and student : the materials necessary for learning microcontroller programming where expensive for the students. The necessary equipment ( a microcontroller development board that ran BASIC) cost about 100$ at the time. So Hernando made Wiring for his thesis project. Wiring was a platform with an IDE and a development board that encompassed the basic principles that would one day become the cornerstone features of the Arduino:
- simple intuitive IDE
- simple programming language
- the ATmega chip runs a bootloader which permits reprogramming
- serial communication with the device
- cheap and open source hardware AND software
The prototypes evolved, went from a complex microcontroller to a simpler but still powerful solution and went from communicating by a COM port (yeah , remember those ?) to a USB port by using a FTDI chip. And this was Wiring in 2005 when it became an educational tool shipped to schools and universities.
And that is the story of Wiring. Oh …wait …. we were talking about the Arduino.
Well innovation leads to innovation and the Arduino project was born out of Wiring project. As I already said the main features were already there and Hernando had made the project in it’s eternity open source so Arduino started as a fork of the Wiring project (basically they started developing it in parallel, basing their work on the foundations laid out by Hernando) . The Arduino team (at first Massimo Banzi, David Mellis and David Cuartielles) made the development board even cheaper by switching to the ATmega8 (Wiring used the ATmega128) and at first going back to serial communication by the COM port.
Now I talked about why and how it exists but how did it become so popular ?
Firstly and most importantly it is cheap. And it had potential. The best I could find is that the price for the development board the students needed back in 2003 was 100$ , the Wired board was about 60$ around 2005 and the first Arduino boards where about 30$ and now ? Now I can browse Aliexpress and find an Arduino Uno clone for about 5$ and even if you are weary about Chinese made electronics the official board is about 25$ today and will probably only drop as time goes by. By the way the fact that the Arduino Project is open source means that not only are the Chinese models perfectly legal but it also spawned a lot of parallel projects. Some of them integrate other ATmega processors while others are especially designed to be more rugged or for special applications. And all of this is before I consider other Arduino boards besides the UNO.
So the second reason for the Arduino’s popularity is the fact that it is very adaptable. If there’s an application for which an official board does not exist or another board was not developed by someone you can still access the original design and make your own to suit your needs.
Then there’s the inclusive attitude of the software. The IDE is simple to use beginner friendly with good documentation and runs on Windows , Linux and even Macs. Basically you can take your Arduino board install the IDE and get programming with the simple language it supports in about 5 minutes. Plug and play at it’s best.
About that simple language it uses: it’s a simple C/C++ dialect. It supports libraries so if I get a new sensor and want to use it chances are somebody has already made a library that makes accessing that sensor really easy. This is leaps and bounds above writing in Assembler or embedded C. (this also has the effect of making a lot of old microprocessor programmers slightly unhappy) And it’s not like the Arduino platform is simplified to within an millimetre of becoming useless , on the contrary the projects you see made with it are impressive. Just as an extreme example there is a project that transforms an Arudino board into a CNC controller and 3D printers have been ran on similar projects. Granted these do away with the Arduino language but is can be done and is being done by people that deserve admiration on the Arduino platform. Staying within the boundaries of the platform we have people building robotic arms, GPS devices , IoT devices , fingerprint scanners and the list just goes on.
Shields. No , not medieval knight or viking kind , but boards that are readily available and plug over the standard Arduino boards. They ad a lot of features : from the simple ones adding a breadboard over it to complex ones that add motor control , GSM and GPS functionality. They are all plug and play , most with their own libraries for control and they build on the platform’s already impressive adaptability.
So there we are , they are cheap , simple to learn and this made them liked not only by engineers but by anybody wanting to quickly automate something , build an impressive project or simply tinker. That made them widely adopted and more likely to be used by people just starting to learn electronics.
My 2 cents
Personally I consider the Arduino platform a great way to enter the electronics hobby as you can learn about electronics and programming in parallel. It allows you to learn the very basics and then go more in depth when you want , rolex replica watches maybe even tackle programming ATmega chips directly one day.
https://arduinohistory.github.io/ – a great write up by Hernando Barragán himself
Why are the Arduino boards blue ?
Because when the project forked from Wired the people involved wanted to create an unique identity for the product. Green , brown and even yellow PCB boards are common , making it blue made it stick out.
Why Atmel ATmega and not Microcip PIC
While at the moment the Wired project was started PICs where far more common microcontrollers the Atmega family had the advantage of having the software infrastructure for programming them open source. Microchip released a open source version of their infrastructure much later.