BSP: ESP-BOX-3
| HW Reference | HOW TO USE API | EXAMPLES |
|
|
| — | — | — | — | — |
Overview
|
ESP32-S3-BOX-3 is an AI voice development kit that is based on Espressif’s ESP32-S3 Wi-Fi + Bluetooth 5 (LE) SoC, with AI capabilities. In addition to ESP32-S3’s 512KB SRAM,
ESP32-S3-BOX-3 comes with 16MB of QSPI flash and 16MB of Octal PSRAM. ESP32-S3-BOX-3 is also equipped with a variety of peripherals, such as a 2.4-inch display with a 320x240 resolution, a capacitive touch screen, a dual microphone, a speaker, and two Pmod™-compatible headers which allow for the extensibility of the hardware.
ESP32-S3-BOX-3 also uses a Type-C USB connector that provides 5 V of power input, while also supporting serial and JTAG debugging, as well as a programming interface; all through the same connector.
|
|

Capabilities and dependencies
| Available | Capability |Controller/Codec| Component | Version |
|------------------|------------------------|----------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------|
|:heavy_check_mark:| :pager: DISPLAY | st7789, ili9341| idf
[espressif/esp_lcd_ili9341](https://components.espressif.com/components/espressif/esp_lcd_ili9341) |>=5.3
^2.0.1|
|:heavy_check_mark:|:black_circle: LVGL_PORT| | [espressif/esp_lvgl_port](https://components.espressif.com/components/espressif/esp_lvgl_port) | ^2 |
|:heavy_check_mark:| :point_up: TOUCH | tt21100, gt911 |[espressif/esp_lcd_touch_tt21100](https://components.espressif.com/components/espressif/esp_lcd_touch_tt21100)
[espressif/esp_lcd_touch_gt911](https://components.espressif.com/components/espressif/esp_lcd_touch_gt911)| ^1
^1 |
|:heavy_check_mark:| :radio_button: BUTTONS | | [espressif/button](https://components.espressif.com/components/espressif/button) | ^4 |
|:heavy_check_mark:| :musical_note: AUDIO | | [espressif/esp_codec_dev](https://components.espressif.com/components/espressif/esp_codec_dev) | ~1.5 |
|:heavy_check_mark:| :speaker: AUDIO_SPEAKER| es8311 | | |
|:heavy_check_mark:| :microphone: AUDIO_MIC | es7210 | | |
|:heavy_check_mark:| :floppy_disk: SDCARD | | idf | >=5.3 |
|:heavy_check_mark:| :video_game: IMU | | [espressif/icm42670](https://components.espressif.com/components/espressif/icm42670) | ^2.0.2 |
Compatible BSP Examples
| Example | Description | Try with ESP Launchpad |
| ------- | ----------- | ---------------------- |
| [Display Example](https://github.com/espressif/esp-bsp/tree/master/examples/display) | Show an image on the screen with a simple startup animation (LVGL) | [Flash Example](https://espressif.github.io/esp-launchpad/?flashConfigURL=https://espressif.github.io/esp-bsp/config.toml&app=display-) |
| [Display, Audio and Photo Example](https://github.com/espressif/esp-bsp/tree/master/examples/display_audio_photo) | Complex demo: browse files from filesystem and play/display JPEG, WAV, or TXT files (LVGL) | [Flash Example](https://espressif.github.io/esp-launchpad/?flashConfigURL=https://espressif.github.io/esp-bsp/config.toml&app=display_audio_photo-) |
| [LVGL Benchmark Example](https://github.com/espressif/esp-bsp/tree/master/examples/display_lvgl_benchmark) | Run LVGL benchmark tests | - |
| [LVGL Demos Example](https://github.com/espressif/esp-bsp/tree/master/examples/display_lvgl_demos) | Run the LVGL demo player - all LVGL examples are included (LVGL) | [Flash Example](https://espressif.github.io/esp-launchpad/?flashConfigURL=https://espressif.github.io/esp-bsp/config.toml&app=display_lvgl_demos-) |
| [Display Rotation Example](https://github.com/espressif/esp-bsp/tree/master/examples/display_rotation) | Rotate screen using buttons or an accelerometer (`BSP_CAPS_IMU`, if available) | [Flash Example](https://espressif.github.io/esp-launchpad/?flashConfigURL=https://espressif.github.io/esp-bsp/config.toml&app=display_rotation-) |
LVGL Benchmark
DATE: 01.10.2025 13:12
LVGL version: 9.3.0
| Name |
Avg. CPU |
Avg. FPS |
Avg. time |
render time |
flush time |
| Empty screen |
94% |
26 |
33 |
3 |
30 |
| Moving wallpaper |
97% |
25 |
36 |
6 |
30 |
| Single rectangle |
10% |
91 |
0 |
0 |
0 |
| Multiple rectangles |
91% |
50 |
16 |
2 |
14 |
| Multiple RGB images |
17% |
90 |
0 |
0 |
0 |
| Multiple ARGB images |
18% |
87 |
2 |
2 |
0 |
| Rotated ARGB images |
73% |
56 |
18 |
12 |
6 |
| Multiple labels |
89% |
79 |
9 |
3 |
6 |
| Screen sized text |
97% |
15 |
59 |
28 |
31 |
| Multiple arcs |
19% |
91 |
0 |
0 |
0 |
| Containers |
33% |
72 |
15 |
4 |
11 |
| Containers with overlay |
89% |
20 |
45 |
14 |
31 |
| Containers with opa |
49% |
70 |
19 |
7 |
12 |
| Containers with opa_layer |
60% |
53 |
27 |
16 |
11 |
| Containers with scrolling |
95% |
20 |
44 |
14 |
30 |
| Widgets demo |
97% |
25 |
25 |
11 |
14 |
| All scenes avg. |
64% |
54 |
21 |
7 |
14 |