Board support packages for development boards using Espressif's SoCs, written in C.
Board name | SoC | Features | Photo |
---|---|---|---|
ESP-WROVER-KIT | ESP32 | LCD display, uSD card slot | |
ESP-BOX | ESP32-S3 | LCD display with touch, audio codec + power amplifier, accelerometer and gyroscope |
|
ESP32-Azure IoT Kit | ESP32 | OLED display, uSD card slot, accelerometer, magnetometer, humidity, pressure, light and temperature sensors |
|
ESP32-S2-Kaluga Kit | ESP32-S2 | LCD display, audio codec + power amplifier, smart LED and camera |
|
ESP32-S3-USB-OTG | ESP32-S3 | LCD display, uSD card slot, USB-OTG | |
ESP32-S3-EYE | ESP32-S3 | LCD display, camera, uSD card slot, microphone and accelerometer | |
ESP32-S3-LCD-EV-BOARD | ESP32-S3 | LCD display with touch, audio codec + power amplifier |
The BSP repository includes lot of LCD and Touch driver components. The list of available and planned LCDs is here.
Best way to start with ESP-BSP is trying one of the examples on your board. Every example contains README.md
with a list of supported boards. Here is the summary of the available examples:
Example | Supported boards |
---|---|
display | WROVER-KIT |
display_audio | Kaluga-kit |
display_camera | Kaluga-kit |
display_audio_photo | ESP-BOX |
display_rotation | ESP-BOX |
display_lvgl_demos | ESP32-S3-LCD-EV-BOARD |
mqtt_example | Azure-IoT-kit |
rainmaker_example | Azure-IoT-kit |
sensors_example | Azure-IoT-kit |
Each BSP provides its header file in 'bsp' subfolder, so it can be included as follows: #include "bsp/name-of-the-bsp.h"
.
For you convenience, each BSP also provides a wrapper header, which has the same name for all BSPs: #include "bsp/esp-bsp.h"
.
NOTE: There can be only one BSP in a single esp-idf project.
Packages from this repository are uploaded to the IDF component registry.
You can add them to your project via idf.py add-dependency
, e.g.
idf.py add-dependency esp_wrover_kit==1.0.0
Alternatively, you can create idf_component.yml
file manually, such as in this example.
When you want to use a BSP in a real project, it is highly recommended to disable configuration option CONFIG_BSP_ERROR_CHECK
in menuconfig. You should check all returned error codes from all BSP functions you call. Otherwise, if the option CONFIG_BSP_ERROR_CHECK
is enabled, any error encountered in a BSP will abort the program.
ESP-IDF v5.0 brings a lot of new features, but, as the bump in major version suggests, also a lot of breaking changes.
ESP-BSP is kept up-to-date with the latest ESP-IDF version, but some breaking changes in ESP-BSP API are inevitable. Usually, BSPs compatible with IDF v5.0 are version 2. If you want to use BSP with IDF v4.4 you can still use version 1 of the particular BSP.
More information about ESP-IDF breaking changes can be found in the official migration guide.
More information about idf-component-manager can be found in Espressif API guide or PyPi registry.
Please check CONTRIBUTING.md if you'd like to contribute to ESP-BSP.
All original source code in this repository is Copyright (c) Espressif Systems (Shanghai) Co. Ltd., and is licensed under the Apache 2.0 license.