Arduino & Embedded C
Program microcontrollers from first blink to interrupts: digital and analog I/O, PWM, UART/I2C/SPI, safe motor and power design, register-level embedded C, timers, sleep modes and ESP32 IoT projects.
What you'll learn
- Explain what microcontrollers are and build and upload Arduino sketches with the IDE or arduino-cli.
- Use digital and analog I/O, PWM and non-blocking millis() timing to read buttons and sensors and drive LEDs.
- Connect devices over UART, I2C and SPI and use peripheral libraries responsibly.
- Drive motors, relays and servos safely with transistors, drivers, flyback diodes and a sensible power budget.
- Write embedded C with fixed-width types, bit manipulation, direct register access, volatile and interrupts.
- Structure projects as state machines, connect an ESP32 to the network without leaking secrets, and debug and test embedded code.
Syllabus
Embedded Foundations
- Embedded Systems and Microcontrollers
- The Arduino Ecosystem
- Sketch Structure and the Build/Upload Flow
Digital Input and Output
Analog Input and PWM
Communication Protocols
Actuators and Power
- Driving Motors and Relays Safely
- Servos and Stepper Motors
- Power Supplies, Current Budgets and Common Ground
Embedded C Under the Hood
- Data Types and Fixed-width Integers
- Flash, SRAM, EEPROM, PROGMEM and F()
- Bit Manipulation, Registers and volatile