javascript · intermediate
Embedded Systems Foundations
Learn how microcontrollers really work: bits, GPIO, ADC, PWM, interrupts, serial protocols, and firmware state machines.
A practical introduction to embedded systems programming: the difference between a microcontroller and a computer, binary and bit manipulation, memory constraints, digital and analog I/O, timers and interrupts, serial communication (UART/I2C/SPI), firmware state machines, and power-aware debugging. Every lesson connects the physics of a device to the code that controls it.
Foundations: Bits, Memory, and Digital I/O
What makes an embedded system different, how bits and bytes represent everything, and how to read/write digital pins reliably.
- What Is an Embedded System?Level 1 · Complete beginner · Pass the quick check to continue10m
- Binary, Hex, and Bit ManipulationFinish the lesson and pass the quick check in "What Is an Embedded System?" to unlock this lesson.14m
- Memory and Constrained ResourcesFinish the lesson, Pass the quick check and pass the coding challenge in "Binary, Hex, and Bit Manipulation" to unlock this lesson.11m
- GPIO: Digital I/O and DebouncingFinish the lesson and pass the quick check in "Memory and Constrained Resources" to unlock this lesson.13m
Signals and Actuation
Reading the analog world with an ADC and controlling motors, LEDs, and actuators with PWM, timers, and interrupts.
- Analog Signals and the ADCFinish the lesson, Pass the quick check and pass the coding challenge in "GPIO: Digital I/O and Debouncing" to unlock this lesson.13m
- PWM and ActuatorsFinish the lesson, Pass the quick check and pass the coding challenge in "Analog Signals and the ADC" to unlock this lesson.12m
- Timers, Interrupts, and Real-Time ConstraintsFinish the lesson, Pass the quick check and pass the coding challenge in "PWM and Actuators" to unlock this lesson.13m
Communication, Firmware Design, and Reliability
Talking to other chips over UART/I2C/SPI, structuring firmware as a state machine, and managing power and debugging on real hardware.
- Serial Protocols: UART, I2C, and SPIFinish the lesson and pass the quick check in "Timers, Interrupts, and Real-Time Constraints" to unlock this lesson.14m
- State Machines for Device FirmwareFinish the lesson, Pass the quick check and pass the coding challenge in "Serial Protocols: UART, I2C, and SPI" to unlock this lesson.13m
- Power Management and Debugging HardwareFinish the lesson, Pass the quick check and pass the coding challenge in "State Machines for Device Firmware" to unlock this lesson.14m
- Simulated Firmware Control LoopComplete "Power Management and Debugging Hardware" to unlock this project.~6h