Learn Arduino by actually building things.
A four-level Arduino programme built around practical hardware. Level 1 keeps the code deliberately simple and direct; Levels 2 and 3 add richer modules, libraries and project structure; Level S is where the advanced programming techniques live.
How the programme works
Do the lessons in order. Each grouped page contains short, separately numbered practical lessons. Work through them in order and reuse the circuit wherever the next step builds on it. The aim is to understand what each line of code does because you can see its effect on the hardware.
- Build the circuit.
- Upload the supplied sketch.
- Predict what will happen before changing the code.
- Check the result, then mark the practical lesson complete.
Basic kit
Arduino UNO or compatible board, USB cable, solderless breadboard, jumper wires, at least 6 LEDs, 220–330 Ω resistors, tactile pushbuttons, a 10 kΩ thermistor, LDR, 10 kΩ fixed resistors and a 10 kΩ potentiometer.
Find Arduino UNO starter kits on Amazon →
Paid link. As an Amazon Associate I earn from qualifying purchases.
Four levels. Start simple, earn the complexity.
This course deliberately avoids clever code too early. Level 1 is direct, visible and mostly bit-bashed: wire the hardware, switch pins, read values and understand what is happening. More abstract programming belongs much later.
Level 1 — Fundamentals
The breadboard comes first because every circuit depends on recognising connected rows, rails and the centre gap. From there we build outward using the simplest possible code before introducing abstraction.
LED Blink and Two-LED Patterns
Blink one LED, alternate two outputs and create speed and flash patterns.
Open lessons 1–2 →Six-LED Sequence and Traffic Lights
Build a six-LED chase, then arrange the six LEDs as two traffic lights.
Open lessons 3–4 →Digital Inputs, Floating Pins and Tactile Switch
Read a digital pin, see floating behaviour, use pull resistors, test a tactile switch and count presses.
Open lessons 5–8 →Button-Controlled LED and Latching Switch
Use a button for momentary LED control, then toggle a latching on/off state.
Open lessons 9–10 →Potentiometer, LED Fade and map()
Read a potentiometer, fade an LED without map(), then use map() and compare readings.
Open lessons 11–13 →Six-LED Level Meter with a Potentiometer
Map a knob reading to levels 0–7 on a six-LED chain.
Open lessons 14 →Bare LDR and Thermistor Circuits
Build bare LDR and NTC thermistor dividers, switch an LED and make a rough two-point temperature estimate.
Open lessons 15–17 →Level 1 ends with two complete design scenarios
After the building-block lessons, the learner stops following isolated examples and solves two complete briefs from start to finish. We use the same engineering workflow every time so the process becomes familiar before the projects become more complicated.
Brief → requirements → inputs & outputs → system block diagram → circuit diagram → breadboard build → pseudocode → Arduino code → test plan → evaluation.
Automatic Night Light
Combine an LDR divider, adjustable potentiometer threshold and PWM LED. Work from the customer brief through circuit design, pseudocode, code and testing.
Open design project →Temperature Warning System
Combine a thermistor divider with green, amber and red status LEDs. Calibrate raw readings, choose limits and prove the design with a formal test plan.
Open design project →What each level means
Level 1: the practical foundation. Breadboards, direct digital I/O, basic analogue sensors, LDRs, thermistors, potentiometers, buzzers, simple distance and motion sensors, seven-segment and dot-matrix displays, basic LCDs and other modules that can be understood with straightforward wiring and simple code.
Level 2: modules that start to rely on libraries or several functions working together. This is where we introduce richer sensors, I2C/SPI devices, more capable displays and projects that combine several modules without yet turning the code into a software-engineering exercise.
Level 3: larger and more integrated builds: RFID/card readers, colour screens, storage, communications and non-blocking timing such as Blink Without Delay. The learner starts coordinating several tasks at once.
Level S: the advanced tier. Arrays, loops, state machines, interrupts, protocol work, memory awareness, optimisation and reusable program structures live here. These are powerful tools, but they make more sense after the learner already understands what the hardware is doing underneath.
Video lessons will sit directly beside the written lesson
Each lesson page already contains a 16:9 video placeholder for your YouTube demonstration. Record the physical build, upload it to YouTube, and we can replace the placeholder with the final embed without changing the lesson structure.
Your progress
Each numbered practical lesson has a “Mark complete” button. Progress is stored only in this browser.
Not sure where to start?
Use one of these beginner roadmaps to enter the course from the problem you are trying to solve.
Arduino projects for beginners — in order →
What to learn after Arduino Blink →
Arduino starter kit projects — what to build first →