Embedded systems
Fundamentals
Definition and concepts
CPU and memory
Programming hardware
Version control: CVCS, DVCS
GPIO handling
Using timers
UART, I2C, SPI
AD and DA conversion
Advanced knowledge
Concurrency handling
Real-time operating system (RTOS)
Battery-powered devices
Wi-Fi, Bluetooth
MQTT, BLE, Zigbee
Vulnerabilities, encryption
OTA update
Hardware and software testing