Skip to content

ESP32-P4-Pi-VIEWE Dev Board

  • ESP32-P4-Pi-VIEWE --- development board is designed based on the VIEWE ESP32-P4-Core module, which integrates ESP32-P4 and ESP32-C6 dual chips and supports Wi-Fi 6 and Bluetooth 5 wireless connections with “Raspberry Pi” form factor.

    Back to Series Official Store GitHub Repo

ESP32-P4-PI Front View ESP32-P4-PI Back View

1. Introduction

The ESP32-P4-Pi-VIEWE development board is designed based on the VIEWE ESP32-P4-Core module, which integrates ESP32P4 and ESP32-C6 chips and supports Wi-Fi 6 and Bluetooth 5 wireless connections. It provides a variety of Human-Machine Interface (HMI) interfaces, including MIPI-CSI (integrated with Image Signal Processor ISP), MIPI-DSI, SPI, I2S, I2C, LED PWM, MCPWM, RMT, ADC, UART, and TWAI. In addition, it supports USB OTG 2.0 H5, reserves an RJ45 Ethernet interface, can be expanded with POE (Power over Ethernet) functionality, and is equipped with a 40-pin GPIO expansion interface. By adopting the industry-standard “Raspberry Pi” form factor (85 x 56 mm), it offers a seamless upgrade path for developers looking to migrate from Linux-based systems to the more cost-effective and real-time capable ESP32-P4 ecosystem.

2. Functional Features

2.1 CPU

  • High-Performance System: Equipped with a RISC-V 32-bit dual-core processor with DSP and instruction set extensions, floating-point arithmetic unit (FPU), and a main frequency of up to 400 MHz
  • Low-Power System: Equipped with a RISC-V 32-bit single-core processor with a main frequency of up to 40 MHz
  • Wireless Coprocessor: Equipped with an ESP32-C6 WIFI/BT coprocessor, expanding functions such as WIFI 6/Bluetooth 5 through SDIO

2.2 Memory

  • Read-Only Memory (ROM):
  • 128 KB of high-performance (HP) system ROM
  • 16 KB of low-power (LP) system ROM
  • RAM:
  • 768 KB of high-performance (HP) L2 memory (L2MEM)
  • 32 KB of low-power (LP) SRAM
  • 8 KB of system tightly coupled memory (TCM)
  • External Memory:
  • 32 MB PSRAM is stacked and sealed inside the package
  • 16MB Nor Flash is connected through the QSPI interface

2.3 Peripheral Interfaces

  • Multimedia Processing:
  • Powerful image and voice processing capabilities
  • Dedicated interfaces including JPEG codec, Pixel Processing Accelerator (PPA), Image Signal Processor (ISP), and H.264 video encoder
  • On-Board Interfaces:
  • MIPI-CSI, MIPI-DSI, USB 2.0 OTG, Ethernet
  • SDIO 3.0 SD card slot
  • Dual microphones and speaker terminals
  • RTC battery terminals
  • Expansion:
  • 2×20 pin headers providing access to 28 remaining programmable GPIOs

3. Applications

With low power consumption, ESP32-P4 is an ideal choice for IoT devices in the following areas:

  • Smart Home
  • Industrial Automation
  • Health Care
  • Consumer Electronics
  • Smart Agriculture
  • Retail Self-Service Terminals (POS, Vending Machines)
  • Service Robot
  • Multimedia Player
  • Cameras for Video Streaming
  • High-Speed USB Host and Device
  • Smart Voice Interaction Terminal
  • Edge Vision AI Processor
  • HMI Control Panel

4. Hardware Description

4.1 Module Introduction

Module definition

Component Description
01. ESP32-P4-Module ESP32-P4-Core Built-in ESP32-P4NRW32, ESP32-C6, 16MB Nor Flash, WIFI 6/Bluetooth 5
02. RGB LED RGB status indicator
03. Ethernet port chip Ethernet controller
04. ES8311 Audio codec chip
05. MIC1 First microphone input
06. Speaker interface MX1.25 2P connector, supporting 8Ω2W speaker
07. Type-A interface USB OTG 2.0 High Speed interface
08. 100 Mbps RJ45 Ethernet port Standard Ethernet connection
09. PoE Module interface Supports external PoE module connection for PoE power supply
10. Display interface MIPI-2lane display interface
11. MIC2 Second microphone input
12. Button Boot button (press when powering on/resetting to enter download mode) and Reset button
13. Type-C interface Can be used for power supply and program burning
14. Type-C UART interface Can be used for power supply, program burning, and debugging
15. CH340C USB to UART bridge
16. ES7210 Quad-channel digital microphone interface chip
17. TF card slot SDIO 3.0 interface protocol
18. ESP32-C6 UART interface UART connection to ESP32-C6
19. Power indicator light Power status indicator
20. Camera interface MIPI 2-lane camera interface
21. 6-axis attitude sensor 3-axis accelerometer and 3-axis gyroscope sensor
22. ESP32-C6 SMD ANT SDIO interface protocol, expanding Wi-Fi 6 and Bluetooth 5
23. 40PIN Pin header GPIO expansion header

