Back to training
Syllabus / esp32-programming
4 Weeks / 32 Hours
Production-Grade ESP32 Programming & Firmware Engineering
Master Wi-Fi connectivity, Bluetooth Low Energy, RTOS primitives, OTA updates, and power optimization for scalable IoT products.
4 Weeks / 32 Hours Hands-on Labs
Certificate of Course Completion Awarded
Training Covering Area
A comprehensive hands-on program designed for firmware developers, hardware engineers, and builders looking to transition from basic Arduino code to professional, robust, and secure ESP-IDF/C++ codebases.
01
Module 1: Architecture & Foundations
- ESP32 hardware blocks & dual-core Xtensa microcontroller structure
- Bootloader phase, custom partition tables, and memory mapping (IRAM/DRAM/Flash)
- Setting up the ESP-IDF toolchain & project layout configurations
- GPIOs, hardware timers, and basic peripheral drivers (ADC, DAC, PWM)
02
Module 2: FreeRTOS Core Primitives
- Multitasking: Task priority, stack sizes, and core pinning (Core 0 vs Core 1)
- Thread communication: Event loops, FreeRTOS queues, and ring buffers
- Synchronization: Binary semaphores, counting semaphores, and mutexes
- Dealing with priority inversion, watchdog timers, and task starvation
03
Module 3: Wi-Fi, BLE, and Cloud Protocols
- Configuring station (STA) and access point (AP) modes with auto-reconnection
- MQTT clients, HTTP REST clients, and secure WebSocket sockets
- GATT Server design, BLE advertising packets, services, and characteristics
- Securing data transit using SSL/TLS handshake client certificates
04
Module 4: Field Operations & Advanced Topics
- Non-Volatile Storage (NVS) structure, custom FATFS filesystems, and partitions
- Designing robust OTA update systems with custom backend server checking
- Using core dumps, debuggers (OpenOCD), and firmware logging macros
- Power profiling: Deep sleep current optimization, timer wakeups, and GPIO wakeups