Embedded systems
Fundamentals
Definition and concepts
CPU and memory
Popular MCU architectures
Programming hardware
Version control: CVCS, DVCS
GPIO handling
Using timers
UART, I2C, SPI
AD and DA conversion
Advanced programming
Concurrency handling
Real-time operating system (RTOS)
Battery-powered devices
Bluetooth, Wi-Fi, Zigbee
Debug and JTAG
Vulnerabilities, encryption
Advanced memory management
OTA update