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

Embedded track
ESP32

# An ESP32 course, from first light to WiFi and BLE

Pins at 3.3 V, interrupts, a screen and NeoPixels on the ESP32-C3, then WiFi, a web server, MQTT, ESP-NOW and Bluetooth on the ESP32.

Free In your browser 3 courses, 27 lessons, about 21 hours

Start free First light on the C3 See the course

Overview

## How you will learn it

The ESP32 is the board most connected projects use: cheap, fast and with WiFi and Bluetooth built in. It also has its own rules, from 3.3 V pins to a different PWM peripheral, which is why it gets a course of its own.

Embedded on the ESP32-C3 covers the board itself: pins, interrupts, Serial, an OLED and NeoPixels, ending in a memory game and a console. Connected devices then takes it online, one protocol per lesson.

Outcomes

## What you will learn

- Wire inputs and outputs for 3.3 V logic and use interrupts well.
- Drive an I2C OLED and a strip of addressable LEDs.
- Join WiFi, call an API and serve a web page from the board.
- Write MQTT publish code, send data peer to peer with ESP-NOW and make a BLE device a phone can find.

Your route

## The courses and lessons to take

Every lesson opens in the editor right away, signed in or not, and the simulator checks each step.

- Step 1 · 13 lessons · 11 h

### Embedded on the ESP32-C3

The board itself, from first light to a console.

- 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.
- 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.
- 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.
Every lesson in the course
- Step 2 · 7 lessons · 4 h

### Connected devices

WiFi and radio, one protocol per lesson.

- Joining WiFi The connect loop every connected device starts with: WiFi.begin, the states a station walks through, the address DHCP hands out, and what a wrong password and a wrong network name look like.
- A web server The board serves a page: a WiFiServer on port 80 reads the browser’s request a line at a time, switches two LEDs from the path, and prints the page back.
- MQTT with PubSubClient Publish and subscribe through a broker: topics, payloads, QoS and retained messages, the PubSubClient connect loop with its error codes, and the same reading sent over HTTP where the simulator has no broker.
- BLE: a lamp your phone can find Bluetooth Low Energy the way phones see it: a GATT server with the Nordic UART service, a characteristic to write, notifications back, and advertising again after a phone leaves.
Every lesson in the course
- Step 3 · 7 lessons · 6 h

### Build a handheld game console

A build to finish with: a handheld game console on the C3.

Wire a color screen, buttons and sound to an ESP32-C3, one working step at a time, and finish with three games you can play.
Every lesson in the course

Keep going

## Guides and tools on the same subject

Simulator

### ESP32 simulator

Open it

Guide

### ESP32 projects for beginners

Open it

Guide

### ESP32-C3 SuperMini pinout

Open it

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 the whole track

Questions

## Questions people ask

Should I learn Arduino before the ESP32?

It helps but is not required. The ESP32-C3 course starts at first light. If you have never written a sketch, Embedded on the Arduino Uno is the gentler start.

Can a simulator really do WiFi?

Yes. Connected devices runs the WiFi, web server, ESP-NOW and BLE code on a simulated ESP32, so you can see each request and reply. MQTT is the one exception: the simulator has no broker, so that lesson sends the same reading over HTTP.

Which ESP32 does the course use?

The ESP32-C3, a RISC-V chip, for the board course, and the classic ESP32 for Connected devices. The code carries over to other ESP32 boards with small pin changes.
