No description
  • C 94.4%
  • C++ 2.7%
  • Python 1.8%
  • CMake 1%
Find a file
Lv Haiyu da53cfaa90
Some checks are pending
Push components to Espressif Component Service / upload_components (push) Waiting to run
Merge branch 'fix/lvgl-adapter-integration' into 'master'
Fix/lvgl adapter integration

See merge request ae_group/esp-iot-solution!1771
2026-11-12 18:59:16 +08:00
.github feat(lcd_touch): add touch input multiplexer 2026-10-28 10:53:27 +08:00
.gitlab/ci change(ota): pre-erases the image range and responds after erasure completes 2026-11-10 14:35:32 +08:00
components docs(esp_lvgl_adapter): clarify buffer configuration 2026-11-12 17:06:25 +08:00
docs docs(light): update sphinx-known-warnings 2026-11-10 14:36:33 +08:00
examples fix(ci): fix tflite schema path and simplefoc idf6.1 build errors 2026-11-11 20:55:56 +08:00
tools fix(cmake_utilities): cover whole base file in ddelta CRC 2026-11-12 12:25:05 +08:00
.gitignore fix(ci): resolve CI blocking caused by documentation build 2026-04-27 14:35:53 +08:00
.gitlab-ci.yml feat(ci): add manual push to GitHub 2025-12-11 17:57:52 +08:00
.lbcf.yml feature: Add yml file for CDP auto-publish 2025-06-06 17:40:45 +08:00
.pre-commit-config.yaml feat(cmake_utilities): add ddelta patch generation scripts 2026-11-10 15:22:29 +08:00
codespell-ignore-list feat(ble): Support L2CAP COC 2026-01-29 19:41:28 +08:00
conftest.py feat(launchpad): add launchpad readme txt 2024-07-01 19:47:49 +08:00
CONTRIBUTING.rst feature: Add yml file for CDP auto-publish 2025-06-06 17:40:45 +08:00
issue_template.md doc(esp-idf link): update esp-idf doc link 2019-07-16 22:16:18 +08:00
LICENSE style(doc): add licence and contributing doc 2017-11-21 16:03:29 +08:00
pytest.ini feat(mcp): Expand test coverage 2026-04-27 10:32:28 +08:00
README.md feat(lcd_touch): add touch input multiplexer 2026-10-28 10:53:27 +08:00
README_CN.md feat(lcd_touch): add touch input multiplexer 2026-10-28 10:53:27 +08:00

Documentation Status

Try it with ESP Launchpad

Espressif IoT Solution Overview

ESP-IoT-Solution contains device drivers and code frameworks for the development of IoT systems, providing extra components that enhance the capabilities of ESP-IDF and greatly simplify the development process.

ESP-IoT-Solution contains the following contents:

  • Device drivers for sensors, display, audio, input, actuators, etc.
  • Framework and documentation for Low power, security, storage, etc.
  • Guide for espressif open source solutions from practical application point.

Documentation Center

Quick Reference

Development Board

You can choose any of the ESP series development boards to use ESP-IoT-Solution or choose one of the boards supported in boards component for a quick start.

Powered by 40nm technology, ESP series SoC provides a robust, highly integrated platform, which helps meet the continuous demands for efficient power usage, compact design, security, high performance, and reliability.

Setup Environment

Setup ESP-IDF Environment

ESP-IoT-Solution is developed based on ESP-IDF functions and tools, so ESP-IDF development environment must be set up first, you can refer Setting up Development Environment for the detailed steps.

Please note that different versions of ESP-IoT-Solution may depend on different versions of ESP-IDF, please refer to the below table to select the correct version:

ESP-IoT-Solution Dependent ESP-IDF Major Change User Guide Support State
master >= v5.3 New Chips Support Docs online New features
release/v2.0 <= v5.3, >= v4.4 Support component manager Docs online Bugfix only,until v5.3 EOL
release/v1.1 v4.0.1 IDF version update, remove no longer supported code v1.1 Overview archived
release/v1.0 v3.2.2 legacy version v1.0 Overview archived

Note

The recommended ESP-IDF version varies for different chips. For details, please refer to Compatibility Between ESP-IDF Releases and Revisions of Espressif SoCs.

Since the master branch uses the ESP Component Manager to manager components, each of them is a separate package, and each package may support a different version of the ESP-IDF, which will be declared in the component's idf_component.yml file

Get Components from ESP Component Registry

If you just want to use the components in ESP-IoT-Solution, we recommend you use it from the ESP Component Registry.

The registered components in ESP-IoT-Solution are listed below:

