-

ESP32-P4-ETH: Difference between revisions

From Geekworm Wiki
Jump to navigation Jump to search
Rita (talk | contribs)
Rita (talk | contribs)
 
(17 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{GD Template Impl}}
{{GD Template Impl}}
[[|thumb|right|X1017 Interface]]
==Important Notes==
==Important Notes==
<font color=red>
<font color=red>
# This documentation describes ESP32-P4-ETH bare board.
* This documentation describes ESP32-P4-ETH bare board.
# The board is equipped with PoE expansion header ONLY. External PoE module must be purchased separately to achieve PoE power supply.
* The board is equipped with PoE expansion header ONLY. External PoE module must be purchased separately to achieve PoE power supply.
# Onboard microphone and speaker connector are provided. Audio codec and amplifier are NOT assembled on the board.
* Onboard microphone and speaker connector are provided. Audio codec and amplifier are NOT assembled on the board.
# MIPI-DSI display, MIPI-CSI camera and speaker are peripherals, NOT included with bare board.
* MIPI-DSI display, MIPI-CSI camera and speaker are peripherals, NOT included with bare board.
</font>
</font>


Line 70: Line 66:


==User Manual==
==User Manual==
* X1017 hardware description:[https://suptronics.com/Raspberrypi/Storage/x1017-v1.0_hardware.html X1017 Hardware]
* [https://docs.waveshare.com/ESP32-P4-ETH/Resources-And-Documents Resources]
* How to make it work:Manual PCIe enable configuration is required. Full official tutorial:[https://suptronics.com/Raspberrypi/Storage/x1017-v1.0_software.html X1017 Software]
* [https://docs.waveshare.com/ESP32-P4-ETH/Development-Environment-Setup-IDF Working with ESP-IDF]
* [https://docs.waveshare.com/ESP32-P4-ETH/Firmware-Flashing Firmware Flashing and Erasing]


==FAQ==
==FAQ==
Line 77: Line 74:
<div class="toccolours mw-collapsible mw-collapsed">
<div class="toccolours mw-collapsible mw-collapsed">
<div style="font-weight:bold;line-height:1.0;">
<div style="font-weight:bold;line-height:1.0;">
Q1: Question 1
Q1: Which screens are supported by the development board?
</div>
<div class="mw-collapsible-content">
A: Please first check the component documentation to confirm compatible screen types: [https://github.com/waveshareteam/Waveshare-ESP32-components/tree/master/bsp/esp32_p4_platform esp32_p4_platform]
 
</div>
</div>
 
<div class="toccolours mw-collapsible mw-collapsed">
<div style="font-weight:bold;line-height:1.0;">
Q2: How do I determine my ESP32-P4 chip revision?
</div>
<div class="mw-collapsible-content">
A: Check the silkscreen marking on the chip and the boot log from the serial port. The ESP32-P4 Platform examples provide build configurations for rev v3.0 and later chips, rev v3.1 and later chips, and rev v0.x / v1.x engineering samples. Before flashing, make sure the firmware configuration matches the actual chip revision.
 
</div>
</div>
 
<div class="toccolours mw-collapsible mw-collapsed">
<div style="font-weight:bold;line-height:1.0;">
Q3: Which ESP-IDF version is recommended for ESP32-P4?
</div>
<div class="mw-collapsible-content">
A: ESP-IDF v5.5.1 ~ v5.5.4 is recommended. The ESP32-P4 Platform examples are primarily maintained for ESP-IDF release/v5.4 and later versions. Some advanced UI examples may retain compatibility notes for release/v5.3; please refer to the README in the example directory for details.
 
</div>
</div>
 
<div class="toccolours mw-collapsible mw-collapsed">
<div style="font-weight:bold;line-height:1.0;">
Q4: Which ESP-IDF version is recommended for ESP32-P4?
</div>
<div class="mw-collapsible-content">
A:This message means the firmware's ESP32-P4 chip revision configuration doesn't match the chip on your board. Do not use <code>--force</code>to skip the check — rebuild with the correct chip revision instead.
 
The ESP32-P4 Platform repository provides shared configuration files:
 
* rev v3.1 or later: <code>config/esp32p4_rev_v3_1.defaults</code>
* rev v3.0 or later: <code>config/esp32p4_rev_v3_0.defaults</code>
* rev v0.x / v1.x engineering sample: <code>config/esp32p4_rev_pre_v3.defaults</code>
 
Specify the matching config in the example directory via SDKCONFIG_DEFAULTS. See the detailed instructions under [https://docs.waveshare.com/ESP32-P4-ETH/Development-Environment-Setup-IDF#p4-revision-config ESP-IDF examples.]
 
[[File:ESP32-P4-ETH-10.jpg| 700px]]
</div>
</div>
 
<div class="toccolours mw-collapsible mw-collapsed">
<div style="font-weight:bold;line-height:1.0;">
Q5: Can the development board be powered by both USB Type-C and PoE at the same time?
</div>
<div class="mw-collapsible-content">
A: Yes, it does not affect power delivery.
 
</div>
</div>
 
<div class="toccolours mw-collapsible mw-collapsed">
<div style="font-weight:bold;line-height:1.0;">
Q6: What is the maximum camera resolution supported by ESP32-P4?
</div>
<div class="mw-collapsible-content">
A: During functionality testing, we have validated several features. Currently, there are developments such as using a Cat-4 module to provide network connectivity for the P4, or using the P4's MIPI-DSI to extend a host screen. However, for stability reasons, related example programs are not yet provided. They will be added to the wiki once the features and solutions are more mature.
 
</div>
</div>
 
<div class="toccolours mw-collapsible mw-collapsed">
<div style="font-weight:bold;line-height:1.0;">
Q7: Can I develop using PlatformIO or MicroPython?
</div>
</div>
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
A: Place the answer here.
A:  
* For stability, support for ESP32-P4 in PlatformIO requires the PlatformIO community to support the Arduino-esp32 SDK version 3.1x.
* During development, we have experimented with using MPY firmware for the ESP32-P4, which can run simple commands. However, this is still in the validation phase. Actual interfaces and peripheral applications are not yet fully adapted. Once adaptation is complete and stable, usage examples for ESP32-P4 in MicroPython will be released.
 
</div>
</div>
</div>
</div>


<!--Add review function! -->
<!--Add review function! -->

Latest revision as of 15:22, 30 July 2026

Important Notes

  • This documentation describes ESP32-P4-ETH bare board.
  • The board is equipped with PoE expansion header ONLY. External PoE module must be purchased separately to achieve PoE power supply.
  • Onboard microphone and speaker connector are provided. Audio codec and amplifier are NOT assembled on the board.
  • MIPI-DSI display, MIPI-CSI camera and speaker are peripherals, NOT included with bare board.

Overview

The ESP32-P4-ETH is a multimedia development board based on the ESP32-P4. It provides a rich set of human-machine interfaces, including MIPI-CSI (integrated image signal processor ISP), MIPI-DSI, SPI, I2S, I2C, LED PWM, MCPWM, RMT, ADC, UART, TWAI, etc. Additionally, it supports USB OTG 2.0 HS and Ethernet, and features an onboard 40PIN GPIO expansion header compatible with some Raspberry Pi Pico expansion boards for broader application adaptability. The ESP32-P4 is powered by a RISC-V dual-core processor, supports up to 32MB PSRAM, and integrates peripherals such as USB 2.0, MIPI-CSI/DSI, and an H.264 encoder, meeting the demands of low-cost, high-performance, and low-power multimedia development. In addition, the ESP32-P4 integrates a digital signature peripheral and a dedicated key management unit to ensure data and operation security. The ESP32-P4-ETH is specially designed for high-performance and high-security applications, meeting the needs of embedded systems in human-machine interaction, edge computing, and IO expansion.

Features

Processor

  • Equipped with a RISC-V 32-bit dual-core processor (HP system), featuring DSP and ISA extensions, a Floating-Point Unit (FPU), with a main frequency of up to 360 MHz.
  • Equipped with a RISC-V 32-bit single-core processor (LP system), with a main frequency of up to 40 MHz.

Memory

  • 128 KB of high-performance (HP) system read-only memory (ROM).
  • 16 KB of low-power (LP) system read-only memory (ROM).
  • 768 KB of high-performance (HP) L2 memory (L2MEM).
  • 32 KB of low-power (LP) SRAM.
  • 8 KB of system tightly coupled memory (TCM).
  • 32 MB PSRAM stacked in the package, onboard 32MB Nor Flash

Peripheral Interfaces

  • 2 × 20 pin headers onboard, exposing 27 remaining programmable GPIOs
  • Onboard speaker interface and microphone, enabling ideal audio functionality using the Codec chip and amplifier chip
  • Onboard MIPI-CSI high-definition camera interface, supporting Full HD 1080P image capture and encoding, integrated Image Signal Processor (ISP), H.264 video encoder, supports H.264 & JPEG video encoding (1080P @30fps), facilitating applications in computer vision, machine vision, and other fields
  • Onboard MIPI-DSI high-definition display interface, integrated Pixel Processing Accelerator (PPA), 2D graphics acceleration controller (2D DMA), supports JPEG image decoding (1080P @30fps), providing strong support for high-definition display and smooth HMI experiences, suitable for applications such as smart home control panels, industrial control panels, and vending machines

Hardware Description

  1. ESP32-P4NRW32 ESP32-P4 with 32MB stacked PSRAM
  2. 100M RJ45 Ethernet Port
  3. 32MB Nor Flash
  4. Display Interface MIPI-DSI (2-lane), compatible with 5 / 7 / 8 / 10.1inch DSI screens
  5. Camera Interface MIPI-CSI (2-lane), compatible with cameras such as OV5647
  6. Type-C Interface For power supply, programming, and debugging
  7. SMD Microphone
  8. Speaker Interface MX1.25 2P connector, supports 8Ω 2W speaker
  9. 4PIN USB Interface USB OTG 2.0 High Speed interface
  10. PoE Module & Power Supply Header
  11. BOOT Button Press during power-up or reset to enter download mode
  12. RESET Button Reset button
  13. Power Indicator
  14. TF Card Slot SDIO 3.0 interface protocol

Install Guide

Dimensions

Development Tools

Arduino generally offers a gentler learning curve and may be more approachable for beginners and hobbyists. ESP-IDF provides advanced tooling and finer control over system behavior, making it better suited to complex projects and applications with demanding performance requirements.

⚠️warning

ESP32-P4 currently has limited adaptation on the Arduino platform. To ensure development stability, it is recommended to use ESP-IDF for development at this stage. If you have requirements for using the Arduino platform, you can participate in the discussion on GitHub: Support of Arduino

  • ESP-IDF, short for Espressif IoT Development Framework, is a development framework provided by Espressif for the ESP series chips. It is developed using the C language, including a compiler, debugger, and flashing tool, etc., and can be developed via the command lines or through an integrated development environment (such as Visual Studio Code with the Espressif IDF plugin). The plugin offers features such as code navigation, project management, and debugging, etc. We recommend using VS Code for development. For the specific configuration process, please refer to the [Working with ESP-IDF|https://docs.waveshare.com/ESP32-P4-ETH/Development-Environment-Setup-IDF]. The tutorial also provides relevant demos for reference.

Packing List

  • ESP32-P4-ETH Development Board x1
  • 20-pin GPIO Headers x2

User Manual

FAQ

Q1: Which screens are supported by the development board?

A: Please first check the component documentation to confirm compatible screen types: esp32_p4_platform

Q2: How do I determine my ESP32-P4 chip revision?

A: Check the silkscreen marking on the chip and the boot log from the serial port. The ESP32-P4 Platform examples provide build configurations for rev v3.0 and later chips, rev v3.1 and later chips, and rev v0.x / v1.x engineering samples. Before flashing, make sure the firmware configuration matches the actual chip revision.

Q3: Which ESP-IDF version is recommended for ESP32-P4?

A: ESP-IDF v5.5.1 ~ v5.5.4 is recommended. The ESP32-P4 Platform examples are primarily maintained for ESP-IDF release/v5.4 and later versions. Some advanced UI examples may retain compatibility notes for release/v5.3; please refer to the README in the example directory for details.

Q4: Which ESP-IDF version is recommended for ESP32-P4?

A:This message means the firmware's ESP32-P4 chip revision configuration doesn't match the chip on your board. Do not use --forceto skip the check — rebuild with the correct chip revision instead.

The ESP32-P4 Platform repository provides shared configuration files:

  • rev v3.1 or later: config/esp32p4_rev_v3_1.defaults
  • rev v3.0 or later: config/esp32p4_rev_v3_0.defaults
  • rev v0.x / v1.x engineering sample: config/esp32p4_rev_pre_v3.defaults

Specify the matching config in the example directory via SDKCONFIG_DEFAULTS. See the detailed instructions under ESP-IDF examples.

Q5: Can the development board be powered by both USB Type-C and PoE at the same time?

A: Yes, it does not affect power delivery.

Q6: What is the maximum camera resolution supported by ESP32-P4?

A: During functionality testing, we have validated several features. Currently, there are developments such as using a Cat-4 module to provide network connectivity for the P4, or using the P4's MIPI-DSI to extend a host screen. However, for stability reasons, related example programs are not yet provided. They will be added to the wiki once the features and solutions are more mature.

Q7: Can I develop using PlatformIO or MicroPython?

A:

  • For stability, support for ESP32-P4 in PlatformIO requires the PlatformIO community to support the Arduino-esp32 SDK version 3.1x.
  • During development, we have experimented with using MPY firmware for the ESP32-P4, which can run simple commands. However, this is still in the validation phase. Actual interfaces and peripheral applications are not yet fully adapted. Once adaptation is complete and stable, usage examples for ESP32-P4 in MicroPython will be released.