Introduction#
The BSP (Board Support Package) from Espressif is ready to use package for selected boards (usually for Espressif’s and M5Stack boards). This package contains main initialization functions for features, which the board contains. For example display and touch initialization, file system initialization, audio if available, LEDs and buttons. This is the easy way, how to start developing with your board. Except initialization functions, there are examples for selected board too.
More about using common BSP, you can read here
Mainly, the BSP was only for boards with display or audio. Now, you can use it for any DevKit!
Generic and DevKit BSP#
Classic DevKits usually contains only LEDs and buttons. There isn’t any BSP for specific DevKit, there are special BSPSs esp_bsp_generic and esp_bsp_devkit. These BPSs can be set by menuconfig
for any Espressif’s DevKit. Differences between esp_bsp_generic
and esp_bsp_devkit
are in table below.
esp_bsp_generic | esp_bsp_devkit |
---|---|
✔️ Up to 5 buttons | ✔️ Up to 5 buttons |
✔️ Up to 5 GPIO LEDs | ✔️ Up to 5 GPIO LEDs |
✔️ One RGB GPIO LED | ✔️ One RGB GPIO LED |
✔️ Unlimited addressable RGB LEDs | ✔️ Unlimited addressable RGB LEDs |
✔️ uSD File System | ✔️ uSD File System |
✔️ SPIFFS File System | ✔️ SPIFFS File System |
✔️ LVGL ready | ❌ LVGL ready |
✔️ SPI LCD Display | ❌ SPI LCD Display |
✔️ I2C LCD Touch | ❌ I2C LCD Touch |
DevKit BSP#
Basic BSP for DevKits is esp_bsp_devkit
and there can be set only LEDs, buttons and file system.
Settings in menuconfig
:
- Buttons
- Count (maximum 5)
- Each button can be type ADC or GPIO
- LEDs
- Type (GPIO, RGB GPIO, Addressable RGB)
- SPIFFS - Virtual File System
- uSD card - Virtual File System
This BSP can emulate any Espressif’s DevKit.
Generic BSP#
Generic BSP esp_bsp_generic
can set all same as esp_bsp_devkit
plus selected LCD and touch.
Settings in menuconfig
:
- Buttons
- Count (maximum 5)
- Each button can be type ADC or GPIO
- LEDs
- Type (GPIO, RGB GPIO, Addressable RGB)
- Display
- Connection (only SPI is supported)
- Driver (ST7789, ILI9341, GC9A01)
- Display Touch
- Connection (only I2C is supported)
- Driver (TT21100, GT1151, GT911, CST816S, FT5X06)
- SPIFFS - Virtual File System
- uSD card - Virtual File System
This BSP can emulate simple development boards with SPI LCD display.
Example and preconfigured settings#
Mentioned BSPs have one very simple example with one button and one LED, which is included in component or you can find it in GitHub. Example shows breathing LED and you can change breathing/blinking effect by button click.
This example contains preconfigured settings for these DevKits:
Conclusion#
ESP-BSP is ready to kickstart your projects. It is maintained by Espressif and designed to deliver optimal performance for your needs. If your board is not listed, you can easily create your own BSP or use the Generic/DevKit BSP for simpler boards. Start developing with BSP today!