4.2 GPIO Definition

Pin definition

5. Functional Block Diagram

The main components and connection methods of the ESP32-P4-Pi-VIEWE-Board are shown in the following figure:

Functional Block Diagram

6. Instructions for Use

This tutorial aims to guide users to set up the software environment for ESP32-P4 hardware development, and demonstrates how to use the ESP-IDF configuration menu, compile, and download firmware to the ESP32-P4 development board through simple examples.

Preparation

Hardware

  • ESP32-P4-Pi-VIEWE Development Board
  • USB data cable (Type-A to Type-C, prepared as needed)
  • Computer (Windows, Linux or macOS)

Software

Tip

It is recommended to install ESP-IDF using an integrated development environment. If you are familiar with ESP-IDF, you can start directly from the ESP-IDF terminal. You can choose any of the following development methods:

  • VSCode + ESP-IDF plugin (recommended)
  • Eclipse + ESP-IDF plugin (Espressif-IDE)
  • Arduino IDE

7. Software

We provide comprehensive support for Arduino, PlatformIO, and ESP-IDF frameworks, with pre-ported LVGL examples.

7.1 Software Examples

Examples are available in the GitHub Repository.

Framework Example Path Description
Arduino examples/arduino/gui/lvgl_v8 LVGL Benchmark: Usage example of lvgl v8. It can also be directly opened in the Arduino IDE.
ESP-IDF examples/esp_idf/lvgl_v9_port lvgl port: Example of porting and using lvgl in esp-idf
PlatformIO examples/platformio/lvgl_v8_port lvgl v8 port: Usage example of lvgl v8.

Framework Support Status

  • Arduino: Not supported temporarily, but we will provide corresponding steps and launch the update as soon as possible.
  • PlatformIO: Not supported temporarily, but we will provide corresponding steps and launch the update as soon as possible.

7.2 Getting Started

7.2.1 Preparation

  • Hardware: ESP32-P4-PI Board, USB-C Cable
  • Software:
  • VS Code (ESP-IDF v5.5+)
  • Arduino IDE (v2.0+)
  • VS Code (PlatformIO)
  • Libraries (needed for Arduino IDE and PlatformIO):
Library Version Description
ESP32_Display_Panel 1.0.3+ by Espressif, This is necessary to drive the screen
ESP32_IO_Expander Arduino automatic selection Dependency library of ESP32_Display_Panel
esp-lib-utils Arduino automatic selection Dependency library of ESP32_Display_Panel
lvgl 8.4.0 A free and open-source embedded graphics library

7.2.2 ESP-IDF Setup

  1. Open platformio example
  2. Go to GitHub to download the program. You can download the main branch by clicking on the "<> Code" with green text
  3. Open the example using VS Code(ESP-IDF)

  4. Compile and upload:

  5. Click build in the upper right corner to compile
  6. Connect the microcontroller to the computer. If the compilation is correct
  7. Click upload in the upper right corner to download

