Source: https://mokxi.com/teachers/plans/embedded-uno
Updated: 2026-11-11

Lesson plan

# Embedded on the Arduino Uno lesson plan

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

9 chapters, 16 lessons, about 12 hours, on the Arduino Uno R3. Every lesson runs in the browser, with nothing to install.

Start a class from this course

The unit

## Objectives and materials

### By the end, students can

- Make a pin do something, then make several pins do something in order.
- Pull-ups, why pressed reads low, and the difference between a level and an edge.
- Ask the time instead of waiting for it, and the board stops being deaf.
- The ADC, a divider, and deciding something from a number that drifts.
- One pin, any brightness, and the six pins on this board that can do it.
- The board talks, and then it listens.
- A handler that runs the moment a pin changes, and the rules that come with it.
- Seven LEDs in the shape of an eight, and how to run out of pins.
- Put all of it together twice, in something you would show somebody.

### Materials for the whole unit

- 74HC04 hex inverter
- Arduino Uno R3
- Buzzer
- Full-size breadboard
- LED x 5
- Piezo speaker
- Pushbutton x 2
- Resistor x 5
- Seven segment display
- Slide switch

Every part is already on the simulator’s bench, so there is nothing to buy or hand out. The counts are the most any one lesson uses, if you build it on real breadboards too.

Chapter 1. About 2 h 10 min

## Driving things

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

Lesson | Time | What students do

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. | 40 min

- The board, the pin and the program
- Press Run
- The LED on the breadboard
- Blink it five times a second
- What delay() costs you

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. | 45 min

- Two pins, two lamps, one ground
- Run it
- The second lamp
- Pin 12 is doing its own work
- Change one number
- Where this runs out

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. | 45 min

- What is on the board
- Run the sequence
- Watch the green lamp
- Press the button and watch what is fast
- And then the sketch catches up
- Count what you would need without the chip

### Materials

- 74HC04 hex inverter
- Arduino Uno R3
- Full-size breadboard
- LED x 5
- Pushbutton
- Resistor x 5

### Check for understanding

Each student finishes "Five outputs and a sequence" on their own, without opening the hints. The simulator checks 6 of its 6 steps as they go.

Then ask each one to explain, in a sentence or two, the last thing it asked of them: "Count what you would need without the chip".

Chapter 2. About 1 h 30 min

## Reading a button

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

Lesson | Time | What students do

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. | 45 min

- Why pressed means low
- Watch the pin go low
- And the lamp follows
- Check the pin rather than the lamp
- Turn it upside down
- The three wirings, and when to use each

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. | 45 min

- A level is not an event
- Run it
- One press, one change
- And the lamp agrees
- And off again
- What the debounce window costs

### Materials

- Arduino Uno R3
- Full-size breadboard
- LED
- Pushbutton
- Resistor

### Check for understanding

Each student finishes "Press once for on, once for off" on their own, without opening the hints. The simulator checks 6 of its 6 steps as they go.

Then ask each one to explain, in a sentence or two, the last thing it asked of them: "What the debounce window costs".

Chapter 3. About 1 h 30 min

## Timing without delay

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

Lesson | Time | What students do

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. | 45 min

- Why delay cannot do this
- Run it and count the red one
- And the green one
- Both lamps, both wired
- Change one rate
- Two details that are not optional

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. | 45 min

- One loop, two jobs
- The blink keeps its rhythm
- And the button still gets through
- The second lamp follows your finger
- Count five
- Break it on purpose

### Materials

- Arduino Uno R3
- Full-size breadboard
- LED x 2
- Pushbutton
- Resistor x 2

### Check for understanding

Each student finishes "Blinking and listening at the same time" on their own, without opening the hints. The simulator checks 6 of its 6 steps as they go.

Then ask each one to explain, in a sentence or two, the last thing it asked of them: "Break it on purpose".

Chapter 4. About 1 h 30 min

## Reading a voltage

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

Lesson | Time | What students do

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. | 45 min

- What an ADC does
- Read the top tap
- And what it is in volts
- Move the tap
- Change the chain and predict the answer
- What you would actually put there

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. | 45 min

- The sensor, and what stands in for it
- Run it, and make it dark
- And the lamp comes up
- Read the log
- Let it go
- The problem a threshold has

### Materials

- Arduino Uno R3
- Full-size breadboard
- LED x 2
- Pushbutton
- Resistor x 4
- Slide switch

### Check for understanding

Each student finishes "Deciding from a reading" on their own, without opening the hints. The simulator checks 6 of its 6 steps as they go.

Then ask each one to explain, in a sentence or two, the last thing it asked of them: "The problem a threshold has".

