An IoT course where you build the connected devices
Join WiFi, call an API, serve a page and publish over MQTT on an ESP32, then ESP-NOW, BLE and the devices people put around the house.
How you will learn it
The Internet of Things is mostly two skills: building a small device that measures or switches something, and getting its data to the right place reliably. This route teaches both with real code on a simulated ESP32.
Connected devices covers the protocols one lesson at a time and ends with what real devices need to survive: reconnecting when WiFi drops and keeping the time with NTP. Home Assistant devices then puts it to work around the house.
What you will learn
- Join WiFi, call a web API and serve a page from the board.
- Write MQTT publish and subscribe code, and send data peer to peer with ESP-NOW.
- Make a BLE device a phone can find and control.
- Build sensors and switches that report to Home Assistant and recover when the network drops.
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 路 7 lessons 路 4 h
Connected devices
The protocols, one per lesson.
- Joining WiFiThe 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 APIHTTPClient against a JSON API: a GET, the status code, the body, a different endpoint, and what a request that cannot reach its server returns.
- MQTT with PubSubClientPublish 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-NOWTwo 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.
- Reconnecting and NTP timeA 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.
- Step 2 路 5 lessons 路 5 h
Home Assistant devices
Devices for the house, each reporting to Home Assistant.
Build the sensors and switches people put around the house on an ESP32-C3, and see how each reading reaches Home Assistant.
Every lesson in the course - Step 3 路 3 lessons 路 3 h
Build a smart home hub
A hub with a web dashboard that runs them.
A web dashboard on an ESP32-C3 that switches relays, reads sensors and runs schedules from a clock.
Every lesson in the course
Guides and tools on the same subject
Connect a board to WiFi and serve a page
Open itESP32 not connecting to WiFi
Open itEmbedded 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 trackQuestions people ask
What do I need to know before an IoT course?
A little Arduino-style C++. If you have never written a sketch, take Embedded on the Arduino Uno or the ESP32-C3 course first.
Which protocols does it cover?
WiFi, HTTP APIs, a web server, MQTT, ESP-NOW and BLE, plus reconnecting and NTP time.
Do I need an MQTT broker or a cloud account?
No. Everything runs in your browser with nothing to set up. The simulator has no MQTT broker of its own, so the MQTT lesson shows the connect loop and its error codes and sends the same reading over HTTP. The code works against a real broker unchanged.