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