MCPcopy Index your code
hub / github.com/espressif/esp-iot-solution

github.com/espressif/esp-iot-solution @v2.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v2.0 ↗ · + Follow
5,409 symbols 11,712 edges 1,054 files 509 documented · 9%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

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

  • 中文:https://docs.espressif.com/projects/esp-iot-solution/zh_CN
  • English:https://docs.espressif.com/projects/esp-iot-solution/en

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

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
aht20 1.0.0
at581x 1.0.0
avi_player 1.0.0
ble_anp 0.1.0
ble_conn_mgr 0.1.2
ble_hci 1.0.0
ble_hrp 0.1.0
ble_htp 0.1.0
ble_ota 0.1.12
ble_services 0.1.0
bootloader_support_plus 0.2.6
button 3.4.0
cmake_utilities 1.0.0
drv10987 0.1.0
elf_loader 0.1.0
esp_lcd_axs15231b 1.0.0
esp_lcd_ek79007 1.0.1
esp_lcd_gc9b71 1.0.2
esp_lcd_hx8399 1.0.1
esp_lcd_jd9165 1.0.1
esp_lcd_jd9365 1.0.1
esp_lcd_nv3022b 1.0.0
esp_lcd_panel_io_additions 1.0.1
esp_lcd_sh8601 1.0.0
esp_lcd_spd2010 1.0.2
esp_lcd_st7701 1.1.1
esp_lcd_st7703 1.0.1
esp_lcd_st77903_qspi 1.0.0
esp_lcd_st77903_rgb 1.0.0
esp_lcd_st77916 1.0.0
esp_lcd_st77922 1.0.2
esp_lcd_touch_spd2010 1.0.0
esp_lcd_touch_st7123 1.0.0
esp_lcd_usb_display 1.0.0
esp_lv_decoder 0.1.2
esp_lv_fs 1.0.0
esp_mmap_assets 1.3.0
esp_msc_ota 1.0.0
esp_sensorless_bldc_control 1.0.0
esp_simplefoc

Core symbols most depended-on inside this repo

LCD_WRITE_REG_16B
called by 757
components/display/screen/screen_utility/interface_drv_def.h
free
called by 688
components/bootloader_support_plus/src/bootloader_custom_malloc.c
LCD_WRITE_DATA
called by 592
components/display/screen/screen_utility/interface_drv_def.h
LCD_WRITE_CMD
called by 372
components/display/screen/screen_utility/interface_drv_def.h
malloc
called by 168
components/bootloader_support_plus/src/bootloader_custom_malloc.c
i2c_bus_write_byte
called by 100
components/i2c_bus/i2c_bus.c
i2c_bus_read_byte
called by 84
components/i2c_bus/i2c_bus.c
led_indicator_start
called by 75
components/led/led_indicator/src/led_indicator.c

Shape

Function 4,842
Class 372
Method 92
Enum 58
Route 45

Languages

C89%
C++6%
Python5%
TypeScript1%

Modules by API surface

components/openai/OpenAI.c117 symbols
components/bluetooth/ble_conn_mgr/src/esp_nimble.c103 symbols
components/usb/usb_stream/usb_stream.c66 symbols
components/sensors/gesture/apds9960/apds9960.c62 symbols
components/led/lightbulb_driver/src/lightbulb.c56 symbols
examples/keyboard/components/esp_hid/src/esp_hidh.c48 symbols
components/utilities/xz/xz-embedded/linux/lib/xz/xz_dec_lzma2.c46 symbols
components/bluetooth/ble_profiles/esp/ble_ota/proto-c/ota_send_file.pb-c.c42 symbols
examples/keyboard/components/esp_hid/src/nimble_hidh.c35 symbols
components/usb/iot_usbh/iot_usbh.c35 symbols
components/bluetooth/ble_profiles/esp/ble_ota/src/nimble_ota.c35 symbols
examples/usb/host/usb_cdc_4g_module/main/modem_http_config.c32 symbols

For agents

$ claude mcp add esp-iot-solution \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact