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

Buffering readings in a bounded offline queue with a drop policy and flushing it on reconnect

taught

Taught in

Requires

Local knowledge map

Local knowledge map

Ingesting telemetry from a broker into a store with validation… Modelling telemetry as timestamped points with tags and fields,… Sending a command over pub/sub and matching its acknowledgement… Testing connected firmware and back ends under loss, latency… Using MQTT 5 reason codes, message expiry, user properties and… Writing a .NET gateway that translates a local protocol to MQT… Choosing clean or persistent sessions and reasoning about… Deciding between a gateway and direct-to-cloud… Getting wall-clock time onto a device with NTP, timestampin… Recognizing at-least-once delivery and making a receiver… Buffering readings in a bounded offline queue with a drop… Choosing MQTT QoS 0, 1 or 2 by what each guarantees and costs,… Comparing local-only, self-hosted, managed-cloud and… Describing UDP datagrams, their size limits, and what UDP… Publishing telemetry and handling commands from an ESP32 with th… Passing data from an ISR to a task with a single-producer… Scheduling reconnect attempts with exponential backoff,… Naming the ways a device's connection fails (access point,… Telling stack, heap and static storage apart and detecting… Timing with millis() and rollover-safe unsigned subtraction Writing short, safe interrupt handlers with volatile shared…

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.