Skip to content
Official Base Framework

ESP-IDF

Official native Espressif framework for all ESP32 SoCs. Based on multicore FreeRTOS and CMake, providing full control over silicon, peripherals, radio, and modular component architecture.

Language
C / C++
Espressif IoT Development Framework
Category
Official Base Framework
Main purpose
Industrial and high-performance development with direct register access, real-time RTOS, and complete protocol stack

Key features

  • Real-time operating system (FreeRTOS SMP multicore)
  • Native support for ESP Component Registry via idf_component.yml
  • Full connectivity stack for Wi-Fi 4/6, BLE 5.x, Zigbee and Thread
  • Support for all SoCs (ESP32, S2, S3, C2, C3, C6, H2, P4)
  • Advanced power management and Deep Sleep modes
  • Robust security: Secure Boot v2, Flash Encryption and Hardware Crypto
  • Encrypted OTA updates with automatic rollback
  • Modern Clang/GCC toolchain, C++23 support and JTAG OpenOCD debugging

When to use

  • Commercial and industrial IoT products
  • Devices with strict battery and low-power requirements
  • Real-time applications with precise interrupt control
  • Security systems with hardware encryption
  • High-performance multiprotocol gateways
ESP-IDF 4.4 or higher

Modules with the ESP Component Registry

In ESP-IDF v4.4+ and v5.x projects, libraries no longer need to be added as Git submodules. Use idf_component.yml and the command idf.py add-dependency to download display drivers (LVGL), industrial stacks (Modbus), RainMaker, and more.

Explore components

Code example

Starter snippet in C / C++. Adjust pins and configuration for your board.

ESP-IDFC / C++
1