← Academy

Self-study syllabus · free & open courses only · links checked 23 Aug 2026

From blinking an LED to a fleet in the field.

IoT is the route where the computer stops being an abstraction. Code meets voltage, radio budgets and weather, and a bug can mean driving somewhere with a screwdriver. That physicality is exactly why it is satisfying to learn and unforgiving to learn badly. MIT publishes its circuits course, the chip vendors publish production SDKs, and the best writing on shipping reliable firmware is a free blog. What is missing is the order: electronics before microcontrollers, bare metal before an RTOS, and security before deployment rather than after an incident. Eight milestones, each ending in hardware that works.

Total effort
~800 hoursestimates; your mileage will vary
Pace
~15 monthsat 12 h/week · ~9 months at 20 h/week
Course fees
₹0every course is free; hardware is not
Kit
~₹6,000ESP32 boards, sensors, breadboard, multimeter; a logic analyser from v0.3

The road, to scale

Each block is sized to its weeks. Click a block to jump to that milestone.

0 of 0 finish-line checks ticked

Ground rules that make this work

Hardware punishes habits that software forgives. These rules exist because of that.

v0.1

Toolbelt

weeks 1–2 · ~20 h

A working toolchain, a board on your desk, and version control. Embedded work stalls on environment problems more than any other field — solve that once, now.

CourseTimeWhy it's here
Arduino documentationArduino ~8 h Install the toolchain, flash a board, read a pin. Start here even if you will not stay here.
PlatformIOPlatformIO ~6 h A real build system for embedded work — dependency management, multiple boards, and CI that actually works.
Learn Git Branchinginteractive ~6 h Firmware is versioned like software, and knowing exactly which commit is on a device matters more here than anywhere.
Build
chore: initialize device-log

A public repository called device-log with a PlatformIO project that builds and flashes a blink sketch. One commit per study session, and a photo of each build in the README.

Done when
v0.2

Electronics foundations

weeks 3–12 · ~110 h

Enough electronics to stop destroying components and start debugging circuits. This is the part software people skip and then plateau against.

CourseTimeWhy it's here
MIT 6.002 — Circuits and ElectronicsMIT OCW ~50 h Voltage, current, impedance, RC behaviour, amplifiers. Rigorous, and the reason you will understand why a circuit misbehaves rather than swapping parts at random.
SparkFun tutorialsSparkFun ~30 h Practical, well-illustrated fundamentals — soldering, multimeters, logic levels, power. Do these with parts in hand.
Adafruit LearnAdafruit ~30 h Thousands of free project guides. Use it for sensors and breakout boards — the wiring and driver notes are reliable.
Build
feat: a circuit you understand

Build a sensor circuit on breadboard from a datasheet rather than a tutorial — correct pull-ups, decoupling capacitors, and level shifting where needed. Document the reasoning for each component.

Done when
v0.3

Microcontrollers and C

weeks 13–22 · ~110 h

The language and the metal. Embedded C is a different discipline from application programming: no allocator you did not write, no exceptions, and hardware that lies.

CourseTimeWhy it's here
CS50x — Introduction to Computer ScienceHarvard ~50 h Take it for the C and memory weeks specifically. Pointers and manual memory are the daily reality here.
ESP-IDF programming guideEspressif ~35 h A production-grade SDK for the ESP32 — GPIO, timers, interrupts, peripherals, and a real build system.
Arduino documentation — language referenceArduino ~15 h Useful as a bridge, but move off the Arduino abstractions during this milestone, not after it.
Adafruit LearnAdafruit ~10 h Driver code for specific sensors when you need a known-good reference implementation.
Build
feat: registers, not wrappers

Rewrite one Arduino sketch using direct register access and hardware interrupts — no digitalWrite, no delay. Measure and document the difference in timing accuracy.

Done when
v0.4

How the machine works

weeks 23–30 · ~90 h

Below the SDK. Memory maps, the boot sequence, and what actually happens between power-on and your first line of code.

CourseTimeWhy it's here
nand2tetrisfree course ~50 h Build a computer from NAND gates upward — logic, ALU, memory, machine language, assembler. The clearest possible cure for treating hardware as magic.
ESP-IDF — system and memoryEspressif ~25 h Boot flow, partition tables, heap and stack layout, flash memory. Read the memory and startup sections carefully.
Interrupt — Memfault blogMemfault ~15 h Deep, practical articles on linker scripts, fault handlers and memory layout. Written by people who ship firmware.
Build
feat: read your own map file

Analyse your firmware's memory usage from the map file — where every section lives, what your stack high-water mark is — then deliberately cause and diagnose a stack overflow.

Done when
v0.5

Real-time and RTOS

weeks 31–38 · ~90 h

Once a device does more than one thing, timing becomes the hard problem. An RTOS is how the field manages it — and how it introduces a new class of bug.