Chapter 5. About 45 min

## PWM and brightness

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

Lesson | Time | What students do

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. | 45 min

- A pin has two states, so how is there a middle
- Watch the steps
- Full brightness
- The pin with no timer
- Make the sweep fast
- What PWM is not for

### Materials

- Arduino Uno R3
- Full-size breadboard
- LED x 2
- Resistor x 2

### Check for understanding

Each student finishes "Brightness from a digital pin" on their own, without opening the hints. The simulator checks 6 of its 6 steps as they go.

Then ask each one to explain, in a sentence or two, the last thing it asked of them: "What PWM is not for".

Chapter 6. About 1 h 30 min

## Serial in and out

The board talks, and then it listens.

Lesson | Time | What students do

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. | 45 min

- The one debugging tool you always have
- Say hello
- Printing a number
- The uptime, once a second
- Add a line of your own
- What printing costs

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. | 45 min

- Two functions, and neither one waits
- Run it and read the menu
- Send it a command
- And turn it off
- Get it wrong on purpose
- Try the third command, then add one

### Materials

- Arduino Uno R3
- Full-size breadboard
- LED
- Resistor

### Check for understanding

Each student finishes "Taking commands" on their own, without opening the hints. The simulator checks 6 of its 6 steps as they go.

Then ask each one to explain, in a sentence or two, the last thing it asked of them: "Try the third command, then add one".

Chapter 7. About 45 min

## Interrupts

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

Lesson | Time | What students do

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. | 45 min

- A pull-up, and why pressed means low
- Watch the pin go low
- Make the board say so
- Count five presses
- Catch the contacts bouncing
- What you would do about it

### Materials

- Arduino Uno R3
- Full-size breadboard
- LED
- Pushbutton
- Resistor

### Check for understanding

Each student finishes "Reading a button, and printing what it says" on their own, without opening the hints. The simulator checks 6 of its 6 steps as they go.

Then ask each one to explain, in a sentence or two, the last thing it asked of them: "What you would do about it".

Chapter 8. About 45 min

## Showing a number

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

Lesson | Time | What students do

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. | 45 min

- Seven LEDs in the shape of an eight
- Run it
- Roll it
- Watch a segment pin
- One resistor for all of it
- Count the pins, and what to do about it

### Materials

- Arduino Uno R3
- Full-size breadboard
- Pushbutton
- Resistor
- Seven segment display

### Check for understanding

Each student finishes "Showing a number" on their own, without opening the hints. The simulator checks 6 of its 6 steps as they go.

Then ask each one to explain, in a sentence or two, the last thing it asked of them: "Count the pins, and what to do about it".

Chapter 9. About 1 h 30 min

## Two small projects

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

Lesson | Time | What students do

Project: a reaction timer A lamp at a random moment, a button, and the milliseconds in between. Randomness, measuring time, and catching a cheat. | 45 min

- The plan before the wiring
- Run it and read the rules
- Cheat, and get caught
- Wait for the lamp
- Take your time
- Make it yours

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. | 45 min

- A note is a pin toggling
- Run it and listen
- A lamp on every beat
- Speed it up
- And slow it down
- What the click costs, and what to add

### Materials

- Arduino Uno R3
- Buzzer
- Full-size breadboard
- LED
- Piezo speaker
- Pushbutton x 2
- Resistor

### Check for understanding

Each student finishes "Project: a metronome" on their own, without opening the hints. The simulator checks 6 of its 6 steps as they go.

Then ask each one to explain, in a sentence or two, the last thing it asked of them: "What the click costs, and what to add".

Your class

## Teach this unit as a class

Start a class from this course and its 16 lessons are assigned in one go, in order. Students join with a six-character code or printed login cards, and each one’s work comes back to you.

The class tools are free for 30 days for one class of up to 20 students, with no card. The lessons themselves are free either way.

Start a class from this course See the demo class

More units

## Other lesson plans

Electronics basics 20 lessons, about 10 h. Embedded on the ESP32-C3 13 lessons, about 11 h. Embedded on the Raspberry Pi Pico 7 lessons, about 6 h. Build your own fight stick 5 lessons, about 4 h. Embedded on the STM32F411 6 lessons, about 6 h. C++ on a board 13 lessons, about 10 h. Digital logic and memory 4 lessons, about 4 h. Interactive devices on the Uno 9 lessons, about 8 h. From gates to a computer 23 lessons, about 16 h. Build a claw machine 8 lessons, about 6 h. Build a vending machine 6 lessons, about 5 h. Every unit All the courses as ready-made units, on the teachers page.
