Repolode
espressif

espressif/esp-idf

Official development framework from Espressif for building firmware on ESP32 and other Espressif SoCs, on Windows, Linux and macOS.

Stars
19,453
Forks
8,586
Open issues
1,807
Last commit
16 hours ago

What is it?

ESP-IDF is the official development framework for Espressif's system-on-chip (SoC) microcontrollers, used to write, configure, build and flash firmware for IoT devices. It runs on Windows, Linux and macOS, and provides the toolchain, libraries and build system needed to develop applications for supported chips.

Developers work through the idf.py command-line tool. Common steps include selecting a target chip with set-target, adjusting options in a text-based menuconfig, compiling the app, bootloader and partition table with build, and flashing the device over a serial port with flash. The idf.py monitor command shows serial output and can decode crash dumps.

The repository includes example projects in its examples directory, and a project template is available separately. Each SoC series and release has its own documentation, and ESP8266 is covered by a separate RTOS SDK.

Key features

  • 01Builds application, bootloader and partition table from a single idf.py build command.
  • 02Provides menuconfig for interactive project configuration.
  • 03Flashes firmware over a serial port and monitors device output.
  • 04Includes example projects covering supported Espressif chips.
  • 05Runs on Windows, Linux and macOS with install and export scripts.

Use cases

  • Developing firmware for ESP32-series Wi-Fi and Bluetooth IoT devices.
  • Prototyping embedded applications on Espressif development boards.
  • Building and flashing over-the-air updatable firmware with partition tables.

Quick start

  1. 1

    Set up the build environment with the install script for your shell

    ./install.sh
  2. 2

    Load the environment in every shell before using ESP-IDF

    source export.sh
  3. 3

    Set the target chip, then build the project

    idf.py set-target <chip_name> && idf.py build
  4. 4

    Flash the firmware to the board and open the serial monitor

    idf.py -p PORT flash monitor

Things to know

  • Setup requires installing host build dependencies and running the install script first.
  • Does not support ESP8266 or ESP8285, which use the separate RTOS SDK.

In collections

Topics

FAQ

What is esp-idf?
Official development framework from Espressif for building firmware on ESP32 and other Espressif SoCs, on Windows, Linux and macOS. ESP-IDF is the official development framework for Espressif's system-on-chip (SoC) microcontrollers, used to write, configure, build and flash firmware for IoT devices. It runs on Windows, Linux and macOS, and provides the toolchain, libraries and build system needed to develop applications for supported chips.
Is esp-idf free to use? What license does it have?
esp-idf is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is esp-idf still maintained?
Actively maintained. The last commit to esp-idf was on Nov 6, 2026.
What can I use esp-idf for?
Developing firmware for ESP32-series Wi-Fi and Bluetooth IoT devices. Prototyping embedded applications on Espressif development boards. Building and flashing over-the-air updatable firmware with partition tables.
How do I install esp-idf?
Set up the build environment with the install script for your shell: ./install.sh Load the environment in every shell before using ESP-IDF: source export.sh Set the target chip, then build the project: idf.py set-target <chip_name> && idf.py build Flash the firmware to the board and open the serial monitor: idf.py -p PORT flash monitor
Where can I get esp-idf?
The source code and installation instructions are on GitHub: https://github.com/espressif/esp-idf

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects