-

ESP32-P4-ETH: Difference between revisions

From Geekworm Wiki
Jump to navigation Jump to search
Rita (talk | contribs)
Created page with "{{GD Template Impl}} [[|thumb|right|X1017 Interface]] ==Important Notes== <font color=red> ⚠️ Important Disclaimer This documentation describes ESP32-P4-ETH bare board. 1. The board is equipped with PoE expansion header ONLY. External PoE module must be purchased separately to achieve PoE power supply. 2. Onboard microphone and speaker connector are provided. Audio codec and amplifier are NOT assembled on the board. 3. MIPI-DSI display, MIPI-CSI camera and speaker..."
 
Rita (talk | contribs)
 
(36 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>
⚠️ Important Disclaimer
* 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.
1. 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.
2. 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.
3. MIPI-DSI display, MIPI-CSI camera and speaker are peripherals, NOT included with bare board.</font>
</font>


==Overview==
==Overview==
Line 15: Line 12:


==Features==
==Features==
'''Processor '''
'''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 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.
* Equipped with a RISC-V 32-bit single-core processor (LP system), with a main frequency of up to 40 MHz.
'''Memory '''
'''Memory '''
* 128 KB of high-performance (HP) system read-only memory (ROM).
* 128 KB of high-performance (HP) system read-only memory (ROM).
* 16 KB of low-power (LP) system read-only memory (ROM).
* 16 KB of low-power (LP) system read-only memory (ROM).
Line 25: Line 22:
* 8 KB of system tightly coupled memory (TCM).
* 8 KB of system tightly coupled memory (TCM).
* 32 MB PSRAM stacked in the package, onboard 32MB Nor Flash
* 32 MB PSRAM stacked in the package, onboard 32MB Nor Flash
'''Peripheral Interfaces '''
'''Peripheral Interfaces '''
* 2 × 20 pin headers onboard, exposing 27 remaining programmable GPIOs
* 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 speaker interface and microphone, enabling ideal audio functionality using the Codec chip and amplifier chip
Line 32: Line 29:


==Hardware Description==
==Hardware Description==
{| class="wikitable"
[[File:ESP32-P4-ETH-08.jpg |700px]]
|-
 
|'''Power input'''|| 
# '''ESP32-P4NRW32''' ESP32-P4 with 32MB stacked PSRAM
* '''12Vdc ± 5%'''<font color=red>(Warning: Over-voltage will damage your HDDs!)</font>
# '''100M RJ45 Ethernet Port'''
*Intput Ripple & Noise: 200mVp-p Max 
# '''32MB Nor Flash'''
|-
# '''Display Interface''' MIPI-DSI (2-lane), compatible with 5 / 7 / 8 / 10.1inch DSI screens
|'''Recommended power supply via DC jack'''||
# '''Camera Interface''' MIPI-CSI (2-lane), compatible with cameras such as OV5647
* 8 x SATA 2.5" HDD/SSD : '''12V 10A adapter x1'''
# '''Type-C Interface''' For power supply, programming, and debugging
* 4 x SATA 3.5" HDD : '''12V 10A adapter x1'''
# '''SMD Microphone'''
* 8 x SATA 3.5" HDD : '''12V 10A adapter x2'''
# '''Speaker Interface''' MX1.25 2P connector, supports 8Ω 2W speaker
(Note: 3.5" HDDs draw high inrush current on startup. 8×3.5" HDD setups require two identical-spec 12V DC adapters connected in parallel via the dual DC jacks.)
# '''4PIN USB Interface''' USB OTG 2.0 High Speed interface
|-
# '''PoE Module & Power Supply Header'''
|'''Recommended power supply via 4-pin ATX connector'''|| 
# '''BOOT Button''' Press during power-up or reset to enter download mode
* '''12V 20A'''
# '''RESET Button''' Reset button
<font color=red>⚠️ CRITICAL WARNING: Never connect a DC power adapter AND an ATX power supply to the board simultaneously.</font>
# '''Power Indicator'''
# '''TF Card Slot''' SDIO 3.0 interface protocol
 
==Install Guide==
[[File:ESP32-P4-ETH-07.jpg|700px]]
 
==Dimensions==
[[File:ESP32-P4-ETH-09.jpg|700px]]
 
==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.
 
<font color=red>⚠️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</font>
| '''Raspberry Pi Power Supply''' || 5.1V ±5%


|-
* '''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.
| '''Ports & Connectors''' ||
 
* '''2 × DC 5.5×2.1mm power input jacks''' (parallel design)
==Packing List==
* '''1 × ATX 4-pin power in/out connector '''
* ESP32-P4-ETH Development Board x1
(Input: powers the whole system when connected to an ATX power supply
* 20-pin GPIO Headers x2
 
==User Manual==
* [https://docs.waveshare.com/ESP32-P4-ETH/Resources-And-Documents Resources]
* [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==
<!-- 这里提供了一个Q&A的模板,增加Q&A时按照下面的格式写就可以了 -->
<div class="toccolours mw-collapsible mw-collapsed">
<div style="font-weight:bold;line-height:1.0;">
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]


Output: provides 12V for extra drives when powered via DC jacks)
</div>
*  1 × 16-pin 0.5mm pitch PCIe FFC connector
</div>
*  8 × 7-pin SATA 3.0 data connectors
*  1 × 4-pin function header
|-
| '''4-pin Function Header Pinout'''||
* Pin1 = external momentary power switch
* Pin2 = fan PWM (Connecting to Raspberry Pi 5 Fan)
* Pin3 = ground
* '''Pin4 = 12V power output
|-
| '''PCB Size''' || 100mm × 86mm
|-
|'''PCIe cable length'''|| 37mm


<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.


==Install Guide==
</div>
[[File:X1017-IMG-1036.jpg|600px]]
</div>


==How to Power==
<div class="toccolours mw-collapsible mw-collapsed">
[[File:X1017-IMG-1035.jpg|600px]]
<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.


==Test & Reviews==
The ESP32-P4 Platform repository provides shared configuration files:
'''Test Conditions'''
* System board details: Raspberry Pi 5 Model B Rev 1.0 , 4G RAM
* Interface board details: X1017 PCIe3.0 to 8-port SATA board
* Operation system: Raspberry Pi OS with desktop (Debian13 (trixie), 64bit, Release date: 4 Dec 2025)
* Storage details: Samsung EVO 750 2.5" SATA SSD


'''Testing disk drive read speed with hdparm'''
* 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>


[[File:X1017.png | 700px]]
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.]


Note:Test result is for single-drive sequential read. Multi-drive concurrent throughput is limited by the Pi 5's PCIe Gen3 x1 total bandwidth.
[[File:ESP32-P4-ETH-10.jpg| 700px]]
</div>
</div>


==Packing List==
<div class="toccolours mw-collapsible mw-collapsed">
* X1017 V1.0 PCIe3.0 to 8-port SATA expansion board x1
<div style="font-weight:bold;line-height:1.0;">
* Screw CM2.5x5mm x4
Q5: Can the development board be powered by both USB Type-C and PoE at the same time?
* PCIe FFC cable 37mm x2
</div>
* SATA power spillter cable x1
<div class="mw-collapsible-content">
[[File:X1017-IMG-0922-Packing-List-3.jpg|600px]]
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.


==User Manual==
</div>
* X1017 hardware description:[https://suptronics.com/Raspberrypi/Storage/x1017-v1.0_hardware.html X1017 Hardware]
</div>
* 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]


==FAQ==
<!-- 这里提供了一个Q&A的模板,增加Q&A时按照下面的格式写就可以了 -->
<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
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.