Source: https://mokxi.com/learn/path/embedded-esp32c3
Updated: 2026-11-11

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-1 Free 13 lessons 11 h 7 chapters 3,492 XP Embedded engineering · Intermediate +150 XP

0 of 13 done

Start the course free First light on the C3 Lesson plan for teachers

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.

Open 200 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

Start What is in it

Project Locked 400 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.

Locked 200 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

Project Locked 364 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.

Locked 200 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

Project Locked 400 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.

Locked 200 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.

Locked 200 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.

Locked 182 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

Locked 182 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

Project Locked 400 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.

Locked 200 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

Project Locked 364 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

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

Chapter 2

### Reading the world

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

Chapter 3

### Talking to your computer

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

Chapter 4

### Timing you can hear

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

Chapter 5

### Brightness

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

Chapter 6

### Showing something

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

Chapter 7

### Two things to play

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

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.
