Home

Awesome

Documentation Status

<a href="https://espressif.github.io/esp-launchpad/?flashConfigURL=https://dl.espressif.com/AE/esp-iot-solution/config.toml"> <img alt="Try it with ESP Launchpad" src="https://espressif.github.io/esp-launchpad/assets/try_with_launchpad.png" width="200" height="56"> </a>

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:

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-SolutionDependent ESP-IDFMajor ChangeUser GuideSupport State
master>= v5.3New Chips SupportDocs onlineNew features
release/v2.0<= v5.3, >= v4.4Support component managerDocs onlineBugfix only,until v5.3 EOL
release/v1.1v4.0.1IDF version update, remove no longer supported codev1.1 Overviewarchived
release/v1.0v3.2.2legacy versionv1.0 Overviewarchived

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:

<center>
ComponentVersion
aht20Component Registry
apds9960Component Registry
at581xComponent Registry
avi_playerComponent Registry
ble_anpComponent Registry
ble_conn_mgrComponent Registry
ble_hciComponent Registry
ble_hrpComponent Registry
ble_htpComponent Registry
ble_otaComponent Registry
ble_servicesComponent Registry
bme280Component Registry
bootloader_support_plusComponent Registry
buttonComponent Registry
cmake_utilitiesComponent Registry
drv10987Component Registry
elf_loaderComponent Registry
esp_lcd_axs15231bComponent Registry
esp_lcd_ek79007Component Registry
esp_lcd_gc9b71Component Registry
esp_lcd_hx8399Component Registry
esp_lcd_jd9165Component Registry
esp_lcd_jd9365Component Registry
esp_lcd_nv3022bComponent Registry
esp_lcd_panel_io_additionsComponent Registry
esp_lcd_sh8601Component Registry
esp_lcd_spd2010Component Registry
esp_lcd_st7701Component Registry
esp_lcd_st7703Component Registry
esp_lcd_st77903_qspiComponent Registry
esp_lcd_st77903_rgbComponent Registry
esp_lcd_st77916Component Registry
esp_lcd_st77922Component Registry
esp_lcd_touch_spd2010Component Registry
esp_lcd_touch_st7123Component Registry
esp_lcd_usb_displayComponent Registry
esp_lv_decoderComponent Registry
esp_lv_fsComponent Registry
esp_mmap_assetsComponent Registry
esp_msc_otaComponent Registry
esp_sensorless_bldc_controlComponent Registry
esp_simplefocComponent Registry
esp_tinyuf2Component Registry
extended_vfsComponent Registry
gprofComponent Registry
hdc2010Component Registry
i2c_busComponent Registry
ina236Component Registry
iot_usbhComponent Registry
iot_usbh_cdcComponent Registry
iot_usbh_modemComponent Registry
ir_learnComponent Registry
keyboard_buttonComponent Registry
knobComponent Registry
led_indicatorComponent Registry
lightbulb_driverComponent Registry
lis2dh12Component Registry
mvh3004dComponent Registry
ntc_driverComponent Registry
openaiComponent Registry
pwm_audioComponent Registry
sht3xComponent Registry
spi_busComponent Registry
touch_proximity_sensorComponent Registry
usb_device_uacComponent Registry
usb_device_uvcComponent Registry
usb_streamComponent Registry
veml6040Component Registry
veml6075Component Registry
xzComponent Registry
zero_detectionComponent Registry
</center>

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:

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