All paths

MicroPython on the ESP32

Python on an ESP32 DevKit: the REPL and blink, pins and PWM, the ADC, timers and interrupts, I2C sensors, WiFi in five lines, and a lamp you switch from a web page.

ESP32 DevKit V1Free7 lessons5 h4 chapters2,234 XPEmbedded engineering · Intermediate+150 XP

0 of 7 done

What you will build

3 projects, built step by step

7 lessons in 4 chapters, about 5 hours on a simulated ESP32 DevKit V1. Free, in your browser, every step checked by the simulator.

Chapter 1 project

Pins and PWM

Read a button with the pin’s own pull-up, catch the moment it is pressed, and set an LED to any brightness with PWM.

Open it in the simulator
Chapter 2 project

Timers and interrupts

A hardware timer blinks an LED on its own, an interrupt counts button presses the instant they happen, and you meet contact bounce and beat it.

Open it in the simulator
Chapter 3 project

WiFi in five lines

Join a network, get an address, read the signal, fetch JSON from a server, post your own, and see what a wrong password looks like.

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 Python on the ESP32

Blink and the REPL, then buttons and PWM brightness.

  1. Open236 XP

    REPL and blink

    Blink an LED from main.py, then type Python straight into the ESP32: math, a pin by hand, and a question for the chip itself.

    0 of 6 steps

  2. ProjectLocked436 XP

    Pins and PWM

    Read a button with the pin’s own pull-up, catch the moment it is pressed, and set an LED to any brightness with PWM.

    0 of 6 steps

Chapter 2

Sensors and time

Read a knob with the ADC, and let timers and interrupts do the waiting.

  1. Locked218 XP

    The ADC: volts in, numbers out

    A knob makes a voltage, the ADC turns it into a number, and that number drives an LED. Then the trap every ESP32 beginner falls in: attenuation.

    0 of 6 steps

  2. ProjectLocked436 XP

    Timers and interrupts

    A hardware timer blinks an LED on its own, an interrupt counts button presses the instant they happen, and you meet contact bounce and beat it.

    0 of 6 steps

Chapter 3

Buses and networks

Two chips on I2C, then WiFi, JSON and HTTP.

  1. Locked236 XP

    I2C sensors

    Two chips share two wires: scan the bus, read a register by hand, turn a BME280’s raw numbers into weather, and draw it on an OLED.

    0 of 6 steps

  2. ProjectLocked472 XP

    WiFi in five lines

    Join a network, get an address, read the signal, fetch JSON from a server, post your own, and see what a wrong password looks like.

    0 of 6 steps

Chapter 4

Project

A web lamp with a button, a socket server and a self-test.

  1. Locked200 XP

    Project: a web lamp

    Everything at once: a socket server on port 80, a page that switches a lamp, a button that does too, and a self-test that proves the logic before the server starts.

    0 of 6 steps

Syllabus

Every lesson in the course

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

Chapter 1

First Python on the ESP32

  1. REPL and blinkBlink an LED from main.py, then type Python straight into the ESP32: math, a pin by hand, and a question for the chip itself.
  2. Pins and PWMRead a button with the pin’s own pull-up, catch the moment it is pressed, and set an LED to any brightness with PWM.
Chapter 2

Sensors and time

  1. The ADC: volts in, numbers outA knob makes a voltage, the ADC turns it into a number, and that number drives an LED. Then the trap every ESP32 beginner falls in: attenuation.
  2. Timers and interruptsA hardware timer blinks an LED on its own, an interrupt counts button presses the instant they happen, and you meet contact bounce and beat it.
Chapter 3

Buses and networks

  1. I2C sensorsTwo chips share two wires: scan the bus, read a register by hand, turn a BME280’s raw numbers into weather, and draw it on an OLED.
  2. WiFi in five linesJoin a network, get an address, read the signal, fetch JSON from a server, post your own, and see what a wrong password looks like.
Chapter 4

Project

  1. Project: a web lampEverything at once: a socket server on port 80, a page that switches a lamp, a button that does too, and a self-test that proves the logic before the server starts.
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 MicroPython on the ESP32

Is MicroPython on the ESP32 free?

Yes. All 7 lessons of MicroPython on the ESP32 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 DevKit V1?

No. Every lesson runs on a simulated ESP32 DevKit V1 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 MicroPython on the ESP32 take?

About 5 hours: 7 lessons in 4 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: Pins and PWM, Timers and interrupts and WiFi in five lines.

Where do I start?

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