Microcontrollers
Computers on a chip. Programming real microcontrollers: the classic 8051, AVR and PIC 8-bit families, ARM Cortex-M with STM32, the Wi-Fi/Bluetooth ESP32, and the register-level peripheral programming skills that carry across every vendor.
- 8051 Microcontroller — The 8051 is the classic 8-bit microcontroller. Learn its architecture (CPU, 4 KB ROM, 128 B RAM, register banks, SFRs, four I/O ports, two timers, UART, five interrupts), machine cycles, timer modes and reload values, serial baud-rate generation, and programming in assembly and Embedded C (Keil).
- AVR & PIC Microcontrollers — AVR (Arduino's ATmega) and PIC are the most popular 8-bit MCU families. Learn their Harvard RISC architectures, register-based I/O (DDR/PORT/PIN, TRIS/LAT), timers with prescalers and CTC/PWM modes, UART baud calculation (UBRR), ADC, fuses/configuration bits, and bare-metal C programming.
- ARM Cortex-M & STM32 — 32-bit ARM Cortex-M microcontrollers dominate modern embedded design. Learn the Cortex-M family (M0/M3/M4/M7/M33), the STM32 ecosystem, clock tree and PLL, RCC peripheral clock enabling, GPIO modes, timers (PSC/ARR/CCR), USART baud (BRR), NVIC, CMSIS and HAL vs register (LL) programming.
- ESP32 & Wireless MCUs — The ESP32 brought Wi-Fi and Bluetooth to low-cost microcontrollers. Learn its dual-core Xtensa/RISC-V architecture, peripherals, ESP-IDF with FreeRTOS, Wi-Fi station/AP, MQTT/HTTP, BLE, power modes and deep-sleep battery life, OTA updates and security.
- Peripheral Programming — Writing firmware that controls MCU peripherals. Learn memory-mapped registers and bit manipulation, read-modify-write and atomic access, polling vs interrupts vs DMA, peripheral initialisation patterns, datasheet and reference-manual reading, hardware abstraction layers, and debugging with logic analysers.