Source: https://mokxi.com/learn/path/micropython-esp32
Updated: 2026-11-11

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 V1 Free 7 lessons 5 h 4 chapters 2,234 XP Embedded engineering · Intermediate +150 XP

0 of 7 done

Start the course free REPL and blink Lesson plan for teachers

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.

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

Start What is in it

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

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

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

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

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

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

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

Chapter 2

### Sensors and time

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

Chapter 3

### Buses and networks

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

Chapter 4

### Project

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

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.