7.2.3 Arduino Setup (Novice tutorial)

  1. Install Arduino
  2. Choose installation based on your system type
  3. Newcomers please refer to the beginner's tutorial

  4. Install ESP32 Board Package:

  5. Open Arduino IDE
  6. Go to File > Preferences
  7. Add to Additional boards manager URLs:
    https://espressif.github.io/arduino-esp32/package_esp32_index.json
    
  8. Go to Tools > Board > Boards Manager
  9. Search esp32 by Espressif and install version 3.0.0+

  10. Install Libraries:

  11. Go to Sketch > Include Library > Library Manager
  12. Search ESP32_Display_Panel by Espressif and install version 1.0.4+. You will be prompted whether to install its dependencies, please click INSTALL ALL to install all
  13. Install lvgl (v8.4.0 recommended)

  14. Open example:

  15. Navigate to File > Examples > ESP32_Display_Panel
  16. Select Arduino > gui > lvgl_v8 > simple_port

  17. Select Board:

  18. Target: ESP32P4 Dev Module
  19. Settings:

    • Flash Size: 32MB
    • Partition Scheme: 32M Flash
    • PSRAM: OPI PSRAM (Crucial!)
  20. Config ESP supported panel board:

  21. Open the esp_panel_board_supported_conf.h file in the example
  22. Enable this file: change the ESP_PANEL_BOARD_DEFAULT_USE_SUPPORTED macro definition to 1
  23. Ensure you uncomment: #define BOARD_VIEWE_ESP32_P4_PI

    ...
    /**
     * @brief Flag to enable supported board configuration (0/1)
     *
     * Set to `1` to enable supported board configuration, `0` to disable
     */
    #define ESP_PANEL_BOARD_DEFAULT_USE_SUPPORTED       (1)
    ...
    // #define BOARD_VIEWE_SMARTRING
    // #define BOARD_VIEWE_UEDX24240013_MD50E
    // #define BOARD_VIEWE_UEDX24320024E_WB_A
    // #define BOARD_VIEWE_UEDX24320028E_WB_A
    // #define BOARD_VIEWE_UEDX24320035E_WB_A
    // #define BOARD_VIEWE_UEDX32480035E_WB_A
    // #define BOARD_VIEWE_UEDX46460015_MD50ET
    // #define BOARD_VIEWE_UEDX48270043E_WB_A
    // #define BOARD_VIEWE_UEDX48480021_MD80E_V2
    // #define BOARD_VIEWE_UEDX48480021_MD80E
    // #define BOARD_VIEWE_UEDX48480021_MD80ET
    // #define BOARD_VIEWE_UEDX48480028_MD80ET
    // #define BOARD_VIEWE_UEDX48480040E_WB_A
    // #define BOARD_VIEWE_UEDX80480043E_WB_A
    // #define BOARD_VIEWE_UEDX80480050E_AC_A
    // #define BOARD_VIEWE_UEDX80480050E_WB_A
    // #define BOARD_VIEWE_UEDX80480050E_WB_A_2
    // #define BOARD_VIEWE_UEDX80480070E_WB_A
    #define BOARD_VIEWE_ESP32_P4_PI
    ...
    

  24. Configure the example:

  25. [Optional] Edit the macro definitions in the lvgl_v8_port.h file
    • If using RGB/MIPI-DSI interface, change the LVGL_PORT_AVOID_TEARING_MODE macro definition to 1/2/3 to enable the avoid tearing function. After that, change the LVGL_PORT_ROTATION_DEGREE macro definition to the target rotation degree
    • If using other interfaces, please don't modify the LVGL_PORT_AVOID_TEARING_MODE and LVGL_PORT_ROTATION_DEGREE macro definitions
  26. [Optional] Edit the macro definitions in the lv_conf.h file

    • If using SPI/QSPI interface, change the LV_COLOR_16_SWAP macro definition to 1
  27. Select the correct port:

  28. Connect to the device
  29. Go to Tools > Port, Select the corresponding port

  30. Compile and upload:

  31. Click √ in the upper right corner to compile
  32. Connect the microcontroller to the computer. If the compilation is correct
  33. Click → in the upper right corner to download

Configuration Tips

  • In esp_panel_board_supported_conf.h, ensure you uncomment: #define BOARD_VIEWE_ESP32_P4_PI
  • Do not enable both ESP_PANEL_BOARD_DEFAULT_USE_SUPPORTED and ESP_PANEL_BOARD_DEFAULT_USE_CUSTOM
  • You cannot enable multiple esp supported panel boards at the same time

7.2.4 PlatformIO Setup

  1. Open platformio example
  2. Go to GitHub to download the program. You can download the main branch by clicking on the "<> Code" with green text
  3. Open the example using VS Code(PlatformIO)

  4. Configure PlatformIO:

  5. This example uses the BOARD_ESPRESSIF_ESP32_S3_LCD_EV_BOARD_2_V1_5 board as default. Choose BOARD_VIEWE_UEDX24320024E_WB_A in the [platformio]:default_envs of the platformio.ini file

  6. Configure the example:

  7. [Optional] Edit the macro definitions in the lvgl_v8_port.h file

    • If using RGB/MIPI-DSI interface, change the LVGL_PORT_AVOID_TEARING_MODE macro definition to 1/2/3 to enable the avoid tearing function. After that, change the LVGL_PORT_ROTATION_DEGREE macro definition to the target rotation degree
    • If using other interfaces, please don't modify the LVGL_PORT_AVOID_TEARING_MODE and LVGL_PORT_ROTATION_DEGREE macro definitions
  8. Compile and upload the project

  9. Click the √ (Compile) button
  10. Connect the board to your computer. If the compilation is correct
  11. Click the → (upload) button

📄 Product Documents

Document Title Type Description
Product Datasheet PDF Product Specification
Schematic Diagram PDF Circuit Design & PCB Connections
Display Driver IC PDF EK79007AD3 Driver Manual
Camera Specification PDF MIPI-CSI Camera Module Spec

🧠 Chip Datasheets

Chip Document Language
ESP32-P4 Datasheet English
ESP32-P4 Datasheet Chinese
ESP32-P4 Tech Reference Manual English
ESP32-P4 Tech Reference Manual Chinese
ESP32-C6 Datasheet English
ESP32-C6 Datasheet Chinese

9. More Resource

Can't find what you need?

If you need more Support or Products or Resource, please contact our team:

Resource Center More Products Contact Support