Embedded System
Program microcontrollers that run real hardware.
- Self-paced
- 8–10 weeks
- 25+ hrs
- Credential included
Curriculum
6 subjects · 14 chapters · 56 topics
- 01
Embedded Fundamentals
1.1 What embedded means
- Microprocessor versus microcontroller
- Harvard and von Neumann architectures
- Memory types: flash, SRAM, EEPROM
- Real-time constraints
1.2 Electronics refresher
- Voltage, current and Ohm's law
- Reading a schematic
- Using a multimeter and oscilloscope
- Power supply and decoupling
1.3 The toolchain
- Cross compilers and linkers
- Flashing and debugging hardware
- Datasheets and reference manuals
- Version control for firmware
- 02
Programming the Microcontroller
2.1 Embedded C
- Bit manipulation
- Volatile, const and memory-mapped registers
- Fixed-point arithmetic
- Avoiding dynamic memory
2.2 GPIO and timing
- Digital input and output
- Pull-ups, debouncing and edge detection
- Timers and counters
- PWM generation
2.3 Interrupts
- Interrupt vectors and handlers
- Priorities and nesting
- Interrupt safety and shared data
- Low-power modes and wake-up
- 03
Peripherals and Communication
3.1 Analogue interfacing
- ADC resolution and sampling
- Sensor conditioning
- DAC output
- Noise and filtering
3.2 Serial protocols
- UART
- I2C
- SPI
- Choosing between them
3.3 Displays and storage
- Character and graphic LCDs
- SD card and file systems
- External flash
- Bootloaders and firmware update
- 04
Real-Time Systems
4.1 RTOS concepts
- Tasks, scheduling and priorities
- Semaphores and mutexes
- Queues and message passing
- Priority inversion
4.2 Using FreeRTOS
- Creating and managing tasks
- Timers and delays
- Stack sizing
- Debugging an RTOS application
- 05
Connected and Reliable Devices
5.1 Connectivity
- Bluetooth Low Energy
- Wi-Fi modules
- Basic IoT protocols
- Security on constrained devices
5.2 Reliability
- Watchdog timers
- Brown-out detection
- Fault handling and safe states
- Testing firmware
- 06
Project
6.1 Building a device
- Requirements and block diagram
- Schematic and prototype
- Firmware implementation
- Testing and demonstration

