Skip to content

Level 1 · Entry Foundations

Goal: get comfortable programming microcontrollers in Python using MicroPython on the ESP32 — the REPL-driven workflow, digital and analog I/O, timers and interrupts, I2C sensors and displays, the onboard filesystem, WiFi and HTTP, and cooperative multitasking with uasyncio — finishing with a complete simulated WiFi sensor logger with its own web dashboard.

You do not need to own any hardware for this level. Every example runs in the free Wokwi online simulator: create a new project and choose the MicroPython on ESP32 template, and you get a browser-based ESP32 with virtual LEDs, buttons, potentiometers, DHT22 sensors, and OLED displays — plus a working REPL and simulated WiFi. Everything also works unchanged on real ESP32 boards (and, with pin-number changes, on the Raspberry Pi Pico).

Prerequisite: basic Python — variables, functions, loops, classes, exceptions. If you're new to Python, do Python Mastery Path — Level 1 first; this level assumes it.

Modules

  1. MicroPython vs. Python
  2. REPL & Workflow
  3. GPIO Basics
  4. PWM & ADC
  5. Timers & Interrupts
  6. I2C & SPI Sensors
  7. Files & Persistence
  8. WiFi & HTTP
  9. uasyncio Basics
  10. Capstone — WiFi Sensor Logger

By the end of this level you'll be able to read buttons and sensors, drive LEDs and displays, log data to flash, connect an ESP32 to WiFi and serve a web page from it, run several activities concurrently with uasyncio, and combine all of it into a working networked device — entirely in the browser if you want.