Source: https://mokxi.com/learn/path/iot-devices
Updated: 2026-11-11

All paths

# Connected devices

WiFi, APIs, a web server, MQTT, ESP-NOW and BLE on the ESP32, and a device that keeps going when the network does not.

ESP32 DevKit V1 Free 7 lessons 4 h 4 chapters 1,997 XP Embedded engineering · Advanced +250 XP

0 of 7 done

Start the course free Joining WiFi Lesson plan for teachers

What you will build

## 2 projects, built step by step

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

Chapter 1 project

### 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.
Open it in the simulator

Chapter 2 project

### ESP-NOW

Two ESP32s and no router: a button on one switches an LED on the other over ESP-NOW, the sender hears the acknowledgment, and a wrong MAC address shows what no answer 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

## On the network

Join WiFi, call an API, and serve a page of your own.

Open 265 XP

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

0 of 6 steps

Start What is in it

Locked 250 XP

### Calling an API

HTTPClient against a JSON API: a GET, the status code, the body, a different endpoint, and what a request that cannot reach its server returns.

0 of 5 steps

Project Locked 408 XP

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

0 of 5 steps

Chapter 2

## Messages

MQTT through a broker, and ESP-NOW with no router at all.

Locked 204 XP

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

0 of 5 steps

Project Locked 454 XP

### ESP-NOW

Two ESP32s and no router: a button on one switches an LED on the other over ESP-NOW, the sender hears the acknowledgment, and a wrong MAC address shows what no answer looks like.

0 of 5 steps

Chapter 3

## Talk to a phone

A Bluetooth LE server a phone can find, write and listen to.

Locked 166 XP

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

0 of 4 steps

Chapter 4

## Stay connected

The time from the network, and a device that rejoins on its own.

Locked 250 XP

### Reconnecting and NTP time

A clock that gets the time from NTP, keeps counting on its own, shows your time zone, and notices when WiFi drops and joins again without a reset.

0 of 5 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

### On the network

- 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.
- Calling an API HTTPClient against a JSON API: a GET, the status code, the body, a different endpoint, and what a request that cannot reach its server returns.
- 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.

Chapter 2

### Messages

- 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.
- ESP-NOW Two ESP32s and no router: a button on one switches an LED on the other over ESP-NOW, the sender hears the acknowledgment, and a wrong MAC address shows what no answer looks like.

Chapter 3

### Talk to a phone

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

Chapter 4

### Stay connected

- Reconnecting and NTP time A clock that gets the time from NTP, keeps counting on its own, shows your time zone, and notices when WiFi drops and joins again without a reset.

Keep going

## The next course on your track

Connected devices is part of the embedded track, a ladder of courses from zero to expert.

Next course

### Embedded on the STM32F411

A Cortex-M4 at 84 MHz, where a pin is a port and a number and every peripheral starts with its clock switched off.
Open the next course

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 every course on the track

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 Connected devices

Is Connected devices free?

Yes. All 7 lessons of Connected devices 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 Connected devices take?

About 4 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: A web server and ESP-NOW.

Where do I start?

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