esp-bsp

BSP: ESP32-P4 Function EV Board

| HW Reference | HOW TO USE API | EXAMPLES | Component Registry | maintenance-status | | — | — | — | — | – |

Overview

ESP32-P4-Function-EV-Board is a multimedia development board based on the ESP32-P4 chip. ESP32-P4 chip features a dual-core 400 MHz RISC-V processor and supports up to 32 MB PSRAM. In addition, ESP32-P4 supports USB 2.0 specification, MIPI-CSI/DSI, H264 Encoder, and various other peripherals. With all of its outstanding features, the board is an ideal choice for developing low-cost, high-performance, low-power network-connected audio and video products.

HW Version

HW version BSP Version
V1.0 ^1
V1.2 ^2
V1.4 ^3

Configuration

Configuration in menuconfig.

Selection LCD display Board Support Package(ESP32-P4) --> Display --> Select LCD type

Selection color format Board Support Package(ESP32-P4) --> Display --> Select LCD color format

HDMI Support

This BSP supports HDMI converter Lontium LT8912B. Follow these rules for using it with HDMI:

Capabilities and dependencies

| Available | Capability | Controller/Codec | Component | Version | |------------------|------------------------|--------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------| |:heavy_check_mark:| :pager: DISPLAY |ek79007, ili9881c, lt8912b|idf
[espressif/esp_lcd_ili9881c](https://components.espressif.com/components/espressif/esp_lcd_ili9881c)
[espressif/esp_lcd_ek79007](https://components.espressif.com/components/espressif/esp_lcd_ek79007)
[espressif/esp_lcd_lt8912b](https://components.espressif.com/components/espressif/esp_lcd_lt8912b)|>=5.3
1.*
1.*
>=0.1.1,<1.0.0| |: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 | gt911 | [espressif/esp_lcd_touch_gt911](https://components.espressif.com/components/espressif/esp_lcd_touch_gt911) | ^1 | | :x: | :radio_button: BUTTONS | | | | |: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 | es8311 | | | |:heavy_check_mark:| :floppy_disk: SDCARD | | idf | >=5.3 | | :x: | :video_game: IMU | | | |

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-) | | [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-) | | [USB HID Example](https://github.com/espressif/esp-bsp/tree/master/examples/display_usb_hid) | USB HID demo (keyboard, mouse, or gamepad visualization using LVGL) | - |

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 55% 88 5 2 3
Moving wallpaper 92% 73 11 9 2
Single rectangle 22% 89 1 1 0
Multiple rectangles 40% 91 3 3 0
Multiple RGB images 28% 97 1 1 0
Multiple ARGB images 55% 90 6 6 0
Rotated ARGB images 77% 75 10 10 0
Multiple labels 95% 61 13 12 1
Screen sized text 99% 13 70 68 2
Multiple arcs 98% 45 18 16 2
Containers 28% 88 3 3 0
Containers with overlay 91% 28 31 29 2
Containers with opa 36% 91 4 4 0
Containers with opa_layer 62% 76 12 12 0
Containers with scrolling 98% 28 31 29 2
Widgets demo 99% 17 50 48 2
All scenes avg. 67% 65 16 15 1