🔌 Embedded Systems Track¶
From blinking an LED to certifying flight software. The complete embedded engineering curriculum.
🎯 Target Roles¶
- Firmware Engineer
- BSP/Platform Engineer
- RTOS Developer
- Automotive Software Engineer (AUTOSAR)
- Avionics / Safety-Critical Systems
- IoT Engineer
📚 Core Courses¶
Microcontrollers & Bare-Metal Programming¶
| Course | Platform | Institution | Level |
|---|---|---|---|
| Embedded Systems - Shape the World | edX (audit) | UT Austin | Beginner |
| Introduction to Embedded Systems | NPTEL | IIT Kharagpur | Beginner |
| Embedded System Design with ARM | NPTEL | IIT Delhi | Intermediate |
| Making Embedded Systems (YouTube) | YouTube | Elecia White | Beginner |
| Bare-Metal STM32 Programming | YouTube | Low Byte Productions | Beginner |
Real-Time Operating Systems (RTOS)¶
| Course | Platform | Institution | Level |
|---|---|---|---|
| Real-Time Systems | NPTEL | IIT Kharagpur | Intermediate |
| Introduction to RTOS (FreeRTOS) | YouTube | Shawn Hymel (Digi-Key) | Beginner |
| Zephyr RTOS Getting Started | Zephyr Docs | Linux Foundation | Intermediate |
| FreeRTOS Kernel Fundamentals | Free Book | AWS/FreeRTOS | Intermediate |
Embedded Linux¶
| Course | Platform | Institution | Level |
|---|---|---|---|
| Embedded Linux (Bootlin) | Free Slides/Labs | Bootlin | Intermediate |
| Linux Kernel Development (Bootlin) | Free Slides/Labs | Bootlin | Advanced |
| Yocto Project Mega-Manual | Official Docs | Yocto Project | Intermediate |
| Linux Device Drivers | Free Book (LDD3) | O'Reilly/LWN | Advanced |
| Embedded Linux Conference Talks | YouTube | Linux Foundation | All |
Digital Electronics & Hardware¶
| Course | Platform | Institution | Level |
|---|---|---|---|
| Digital Circuits and Systems | NPTEL | IIT Bombay | Beginner |
| VLSI Design | NPTEL | IIT Madras | Advanced |
| FPGA Design (Xilinx) | AMD/Xilinx | AMD University | Intermediate |
Control Systems & Signal Processing¶
| Course | Platform | Institution | Level |
|---|---|---|---|
| Control Engineering | NPTEL | IIT Kharagpur | Intermediate |
| Digital Signal Processing | NPTEL | IIT Madras | Intermediate |
| Signals and Systems | MIT OCW | MIT | Intermediate |
| Control Bootcamp | YouTube | Steve Brunton | Intermediate |
🏭 Industry-Specific¶
Automotive (AUTOSAR, ISO 26262)¶
| Resource | Type | Link |
|---|---|---|
| AUTOSAR Classic Platform | Specification | autosar.org |
| ISO 26262 Overview | Standard | YouTube talks |
| Vector Academy (free webinars) | Webinars | vector.com/academy |
Avionics (DO-178C, ARINC 653)¶
| Resource | Type | Link |
|---|---|---|
| DO-178C Overview | Standard | YouTube talks |
| NASA Flight Software Workshop | Conference | flightsoftware.jhuapl.edu |
| JPL Coding Standards | Guidelines | NASA Power of 10 |
| MISRA C Guidelines | Coding standard | misra.org.uk |
IoT & Connected Devices¶
| Course | Platform | Level |
|---|---|---|
| IoT (Internet of Things) | NPTEL (IIT Kharagpur) | Intermediate |
| AWS IoT Core | YouTube (AWS) | Intermediate |
| ESP-IDF Programming Guide | Espressif Docs | Beginner |
🛠️ Practical Resources¶
| Resource | What It Is | Link |
|---|---|---|
| Interrupt Blog | Firmware best practices | interrupt.memfault.com |
| Embedded Artistry | Embedded C patterns | embeddedartistry.com |
| Bootlin Training | Free slides + labs (Linux, kernel, Yocto) | bootlin.com/training |
| Phil's Lab | PCB design, embedded hardware | youtube.com/@PhilsLab |
| Jacob Sorber | Systems programming tutorials | youtube.com/@JacobSorber |
| Ben Eater | Computer from scratch (hardware) | youtube.com/@BenEater |
📖 Learning Path¶
Beginner: Digital Logic → C Programming → Microcontrollers (Arduino/STM32)
Intermediate: RTOS → Bare-metal drivers → Communication protocols (SPI/I2C/UART)
Advanced: Embedded Linux → Yocto/Buildroot → Kernel drivers → Safety standards
Expert: FPGA → Safety certification (DO-178C/ISO 26262) → System architecture
"In embedded, you don't have an OS to blame. When it crashes, it's your code, your hardware, your problem."