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 simulatorA 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.
0 of 13 done
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.
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 simulatorA 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 simulatorCharacters 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 simulatorSixteen 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 simulatorA 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 simulatorEach lesson opens when the one before it is done, and each chapter ends in a project.
One pin, then six, and what a GPIO matrix is for.
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
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
A pin that reads, and a handler that runs the moment it changes.
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
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
UART0 both ways, and the start of every protocol.
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
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
One unit of time, and everything else in proportion to it.
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
PWM by hand, a filter that averages it, and what the peripheral would have cost.
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
Seven segments, then a screen on two wires, then color on one.
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
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
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
A memory game and a console, both on a breadboard.
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
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
All 13 lessons, in order, each with what it covers. Any of them opens in the editor right away.
Embedded on the ESP32-C3 is part of the embedded track, a ladder of courses from zero to expert.
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 courseArduino, 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 trackEvery lesson runs in the simulator with nothing to buy. When you want the real thing, these kits have the parts.
Pick the starter kit you own and run every lesson in its manual with the same parts on the same pins.
See every kitYes. 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.
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.
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.
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.
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.