All paths

Embedded on the Arduino Uno

One board, twenty pins and a C++ sketch. From a lamp you switch to a game you can play.

Arduino Uno R3Free16 lessons12 h9 chapters3,480 XPEmbedded engineering · Beginner+100 XP

0 of 16 done

What you will build

6 projects, built step by step

16 lessons in 9 chapters, about 12 hours on a simulated Arduino Uno R3. Free, in your browser, every step checked by the simulator.

Chapter 1 project

Five outputs and a sequence

A pelican crossing on four pins, with a request button and an inverter chip that answers it faster than the sketch can. Where software ends and hardware starts.

Open it in the simulator
Chapter 2 project

Press once for on, once for off

The difference between a level and an edge, a variable that remembers, and the debounce window that makes a mechanical switch usable.

Open it in the simulator
Chapter 3 project

Blinking and listening at the same time

The payoff for non-blocking code: a board that keeps a rhythm and still answers a button in microseconds. Feel the difference by breaking it.

Open it in the simulator
Chapter 4 project

Deciding from a reading

A lamp that fades up when the sensor says dark, and an indicator that does not. What a threshold is, why a ramp looks better than a jump, and where hysteresis comes in.

Open it in the simulator
Chapter 6 project

Taking commands

The monitor is an input too. Read characters without blocking, act on them, and answer everything, including the things you do not understand.

Open it in the simulator
Chapter 9 project

Project: a metronome

A click on a piezo, a lamp on the beat, and two buttons that change the tempo without missing one. Making a note out of a pin.

Open it in the simulator
The map

Chapter by chapter

Each lesson opens when the one before it is done, and each chapter ends in a project.

Chapter 1

Driving things

Make a pin do something, then make several pins do something in order.

  1. Open135 XP

    Blink: the first program

    An Arduino Uno, one pin and a program. Drive an output from code, watch the timing be real, and find out what delay() costs you.

    0 of 5 steps

  2. Locked160 XP

    Two outputs, taking turns

    A second lamp on a second pin. What pinMode actually does, why a pin is not an output until you say so, and what happens to the timing when you change one number.

    0 of 6 steps

  3. ProjectLocked320 XP

    Five outputs and a sequence

    A pelican crossing on four pins, with a request button and an inverter chip that answers it faster than the sketch can. Where software ends and hardware starts.

    0 of 6 steps

4 questions, graded as you go.
Chapter 2

Reading a button

Pull-ups, why pressed reads low, and the difference between a level and an edge.

  1. Locked160 XP

    Reading a pin, and the pull-up

    A button with no resistor of its own, an input that must never float, and why pressed reads low. The single most common wiring in embedded work.

    0 of 6 steps

  2. ProjectLocked320 XP

    Press once for on, once for off

    The difference between a level and an edge, a variable that remembers, and the debounce window that makes a mechanical switch usable.

    0 of 6 steps

5 questions, graded as you go.
Chapter 3

Timing without delay

Ask the time instead of waiting for it, and the board stops being deaf.

  1. Locked160 XP

    Two rates at once, without delay

    The pattern that unlocks everything else: keep when each thing last happened, and ask the time instead of waiting for it.

    0 of 6 steps

  2. ProjectLocked320 XP

    Blinking and listening at the same time

    The payoff for non-blocking code: a board that keeps a rhythm and still answers a button in microseconds. Feel the difference by breaking it.

    0 of 6 steps

4 questions, graded as you go.
Chapter 4

Reading a voltage

The ADC, a divider, and deciding something from a number that drifts.

  1. Locked160 XP

    Reading a voltage

    The ADC turns a voltage into a number from 0 to 1023. Build a divider, read two taps of it, and work out what a count is worth.

    0 of 6 steps

  2. ProjectLocked320 XP

    Deciding from a reading

    A lamp that fades up when the sensor says dark, and an indicator that does not. What a threshold is, why a ramp looks better than a jump, and where hysteresis comes in.

    0 of 6 steps

4 questions, graded as you go.
Chapter 5

PWM and brightness

One pin, any brightness, and the six pins on this board that can do it.

  1. Locked160 XP

    Brightness from a digital pin

    Eight duty cycles on pin 9 next to a pin that can only be on or off. What PWM is, which pins have it, and what it is not good for.

    0 of 6 steps

4 questions, graded as you go.
Chapter 6

Serial in and out

The board talks, and then it listens.

  1. Locked160 XP

    Making the board talk

    Printing is how you find out what a board thinks. What Serial.begin does, what a baud rate really costs, and how to print a number without lying about it.

    0 of 6 steps

  2. ProjectLocked320 XP

    Taking commands

    The monitor is an input too. Read characters without blocking, act on them, and answer everything, including the things you do not understand.

    0 of 6 steps

4 questions, graded as you go.
Chapter 7

Interrupts

A handler that runs the moment a pin changes, and the rules that come with it.

  1. Locked160 XP

    Reading a button, and printing what it says

    A pull-up, a pin that reads low when the button is pressed, and a count printed to the serial monitor. Finish by catching the contacts bouncing.

    0 of 6 steps

3 questions, graded as you go.
Chapter 8

Showing a number

