All paths

Embedded on the ESP32-C3

A 32 bit RISC-V board at 160 MHz. Its own peripherals, its own 3.3 V rules, and a console at the end of it.

ESP32-C3-DevKitM-1Free13 lessons11 h7 chapters3,492 XPEmbedded engineering · Intermediate+150 XP

0 of 13 done

What you will build

5 projects, built step by step

13 lessons in 7 chapters, about 11 hours on a simulated ESP32-C3-DevKitM-1. Free, in your browser, every step checked by the simulator.

Chapter 1 project

Six pins and a moving dot

An array of pin numbers, a loop that walks it, and a sweep that bounces. The first sketch where the code shape matters more than the wiring.

Open it in the simulator
Chapter 2 project

Interrupts, and what they cost

A handler that runs the moment a pin falls, a counter shared with the main loop, and the bounce that makes one press count as four.

Open it in the simulator
Chapter 3 project

The board listens

Characters arriving into a FIFO, read without blocking, and echoed back with their hex. The first half of every protocol you will ever write.

Open it in the simulator
Chapter 6 project

Color on one wire

Sixteen addressable LEDs on a single pin, and a protocol where the length of a pulse is the bit. The timing is the whole problem.

Open it in the simulator
Chapter 7 project

Project: a console

A color TFT, two buttons and a piezo, running a game at forty frames a second. What a frame budget is and where it all goes.

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

First light

One pin, then six, and what a GPIO matrix is for.

  1. Open200 XP

    First light on the C3

    One pin, one lamp, one program on a RISC-V board. Why 3.3 V changes the resistor you pick, and what the board does while it waits.

    0 of 6 steps

  2. ProjectLocked400 XP

    Six pins and a moving dot

    An array of pin numbers, a loop that walks it, and a sweep that bounces. The first sketch where the code shape matters more than the wiring.

    0 of 6 steps

Chapter 2

Reading the world

A pin that reads, and a handler that runs the moment it changes.

  1. Locked200 XP

    Reading a pin at 3.3 V

    A button on GPIO 9 with the pad pull-up on. Why pressed reads low, what 45 k means, and what a floating input really does.

    0 of 6 steps

  2. ProjectLocked364 XP

    Interrupts, and what they cost

    A handler that runs the moment a pin falls, a counter shared with the main loop, and the bounce that makes one press count as four.

    0 of 6 steps

Chapter 3

Talking to your computer

UART0 both ways, and the start of every protocol.

  1. Locked200 XP

    The board talks

    UART0, the monitor, and the uptime. What a baud rate costs in time, and why printing a float works on a chip that cannot do arithmetic with one.

    0 of 6 steps

  2. ProjectLocked400 XP

    The board listens

    Characters arriving into a FIFO, read without blocking, and echoed back with their hex. The first half of every protocol you will ever write.

    0 of 6 steps

Chapter 4

Timing you can hear

One unit of time, and everything else in proportion to it.

  1. Locked200 XP

    Timing you can hear

    Morse is timing and nothing else. One unit of time, five rules, a lamp and a piezo, and a button that moves to the next message.

    0 of 6 steps

Chapter 5

Brightness

PWM by hand, a filter that averages it, and what the peripheral would have cost.

  1. Locked200 XP

    Brightness without a PWM peripheral

    The C3 has an LED PWM peripheral and Mokxi does not model it, so this sketch does it in software. Two lamps, one through a filter, and the cost of doing it by hand.

    0 of 6 steps

Chapter 6

Showing something

Seven segments, then a screen on two wires, then color on one.

  1. Locked182 XP

    Showing a number

    Seven LEDs in the shape of an eight, a table of digits, and a die that tumbles. Where a pin budget starts to hurt.

    0 of 6 steps

  2. Locked182 XP

    A screen on two wires

    A 128x64 OLED over I2C, bit-banged on two pins. Addresses, acknowledgments, a frame buffer in RAM, and what a redraw costs.

    0 of 6 steps

  3. ProjectLocked400 XP

    Color on one wire

    Sixteen addressable LEDs on a single pin, and a protocol where the length of a pulse is the bit. The timing is the whole problem.

    0 of 6 steps

Chapter 7

Two things to play

A memory game and a console, both on a breadboard.

  1. Locked200 XP

    Project: a memory game

    Four lamps, four buttons and a sequence that grows. State, arrays and input handling in one thing you can actually play.

    0 of 6 steps

  2. ProjectLocked364 XP

    Project: a console

    A color TFT, two buttons and a piezo, running a game at forty frames a second. What a frame budget is and where it all goes.

    0 of 6 steps

Syllabus

Every lesson in the course

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

Chapter 1

First light

  1. First light on the C3One pin, one lamp, one program on a RISC-V board. Why 3.3 V changes the resistor you pick, and what the board does while it waits.
  2. Six pins and a moving dotAn array of pin numbers, a loop that walks it, and a sweep that bounces. The first sketch where the code shape matters more than the wiring.
Chapter 2

Reading the world

  1. Reading a pin at 3.3 VA button on GPIO 9 with the pad pull-up on. Why pressed reads low, what 45 k means, and what a floating input really does.
  2. Interrupts, and what they costA handler that runs the moment a pin falls, a counter shared with the main loop, and the bounce that makes one press count as four.
Chapter 3

Talking to your computer

  1. The board talksUART0, the monitor, and the uptime. What a baud rate costs in time, and why printing a float works on a chip that cannot do arithmetic with one.
  2. The board listensCharacters arriving into a FIFO, read without blocking, and echoed back with their hex. The first half of every protocol you will ever write.
Chapter 4

Timing you can hear

  1. Timing you can hearMorse is timing and nothing else. One unit of time, five rules, a lamp and a piezo, and a button that moves to the next message.
Chapter 5

Brightness

  1. Brightness without a PWM peripheralThe C3 has an LED PWM peripheral and Mokxi does not model it, so this sketch does it in software. Two lamps, one through a filter, and the cost of doing it by hand.
Chapter 6

Showing something

  1. Showing a numberSeven LEDs in the shape of an eight, a table of digits, and a die that tumbles. Where a pin budget starts to hurt.
  2. A screen on two wiresA 128x64 OLED over I2C, bit-banged on two pins. Addresses, acknowledgments, a frame buffer in RAM, and what a redraw costs.
  3. Color on one wireSixteen addressable LEDs on a single pin, and a protocol where the length of a pulse is the bit. The timing is the whole problem.
Chapter 7

Two things to play

  1. Project: a memory gameFour lamps, four buttons and a sequence that grows. State, arrays and input handling in one thing you can actually play.
  2. Project: a consoleA color TFT, two buttons and a piezo, running a game at forty frames a second. What a frame budget is and where it all goes.
Keep going

The next course on your track

Embedded on the ESP32-C3 is part of the embedded track, a ladder of courses from zero to expert.

Next course

Embedded on the Raspberry Pi Pico

A dual core Cortex-M0+ at 125 MHz. PWM on every pin, a 64 bit clock, and pins that do not forgive 5 V.

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 ESP32-C3

Is Embedded on the ESP32-C3 free?

Yes. All 13 lessons of Embedded on the ESP32-C3 are free and run in your browser, with nothing to install and no parts to buy before you start.

Do I need a real ESP32-C3-DevKitM-1?

No. Every lesson runs on a simulated ESP32-C3-DevKitM-1 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 ESP32-C3 take?

About 11 hours: 13 lessons in 7 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: Six pins and a moving dot, Interrupts, and what they cost, The board listens, Color on one wire and Project: a console.

Where do I start?

With "First light on the C3", and each lesson builds on the one before it. New to circuits? Electronics basics is the course that starts from zero.