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
Explore componentsModules 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.
Code example
Starter snippet in C / C++. Adjust pins and configuration for your board.
ESP-IDFC / C++
1