CourseTimeWhy it's here
FreeRTOS documentationFreeRTOS ~40 h Tasks, scheduling, queues, semaphores, mutexes and priority inversion. The most widely deployed RTOS in the world.
Zephyr Project documentationZephyr ~30 h A modern, Linux-Foundation RTOS with device trees and a proper driver model. Increasingly the professional default.
Interrupt — Memfault blogMemfault ~20 h Articles on RTOS debugging, watchdogs and tracing — the things the official docs assume you already know.
Build
feat: several things at once, correctly

Rebuild your sensor device as a multi-task RTOS application: separate tasks for sampling, processing and communication, with queues between them and a watchdog that recovers from a hung task.

Done when
v0.6

Connectivity

weeks 39–48 · ~110 h

The I in IoT. Radio budgets, protocol choice and unreliable links — devices in the field lose connectivity, and firmware that assumes otherwise fails in the field.

CourseTimeWhy it's here
MQTT EssentialsHiveMQ ~25 h The protocol most IoT fleets speak. Topics, QoS levels, retained messages, last will. Short, clear, free.
ESP-IDF — Wi-Fi and networkingEspressif ~35 h Wi-Fi provisioning, TCP/IP on device, TLS, and the power cost of keeping a radio awake.
The Things Network documentationTTN ~30 h LoRaWAN end to end — the answer when devices are battery-powered, remote and low-bandwidth.
Beej's Guide to Network Programmingfree book ~20 h Sockets from first principles. Read it when the networking stack stops being an abstraction.
MQTT specification and resourcesOASIS ref The protocol itself, when the tutorials disagree.
Build
feat: a device that survives a bad network

Get your device publishing telemetry over MQTT with TLS, buffering readings while offline, backing off on reconnect, and never losing a sample to a dropped connection.

Done when
v0.7

Fleet, cloud and security

weeks 49–58 · ~110 h

One device is a project; a thousand is a product. Provisioning, updates and security are what separate the two — and insecure IoT is a genuine public hazard.

CourseTimeWhy it's here
ESP-IDF — OTA and securityEspressif ~40 h Over-the-air updates, secure boot, flash encryption, rollback. Read this before you deploy anything you cannot physically reach.
MQTT Essentials — security and scaleHiveMQ ~20 h Authentication, authorisation, and what a broker does under fleet-scale load.
The Things Network documentationTTN ~25 h Device provisioning, session keys and fleet management for LoRaWAN deployments.
TinyMLcommunity ~25 h Running inference on-device — increasingly how IoT products avoid shipping raw data to a server at all.
Build
feat: updatable in the field

Ship signed OTA updates to your device with rollback on failure, per-device credentials, secure boot enabled, and a dashboard showing fleet health across at least three devices.

Done when
v0.9

Debugging and reliability

weeks 31–66 · alongside · ~60 h

Runs in parallel from v0.5. Embedded bugs are timing-dependent, hardware-adjacent and often unreproducible on a desk — so the debugging skill set is its own discipline.

CourseTimeWhy it's here
Interrupt — Memfault blogMemfault ~30 h Coredumps, fault handlers, watchdogs, logging and firmware observability. The best free writing on shipping reliable firmware anywhere.
Embedded.fmpodcast & blog ~15 h Long-running conversations with working embedded engineers. Good for judgement and vocabulary rather than syntax.
SparkFun tutorials — test equipmentSparkFun ~15 h Getting real value from a logic analyser, oscilloscope and bench supply.
Build
chore: observability on a device with no screen

Give your firmware a real diagnostic story: structured logging over serial, a coredump captured on fault and retrieved later, and an uptime and reset-reason counter reported with every telemetry message.

Done when
v1.0

Capstone

weeks 59–66 · ~100 h

One device, built properly, deployed somewhere real, and left running. Embedded portfolios are judged on whether the thing survives contact with the physical world.

CourseTimeWhy it's here
ESP-IDF programming guideEspressif Reference while you build. No new courses at this stage.
Adafruit LearnAdafruit ref Enclosure, power and sensor-specific guidance as practical problems come up.
Interrupt — Memfault blogMemfault ref Revisit the reliability articles before you leave a device unattended for a month.
Build
release: v1.0

A complete IoT product: custom firmware, sensors chosen from datasheets, a real enclosure, battery operation with a measured life, OTA updates, and a dashboard — deployed somewhere real and left running for thirty days.

Done when

Reference shelf

Not part of the sequence. Reach for these when a specific need appears.

ResourceUseWhat it is
InterruptMemfault ref The single best free resource on shipping firmware that survives production. Read it continuously.
Adafruit Learnfree guides ref Thousands of sensor and breakout guides with reliable wiring diagrams and driver code.
Zephyrdocs ref Where professional embedded work is heading. Worth knowing even if you build on FreeRTOS.
Raspberry Pi documentationRPi ref For gateway-class devices where a full Linux system is the right answer instead of a microcontroller.
IoT specializationUC Irvine · audit free ref A structured university alternative if you prefer video lectures to documentation.