Skip to content
Free public beta until December 4, 2026: every course is open, no card needed. After that, the first chapter of each course stays free and full access is a one-time $39 ($19 for up to 100 founding members chosen for helpful feedback). Your progress is kept. How the beta works

iot

Explaining how a device gets an address with DHCP and finds a host by name with DNS

taught

Taught in

Requires

Local knowledge map

Local knowledge map

Calling a REST API from an ESP32 with JSON bodies, and… Capturing your own device's traffic and reading its layers an… Describing UDP datagrams, their size limits, and what UDP… Getting Wi-Fi credentials onto a device without… Joining Wi-Fi and getting an address from Rust with… Listing what can go wrong during an over-the-air update… Reasoning about Wi-Fi range, interference, coexistence and… Scheduling reconnect attempts with exponential backoff,… Serving a local status page and a small JSON endpoint from an ESP3… Stating what each part of a system does when any one of its links… Tracing a TCP connection's handshake, byte strea… Watching device health through heartbeats, metrics, logs and… Addressing a program with a port and a socket, and reading… Finding devices on a local network by name with mDNS and DNS-SD Joining a Wi-Fi network from an ESP32 in station mode,… Naming the ways a device's connection fails (access point,… Explaining how a device gets an address with DHCP and finds a… Designing a finite state machine with states, events and… Explaining Wi-Fi bands, channels, SSIDs, CSMA/CA and… Explaining default gateways, private addresses and NAT, an… Splitting an IPv4 address into network and host parts with a…

Click to expand

Solid arrows are required prerequisites; dashed are recommended or helpful. Lower rows are more foundational. Click any box to jump to that concept.