21 Ar Arduino

Element 21 of 86 β€” The Periodic Table of Robotics

Arduino

Boards & Brains

The open-source microcontroller board that gave millions of makers a simple, affordable path into electronics and robotics.

Arduino.cc

Few boards have done more for robot builders than the Arduino. If you’ve ever wanted hardware to obey code without needing a degree in electrical engineering, this is where most people start.

What is Arduino?

Arduino is an open-source electronics platform built around a simple microcontroller board and an easy-to-use programming environment. The classic board β€” the Uno β€” runs an ATmega328P chip at 16 MHz with 32 KB of flash memory and 2 KB of RAM. Those numbers sound modest, but they’re enough to control motors, read sensors, flash LEDs, and drive servos.

The real magic is the ecosystem. Thousands of ready-made libraries handle everything from driving stepper motors to communicating over I2C. The IDE (now Arduino IDE 2) keeps things approachable: upload your first sketch in minutes, not hours. The language is a flavour of C/C++, but the learning curve is deliberately gentle β€” setup() and loop() are all you need to get going.

Modern Arduinos go well beyond the original Uno. The Nano ESP32 adds WiFi and Bluetooth. The Uno R4 Minima and WiFi bring a 32-bit ARM core. There’s even the MKR family for IoT work. The family keeps growing, but the core idea stays the same: easy hardware access, approachable code.

The Uno at a glance

The classic Uno layout is worth knowing because almost every shield and tutorial assumes it. Digital pins run along one long edge, analogue inputs and power along the other, with the USB and barrel jack at one end:

        USB    barrel
       β”Œβ”€β”€β”    β”Œβ”€β”€β”
   β”Œβ”€β”€β”€β”΄β”€β”€β”΄β”€β”€β”€β”€β”΄β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
   β”‚   digital pins  D0 ─────────── D13   β”‚  ← ~ = PWM
   β”‚      ~3 ~5 ~6  ~9 ~10 ~11            β”‚    (6 PWM pins)
   β”‚                                      β”‚
   β”‚            β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”              β”‚
   β”‚            β”‚ ATmega328β”‚              β”‚
   β”‚            β”‚  16 MHz  β”‚              β”‚
   β”‚            β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜              β”‚
   β”‚                                      β”‚
   β”‚  power: 5V 3V3 GND VIN               β”‚
   β”‚  analog in:  A0 A1 A2 A3 A4 A5       β”‚  ← A4/A5 = I2C
   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

   14 digital I/O (6 PWM)  Β·  6 analog inputs
   programmed in C/C++ via the Arduino IDE

The two-function structure of an Arduino sketch mirrors this simplicity: setup() runs once when the board powers on, then loop() repeats forever β€” reading those pins and driving them in response.

Why robot builders care

Arduino sits at the sweet spot between β€œtoo simple to be useful” and β€œtoo complex to start.” You get direct hardware control β€” PWM outputs for motor speed, analogue inputs for distance sensors, digital pins for bumpers β€” without an operating system getting in the way. That matters when you need a motor to respond within milliseconds, not whenever Linux gets round to it.

The board is also cheap, widely stocked, and forgiving. Fry a pin? A replacement costs a few pounds. That freedom to experiment β€” and occasionally break things β€” is exactly what early-stage robot building needs.

Get started

The fastest way in is to build something that moves. The SMARS robot is a 3D-printed chassis designed from the ground up for Arduino and is a brilliant first build β€” Kevin’s course Learn how to program SMARS with Arduino walks you through every step from wiring the motors to writing your first drive routine.

If you already know a bit of Python and want to bring that to Arduino hardware, check out Python and Arduino β€” it shows how PyFirmata lets you control Arduino pins directly from a Python script on your computer. And if you’re ready to move on to MicroPython running on the board itself, the Arduino to MicroPython Quick Start Guide gets you there with side-by-side code comparisons so nothing feels like starting over.

Pick a project, wire it up, and hit upload. That’s really all it takes.

Reacts well with

More Boards & Brains

Learn more on KevsRobots

Courses
Projects to build
Articles to read

Share this element

This page is awesome? Show some love!

Did you find this content useful?


If you found this high quality content useful please consider supporting my work, so I can continue to create more content for you.

I give away all my content for free: Weekly video content on YouTube, 3d Printable designs, Programs and Code, Reviews and Project write-ups, but 98% of visitors don't give back, they simply read/watch, download and go. If everyone who reads or watches my content, who likes it, helps fund it just a little, my future would be more secure for years to come. A price of a cup of coffee is all I ask.

There are a couple of ways you can support my work financially:


If you can't afford to provide any financial support, you can also help me grow my influence by doing the following:


Thank you again for your support and helping me grow my hobby into a business I can sustain.
- Kevin McAleer

What are you looking for?
Watch Videos Get Ideas Learn Something Read a Review Read the Blog Search
... Z Z z