When it comes to computing devices, the headlines nearly always go to biggest and fastest -- more GHz, more transistors, more dollars. But not every success has followed this path. Sometimes, devices are also favored if they're really limited in their processing power and feature set.
There's one prime example of this that has inspired millions of people around the world, letting them dip their toes into the vast ocean of electronics and programming. Say hello to Arduino! an open-source hardware and software platform and user community that has spawned thousands of homebrew projects and commercial products.
Not all research costs billions of dollars
The story of Arduino begins almost 20 years ago, in the town of Ivrea, in Northern Italy. This ancient municipality of Turin was home to a graduate design school, called the Interaction Design Institute Ivrea (IDII). One of their associate professors, Massimo Banzi, was in charge of developing and delivering a program of study in the field of physical computing.
But IDII was struggling with ever smaller budgets, and Banzi was having to teach its Master's degree students how to use electronics in their interactive design projects.
Like so many electronics students of the time, they had been using microcontroller systems like the BASIC Stamp, from the American company Parallax. However, that was somewhat more expensive than they would have liked and lacked the required flexibility. So, naturally, Banzi directed a very small group of IDII staff and students to set about making their own.
They turned to the world of open-source for developing the IDE (integrated development environment), the software package with which to program the device, but nothing like that really existed for the hardware.
The solution came from Creative Commons: a non-profit organization based in Santa Clara, California, that provided royalty-free licence and public domain systems for making cultural projects.
The team realized that by making the project ultra-cheap and fully open-source, it would open up the world of electronics and programming to millions of people around the world.
Initially, this project (mostly done by one of Banzi's students) was called Wiring, but as news of it spread and more people experimented with the design and tools, a parallel version was created (Wiring continued separately and is still going strong) and it was named in honor of the team's favourite haunt: Bar di Re Arduino.
Welcome to the Arduino family
For anyone new to the world of basic electronics, the first Arduino system might look somewhat cobbled together. But that's because it was!
Consisting of little more than an 8-bit Atmel ATmega168 microcontroller, a basic PCB, and a cable to connect it to a computer for programming, it was very 'rough and ready'.
As a concept project, though, it was perfect -- the chip was very capable for the team's needs and also very cheap. You can buy them now for around $2 a piece!
Now, there's a whole host of different Arduino models to choose from: the basic Uno model, sporting another 8-bit Atmel microcontroller, to the likes of the Arduino Zero, which packs a 32-bit ARM Cortex chip and 256 kB of Flash memory.
You don't have to buy them pre-made; thanks to the open-source nature of the system, you can download schematics and make them yourself, too.
Each model comes with a number of analogue and digital pins, for powering electronic components, and sending/receiving inputs/outputs to and from the controller. The data pins are essentially 1 bit (a low or high voltage) but that's more than enough to use it do a wealth of things.
For example, the Uno can be easily hooked up to a digital temperature sensor and programmed to calculate the temperature, based on the signals received.
If this sounds all a little daunting at first, don't worry -- Arduino's Project Hub contains thousands of ideas to try, with full instructions and part listings. And this is the key to Arduino's strength: not the simplicity of the hardware nor its open-source design, but how easy it is to program the controller.
The Arduino IDE owes much to the development work in Wiring (and another IDE project called Processing), and these were ultimately responsible for its clear syntax, logical code rules, and huge collection of libraries for various functions and operations.
You don't have to use the IDE, though; any language can be used, as long as the compiler outputs binary machine code that the simple microcontroller understands.
The 'hello world' of the Arduino IDE: make an LED blink
So what you have with an Arduino kit is clear: a simple board, that's powered by an external source or a USB 2.0 cable, sporting a basic microcontroller or microprocessor; programming support in the form of a clear IDE, code rules, and plenty of documentation; and a wealth of projects to try from an enormous database.
All of which begs the question: just what can you do with an Arduino?
The power of Arduino
Let's face it, though -- it's the slightly more 'creative' maker projects that we're really interested in. Fancy spicing up your work-at-home Zoom meetings by having your webcam track you dancing around your apartment? Arduino's got your back.
Want to be Batman and use sonar to ping out your enemies? Forget Robin -- it's Arduino you want at your side.
There's also that ridiculous gadget that displays time using sequins, because why not. And Combo Breaker, a motorized Arduino-based device that can crack any Master combination lock in less than 30 seconds.
There are so many different uses and applications for Arduino that listing them all here would be impossible. But what if you all really need is a couple of punch-activated flamethrowers on your arms? You know, just in case of a zombie apocalypse. Well, there's an Arduino project just for you, too!
Okay, so maybe that last project is a little too creative, but hopefully you get the picture. The limits as to what you can do with an Arduino kit are set by your imagination and ingenuity, not its basic chips and design.
When less is more
Arduino and Wiring, and the likes of the Raspberry Pi, are perfect examples of what can be achieved when you aim to keep the hardware as simple as possible, and back it up with a concrete development kit. These projects have brought electronics and programming to millions of people around the world, who may have otherwise been put off these fields due to their innate complexity and immense scope.
They're not without their detractors, though, especially in the professional world of electronic engineering and embedded systems -- the criticism mostly comes in the form of how the likes of Arduino is masking a true understanding of electronics and programming.
But that's the whole point. One doesn't need to know the precise nature of the thermodynamic heat cycle that your car's engine goes through in order to learn how to drive it. And the same is true of Arduino: it's supposed to be limited, overly simple, and not particularly efficient at what it is does.
It's there to make it easy and fun to step into the world of microcontrollers and basic coding, and it fits that role perfectly. If you've ever experimented with an Arduino kit and want to share your story, shout it out in the comments below.
Keep Reading. Hardware at TechSpot
- The History of the Microprocessor and the Personal Computer
- How ARM Came to Dominate the Mobile Market
- Gone but Not Forgotten: 3Dfx Interactive
- The Future of Tech: The Desktop PC
Masthead credit: Gogaspb