About Embedded Systems & IoT
Embedded systems are the small computers hidden inside thermostats, wearables, cars,
and factory machines, and IoT connects them to each other and to the cloud. This
course follows the order most engineers learn it, starting with
Electronics Fundamentals and Microcontroller Architecture
so you know what the hardware is actually doing.
Next, Embedded C & C++ and Toolchains & Version Control
get you writing, flashing, and debugging firmware, while
GPIO, Timers & Interrupts and Communication Protocols
cover how code reads sensors, drives actuators, and talks to other chips over UART,
I2C, SPI, and CAN.
RTOS & Concurrency shows how to run several jobs at once without
race conditions. Wireless & Networking and
IoT Protocols & Cloud then connect your device to the world with
Wi-Fi, BLE, LoRa, and MQTT.
Finally, Security, Power & Production covers secure boot,
low-power design, and OTA updates: the skills that separate a working prototype from
a product that survives in the field.
Content
10 modules
01
Electronics Fundamentals
Voltage, current, resistance, and the passive and active components that every board is built from, plus reading schematics and using a multimeter and oscilloscope.
Ohm's LawSchematicsMultimeter
02
Microcontroller Architecture
What is inside a microcontroller: CPU core, memory map, registers, clocks, and how families like ARM Cortex-M, AVR, ESP32, and RP2040 differ.
ARM Cortex-MMemory MapESP32
03
Embedded C & C++
Writing firmware in C and C++: pointers, bit manipulation, volatile, memory constraints, and structuring code for hardware with no operating system.
CC++Bit Manipulation
04
Toolchains & Version Control
Cross-compiling, flashing, and debugging with GCC, PlatformIO, and SWD or JTAG probes, with Git to track firmware and hardware changes.
PlatformIOGDBGit
05
GPIO, Timers & Interrupts
Reading buttons and sensors, driving LEDs and motors, generating PWM, sampling with the ADC, and handling events with timers and interrupts.
GPIOPWMADC
06
Communication Protocols
Talking to sensors, displays, and other chips over UART, I2C, SPI, and CAN, and debugging the bus with a logic analyzer.
UARTI2CSPI
07
RTOS & Concurrency
Splitting firmware into tasks with a real-time operating system, and managing queues, semaphores, mutexes, and scheduling without race conditions.
FreeRTOSZephyrTask Scheduling
08
Wireless & Networking
Connecting devices with Wi-Fi, Bluetooth Low Energy, LoRa, and Zigbee, and understanding TCP/IP on constrained hardware.
Wi-FiBLELoRaWAN
09
IoT Protocols & Cloud
Sending telemetry and receiving commands with MQTT, CoAP, and HTTP, then storing and visualizing device data on a cloud IoT platform.
MQTTCoAPAWS IoT
10
Security, Power & Production
Securing devices with secure boot and encryption, stretching battery life with low-power modes, and shipping with OTA updates, testing, and fleet monitoring.
Secure BootLow PowerOTA Updates
What You Can Do After This Course
By the end of the curriculum you'll have worked through 5 hands-on projects and
covered the core of what a junior embedded or IoT engineering role expects.
Concretely, you'll be able to:
Read and build circuits: understand schematics, choose components, and debug a board with a multimeter and oscilloscope.
Write real firmware: program microcontrollers in C and C++, with direct control of registers, memory, and peripherals.
Control the physical world: read sensors, drive actuators, and respond to events using GPIO, ADC, PWM, timers, and interrupts.
Connect chips and devices: use UART, I2C, SPI, and CAN, and trace problems on the bus with a logic analyzer.
Structure concurrent code: run multiple tasks on an RTOS using queues, semaphores, and mutexes safely.
Go wireless and online: link devices over Wi-Fi, BLE, or LoRa and stream data to the cloud with MQTT.
Ship a dependable product: secure the firmware, optimize for battery life, and update devices in the field over the air.