Component Version
adc_battery_estimation Component Registry
adc_mic Component Registry
adc_tp_calibration Component Registry
aht20 Component Registry
apds9960 Component Registry
as5600 Component Registry
at24c02 Component Registry
at581x Component Registry
avi_player Component Registry
ble_anp Component Registry
ble_conn_mgr Component Registry
ble_esl Component Registry
ble_hci Component Registry
ble_hrp Component Registry
ble_htp Component Registry
ble_midi Component Registry
ble_ota Component Registry
ble_ota_raw Component Registry
ble_otp Component Registry
ble_services Component Registry
bme280 Component Registry
bme690 Component Registry
bmm150 Component Registry
bmm350 Component Registry
bootloader_support_plus Component Registry
bq27220 Component Registry
bthome Component Registry
button Component Registry
cmake_utilities Component Registry
dali Component Registry
drv10987 Component Registry
elf_loader Component Registry
esp_display_present Component Registry
esp_flux Component Registry
esp_lcd_axs15231b Component Registry
esp_lcd_co5300 Component Registry
esp_lcd_ek79007 Component Registry
esp_lcd_er88577 Component Registry
esp_lcd_gc9107 Component Registry
esp_lcd_gc9b71 Component Registry
esp_lcd_gc9d01 Component Registry
esp_lcd_hx8399 Component Registry
esp_lcd_jd9165 Component Registry
esp_lcd_jd9365 Component Registry
esp_lcd_nv3022b Component Registry
esp_lcd_nv3052 Component Registry
esp_lcd_panel_io_additions Component Registry
esp_lcd_sh8601 Component Registry
esp_lcd_spd2010 Component Registry
esp_lcd_st7121 Component Registry
esp_lcd_st7123 Component Registry
esp_lcd_st7701 Component Registry
esp_lcd_st7703 Component Registry
esp_lcd_st77903_qspi Component Registry
esp_lcd_st77903_rgb Component Registry
esp_lcd_st77916 Component Registry
esp_lcd_st77922 Component Registry
esp_lcd_touch_cst9220 Component Registry
esp_lcd_touch_ili2118 Component Registry
esp_lcd_touch_mux Component Registry
esp_lcd_touch_spd2010 Component Registry
esp_lcd_touch_st7123 Component Registry
esp_lcd_usb_display Component Registry
esp_local_controller Component Registry
esp_lv_decoder Component Registry
esp_lv_eaf_player Component Registry
esp_lv_fs Component Registry
esp_lv_lottie_player Component Registry
esp_lv_present Component Registry
esp_lvgl_adapter Component Registry
esp_mmap_assets Component Registry
esp_msc_ota Component Registry
esp_painter Component Registry
esp_sensorless_bldc_control Component Registry
esp_simplefoc Component Registry
esp_tinyuf2 Component Registry
esp_weaver Component Registry
esp_xiaozhi Component Registry
extended_vfs Component Registry
gprof Component Registry
hdc2010 Component Registry
i2c_bus Component Registry
ina236 Component Registry
iot_eth Component Registry
iot_usbh Component Registry
iot_usbh_cdc Component Registry
iot_usbh_ecm Component Registry
iot_usbh_modem Component Registry
iot_usbh_rndis Component Registry
ir_learn Component Registry
keyboard_button Component Registry
knob Component Registry
led_indicator Component Registry
lightbulb_driver Component Registry
lis2dh12 Component Registry
log_router Component Registry
max17048 Component Registry
mcp-c-sdk Component Registry
mcp23017 Component Registry
mcp3201 Component Registry
modem_at Component Registry
mvh3004d Component Registry
network_provisioner Component Registry
ntc_driver Component Registry
openai Component Registry
power_measure Component Registry
protocomm_ext Component Registry
pwm_audio Component Registry
quickjs-ng Component Registry
ramfs Component Registry
sensor_hub Component Registry
servo Component Registry
sht3x Component Registry
spi_bus Component Registry
touch_button Component Registry
touch_ic_bs8112a3 Component Registry
touch_proximity_sensor Component Registry
touch_slider_sensor Component Registry
usb_device_uac Component Registry
usb_device_uvc Component Registry
usb_stream Component Registry
veml6040 Component Registry
veml6075 Component Registry
xz Component Registry
zero_detection Component Registry

You can directly add the components from the Component Registry to your project by using the idf.py add-dependency command under your project's root directory. eg run idf.py add-dependency "espressif/usb_stream" to add the usb_stream, the component will be downloaded automatically during the CMake step.

Please refer to IDF Component Manager for details.

Get ESP-IoT-Solution Repository

If you want to Contribute to the components in ESP-IoT-Solution or want to start from the examples in ESP-IoT-Solution, you can get the ESP-IoT-Solution repository by following the steps:

  • If select the master version, open the terminal, and run the following command:

    git clone --recursive https://github.com/espressif/esp-iot-solution
    
  • If select the release/v2.0 version, open the terminal, and run the following command:

    git clone -b release/v2.0 --recursive https://github.com/espressif/esp-iot-solution
    

Build and Flash Examples

We highly recommend you Build Your First Project to get familiar with ESP-IDF and make sure the environment is set up correctly.

There is no difference between building and flashing the examples in ESP-IoT-Solution and in ESP-IDF. In most cases, you can build and flash the examples in ESP-IoT-Solution by following the steps:

  1. Change the current directory to the example directory, eg cd examples/usb/host/usb_audio_player.
  2. Run idf.py set-target TARGET to set the target chip. eg idf.py set-target esp32s3 to set the target chip to ESP32-S3.
  3. Run idf.py build to build the example.
  4. Run idf.py -p PORT flash monitor to flash the example, and view the serial output. eg idf.py -p /dev/ttyUSB0 flash monitor to flash the example and view the serial output on /dev/ttyUSB0.

Some examples may need extra steps to setup the ESP-IoT-Solution environment, you can run export IOT_SOLUTION_PATH=~/esp/esp-iot-solution in Linux/MacOS or set IOT_SOLUTION_PATH=C:\esp\esp-iot-solution in Windows to setup the environment.

Resources