The embedded engineer roadmap.
The path from your first line of code to senior firmware skills, phase by phase. Each card is a course, and your progress turns it green automatically.
Programming Foundations
Start here. Learn to think like a programmer: variables, logic, loops, and functions.
The C Language
C is the language of embedded. Master pointers, memory, structs, and bit manipulation.
Computer-Science Toolkit
Round out your programming with the data structures, algorithms, and C++ features that earn their keep on a constrained device.
Data Structures & Algorithms
Big-O, ring buffers, linked lists, hash tables, state machines, search and sort β through the embedded lens of fixed memory and no heap.
C++ for Embedded
Classes, RAII, templates, and zero-overhead abstraction β the C++ subset that's idiomatic on microcontrollers, and what to leave off the chip.
Embedded Hardware
Meet the microcontroller: the memory map, registers, GPIO, interrupts, timers, and analog peripherals.
Peripherals & Real-Time
Talk to other chips over UART, SPI, I2C, and CAN, then run many tasks at once with an RTOS.
Communication Protocols
How chips talk: UART, SPI, I2C, and CAN at the wire and register level β timing diagrams, tradeoffs, and the pull-up/baud/contention bugs that bite every bring-up.
RTOS & Real-Time Concepts
Tasks, scheduling, and context switching; mutexes, semaphores, and queues; priority inversion, deadlocks, and hard-vs-soft real time β with a practical FreeRTOS tour.
Debugging & Connectivity
Pick up the pro tooling to find bugs on real hardware, then get your device onto the network.
Debugging & Toolchain
The compiler/linker/loader toolchain, makefiles and linker scripts, GDB and on-chip debugging (JTAG/SWD), breakpoints, logic analyzers, logging, and reading a datasheet.
Networking & IoT
From the OSI model to TLS: Ethernet, IP, TCP/UDP, sockets, and the IoT protocols (MQTT, CoAP, BLE/WiFi) that connect constrained devices to the internet β securely.
Follow the phases for the recommended order, or jump to any course directly.