Seven LEDs in the shape of an eight, and how to run out of pins.

  1. Locked145 XP

    Showing a number

    A seven segment display is seven LEDs in a pattern. Drive it from a table, roll a die on it, and find out why one resistor in the common return is a compromise.

    0 of 6 steps

4 questions, graded as you go.
Chapter 9

Two small projects

Put all of it together twice, in something you would show somebody.

  1. Locked160 XP

    Project: a reaction timer

    A lamp at a random moment, a button, and the milliseconds in between. Randomness, measuring time, and catching a cheat.

    0 of 6 steps

  2. ProjectLocked320 XP

    Project: a metronome

    A click on a piezo, a lamp on the beat, and two buttons that change the tempo without missing one. Making a note out of a pin.

    0 of 6 steps

5 questions, graded as you go.
Syllabus

Every lesson in the course

All 16 lessons, in order, each with what it covers. Any of them opens in the editor right away.

Chapter 1

Driving things

  1. Blink: the first programAn Arduino Uno, one pin and a program. Drive an output from code, watch the timing be real, and find out what delay() costs you.
  2. Two outputs, taking turnsA second lamp on a second pin. What pinMode actually does, why a pin is not an output until you say so, and what happens to the timing when you change one number.
  3. Five outputs and a sequenceA pelican crossing on four pins, with a request button and an inverter chip that answers it faster than the sketch can. Where software ends and hardware starts.
Chapter 2

Reading a button

  1. Reading a pin, and the pull-upA button with no resistor of its own, an input that must never float, and why pressed reads low. The single most common wiring in embedded work.
  2. Press once for on, once for offThe difference between a level and an edge, a variable that remembers, and the debounce window that makes a mechanical switch usable.
Chapter 3

Timing without delay

  1. Two rates at once, without delayThe pattern that unlocks everything else: keep when each thing last happened, and ask the time instead of waiting for it.
  2. Blinking and listening at the same timeThe payoff for non-blocking code: a board that keeps a rhythm and still answers a button in microseconds. Feel the difference by breaking it.
Chapter 4

Reading a voltage

  1. Reading a voltageThe ADC turns a voltage into a number from 0 to 1023. Build a divider, read two taps of it, and work out what a count is worth.
  2. Deciding from a readingA lamp that fades up when the sensor says dark, and an indicator that does not. What a threshold is, why a ramp looks better than a jump, and where hysteresis comes in.
Chapter 5

PWM and brightness

  1. Brightness from a digital pinEight duty cycles on pin 9 next to a pin that can only be on or off. What PWM is, which pins have it, and what it is not good for.
Chapter 6

Serial in and out

  1. Making the board talkPrinting is how you find out what a board thinks. What Serial.begin does, what a baud rate really costs, and how to print a number without lying about it.
  2. Taking commandsThe monitor is an input too. Read characters without blocking, act on them, and answer everything, including the things you do not understand.
Chapter 7

Interrupts

  1. Reading a button, and printing what it saysA pull-up, a pin that reads low when the button is pressed, and a count printed to the serial monitor. Finish by catching the contacts bouncing.
Chapter 8

Showing a number

  1. Showing a numberA seven segment display is seven LEDs in a pattern. Drive it from a table, roll a die on it, and find out why one resistor in the common return is a compromise.
Chapter 9

Two small projects

  1. Project: a reaction timerA lamp at a random moment, a button, and the milliseconds in between. Randomness, measuring time, and catching a cheat.
  2. Project: a metronomeA click on a piezo, a lamp on the beat, and two buttons that change the tempo without missing one. Making a note out of a pin.
Keep going

The next course on your track

Embedded on the Arduino Uno is part of the embedded track, a ladder of courses from zero to expert.

Next course

Interactive devices on the Uno

Read people and sensors without blocking, control an output, then finish with two playable builds.

Open the next course
Track

Embedded track

Arduino, ESP32, Raspberry Pi Pico and STM32: pins, timing, buses, motors, WiFi, registers and debugging, every lesson checked on a simulated board.

See every course on the track
Kits

Build it on your bench too

Every lesson runs in the simulator with nothing to buy. When you want the real thing, these kits have the parts.

Have a kit already?

Find your kit

Pick the starter kit you own and run every lesson in its manual with the same parts on the same pins.

See every kit
Questions

About Embedded on the Arduino Uno

Is Embedded on the Arduino Uno free?

Yes. All 16 lessons of Embedded on the Arduino Uno are free and run in your browser, with nothing to install and no parts to buy before you start.

Do I need a real Arduino Uno R3?

No. Every lesson runs on a simulated Arduino Uno R3 with its parts on the canvas, and the simulator checks each step as you go. When you want to build it for real, the same wiring and code work on a real board.

How long does Embedded on the Arduino Uno take?

About 12 hours: 16 lessons in 9 chapters, each one a few short steps. Your progress is kept, so you can stop after any lesson and pick up where you left off.

What will I build?

Each chapter ends in a project that puts it together: Five outputs and a sequence, Press once for on, once for off, Blinking and listening at the same time, Deciding from a reading, Taking commands and Project: a metronome.

Where do I start?

With "Blink: the first program", and each lesson builds on the one before it. New to circuits? Electronics basics is the course that starts from zero.