Arduino
A C++ dialect and core library for programming microcontroller boards.
27 steps across 1 tours, from the basics to complete programs.
The tours
- First released
- 2005
- Created by
- Massimo Banzi, David Cuartielles, and the Arduino team at Ivrea
- Typing
- C++ under the hood; setup, loop, and the pins set the rhythm
- Snippets target
- IDE 2.3 (Uno)
- File extensions
- .ino
What it is for
Arduino is how physical computing became accessible: a small board, a free IDE, and a core library that turns port-register manipulation into pinMode and digitalWrite. Artists wire up installations, students build their first robots, and an enormous maker ecosystem of shields, sensors, and tutorials has grown around the platform for two decades. The language is genuine C++ — the .ino file is preprocessed into a translation unit with the core headers and compiled by avr-gcc or its ARM cousins.
The idiom the platform teaches is event-loop firmware in miniature: no operating system, one loop, state carried in globals, timing done by comparing millis timestamps rather than sleeping, interrupts for the few things that cannot wait. Those patterns — debouncing, hysteresis, state machines, non-blocking timers — are the honest fundamentals of embedded work, learned on a board that costs less than lunch.
Professionally it is the prototyping bench more than the shipping product: engineers rough out sensor rigs and test fixtures on Arduinos before committing to custom boards, and the ecosystem's reach (ESP32, RP2040, and dozens of cores beyond AVR) means the same sketch vocabulary now spans WiFi-class hardware. The line between hobby and production blurs at the edges, which is rather the point.
Where it came from
Arduino began in 2005 at the Interaction Design Institute Ivrea in Italy, where Massimo Banzi and colleagues wanted a cheaper, friendlier successor to the BASIC Stamp for design students. It built on Hernando Barragan's Wiring thesis project — the setup/loop model and much of the API come from there — paired with an 8-bit Atmel AVR chip and a deliberately simple IDE.
Open hardware and open source did the rest: the board files were free to copy, clones proliferated, and by the early 2010s Arduino was the center of the maker movement — the Uno its icon, the blink sketch its handshake. A messy trademark schism between the founders (Arduino vs Arduino SRL, and Genuino abroad) resolved in 2016 with the project reunified.
The platform outgrew its 8-bit roots: ARM boards, the IoT-focused MKR and Nano families, a modern IDE built on new foundations, and arduino-cli for automation. Community cores brought the same API to Espressif's ESP32 and Raspberry Pi's RP2040, making the Arduino vocabulary a lingua franca across microcontroller brands that never shipped an official Arduino board.
What it is like to type
Arduino types like tidy C-family firmware: braces and semicolons, SCREAMING_CASE pin constants at the top of every sketch, and the core vocabulary — pinMode, digitalWrite, analogRead, millis — landing over and over until it is muscle memory. Numbers are everywhere (pins, thresholds, delays), Serial.print chains stack up, and unsigned long appears wherever time is kept. The sketch skeleton itself, void setup and void loop, opens every file, which makes the first two lines of any Arduino session feel like coming home.
27 steps across 1 tours, from the basics to complete programs.