Introducing Arduino – a simple Raspberry Pi alternative
The Arduino, originally launched as a project to make it simpler to teach electronics in schools, has an illustrious history: from its humble beginnings as a fork of the Wiring software library, the affordable microcontroller has been shipped worldwide in the hundreds of thousands and inspired a variety of projects and spin-offs along the way.
At its heart, the Arduino hardware is simple: a microcontroller from Atmel is connected to a USB interface and its various features are brought out to easily accessible pins that provide input and output capabilities. Using these pins, an Arduino can interface with a range of external components, from simple switches to temperature sensors, LEDs, LCDs, GPS receivers, SD cards and even TV sets.
The power of the Arduino platform is dwarfed, however, by the aims of the project itself. Every Arduino design, from the compact Arduino Nano to the latest Arduino Leonardo, is released under an open-source licence, along with all the software and firmware required to make it work. As a result, the market is filled with Arduino compatibles. While some, inevitably, are Chinese knockoffs, many, like the ArduPilot autopilot system for unmanned vehicles, bring their own twist to the concept.
With an Arduino, it’s possible to get started in embedded electronics design quickly and easily, with or without prior experience in electronics or programming. There are, however, a few things to learn about the world of microcontrollers first.
Microcomputers vs microcontrollers
A microcontroller, such as an Arduino, shouldn’t be confused with a microcomputer, such as the Raspberry Pi. Although both include the same basic components – a processor, memory and some way of receiving input and providing output – they have vastly different capabilities. A Raspberry Pi runs at 700MHz and has 512MB of RAM; an Arduino, by contrast, runs at 16MHz and has only 2.5KB of RAM. The Raspberry Pi runs Linux, BSD or RISC OS; the Arduino has no operating system except that which you program for it.
A microcontroller such as an Arduino, however, is vastly more suited to embedded projects: it includes analogue-to-digital convertor (ADC) capabilities as standard, outputs pulse-width modulation (PWM) signals, and runs real-time code – a requirement for many sensing and control applications – while its low power draw enables hours of use from a single 9V battery. Prior to the Raspberry Pi, price was also a key point: a typical microcomputer could cost upwards of £100, while an Arduino Leonardo costs around £19. With the remarkable Raspberry Pi available for £30, that disparity has been reduced, but an Arduino remains the cheaper option for the budding electronics engineer.
There’s no need to choose between the two, however: an Arduino can be connected to the USB port of a microcomputer such as the Raspberry Pi, providing the best of both worlds in a surprisingly affordable package.
Picking an Arduino
The very flexibility of the Arduino project can be challenging when it comes to getting started. With so many different models on the market, both official and third-party, it can be difficult to decide which best suits a project.
The obvious starting point is the Arduino Uno, the best supported of the official Arduinos. This model forms the basis of most starter kits, and offers a great way to get involved in Arduino development. However, it’s well worth investigating the Arduino Leonardo as an alternative. It’s slightly cheaper than the Uno, but nonetheless includes more advanced functionality, including the ability to act as a USB keyboard or mouse – something we’ll make use of later.