12 topic areas. 48 modules. All focused on giving you deep, durable understanding of embedded systems.
Beginner
4 modules
🛠
Toolchain & Build System
GCC, Make, CMake, linker scripts. Build reproducible embedded firmware from scratch without relying on IDEs.
Compiler flags & optimization levels
Linker scripts & memory layout
Makefile patterns for firmware
Cross-compilation setup
Beginner
5 modules
⚡
Microcontroller Architecture
ARM Cortex-M internals: clock trees, NVIC, MPU, SysTick, and understanding the reset sequence.
ARM Cortex-M core overview
Clock configuration & PLL
Interrupt controller (NVIC)
Memory-mapped peripheral access
Intermediate
6 modules
🔧
Bare-Metal Firmware
Write startup code, handle exceptions, configure peripherals and implement drivers without any framework.
Startup code & vector table
GPIO & timer drivers from scratch
Interrupt-driven architecture
Low-level HAL design patterns
Intermediate
5 modules
📡
Serial Protocols
UART, SPI, I2C — physical layer, timing, driver implementation, and oscilloscope debugging techniques.
UART framing & baud rate math
SPI modes & chip select strategies
I2C addressing & ACK/NACK
DMA-based transfers
Advanced
8 modules
⏱
RTOS Internals
FreeRTOS source deep dive: scheduler, context switch assembly, heap allocators, and synchronization primitives.
Context switch & PendSV handler
Scheduler algorithms
Semaphores & mutexes internals
Stack overflow detection
Advanced
4 modules
🧠
Memory Management
Stack usage analysis, custom heap allocators, MPU configuration, and DMA transfer coherency.
Stack frame anatomy
Heap allocator implementations
MPU region configuration
Cache & DMA coherency
Advanced
4 modules
🚗
CAN Bus
CAN physical layer, frame structure, arbitration, error handling, and SocketCAN on Linux-based boards.
CAN frame anatomy & arbitration
Bit timing & synchronization
Error frames & bus-off recovery
CANopen basics
Intermediate
4 modules
🐛
Debugging Techniques
GDB over JTAG/SWD, semi-hosting, ITM trace, fault handler analysis, and systematic debugging workflows.
GDB & OpenOCD setup
Hard fault analysis
ITM trace & SWO output
Logic analyzer workflows