

The ESP32-P4-WIFI6-POE-ETH is a high-performance microcontroller module manufactured by Waveshare. It is designed for advanced IoT applications, offering integrated Wi-Fi 6 and Ethernet capabilities. The module also supports Power over Ethernet (PoE), enabling both power and data transmission over a single Ethernet cable, which simplifies deployment and reduces wiring complexity.
This component is ideal for applications requiring high-speed connectivity, low power consumption, and robust network performance. Common use cases include smart home devices, industrial automation, remote monitoring systems, and edge computing.








Below are the key technical details of the ESP32-P4-WIFI6-POE-ETH:
| Parameter | Value |
|---|---|
| Manufacturer | Waveshare |
| Microcontroller | ESP32-P4 |
| Wireless Connectivity | Wi-Fi 6 (802.11ax) |
| Wired Connectivity | Ethernet (10/100 Mbps) |
| Power Input | Power over Ethernet (PoE) or 5V via USB |
| Operating Voltage | 3.3V |
| Flash Memory | 16 MB |
| SRAM | 8 MB |
| GPIO Pins | 40 (multipurpose) |
| Operating Temperature | -40°C to 85°C |
| Dimensions | 58 mm x 25 mm |
The ESP32-P4-WIFI6-POE-ETH features a 40-pin layout. Below is the pin configuration:
| Pin Number | Pin Name | Description |
|---|---|---|
| 1 | GND | Ground |
| 2 | 3V3 | 3.3V Power Output |
| 3 | GPIO0 | General Purpose I/O, Boot Mode Selection |
| 4 | GPIO1 | General Purpose I/O |
| 5 | GPIO2 | General Purpose I/O |
| 6 | GPIO3 | General Purpose I/O |
| 7 | TXD0 | UART0 Transmit |
| 8 | RXD0 | UART0 Receive |
| 9 | ETH_TX+ | Ethernet Transmit Positive |
| 10 | ETH_TX- | Ethernet Transmit Negative |
| 11 | ETH_RX+ | Ethernet Receive Positive |
| 12 | ETH_RX- | Ethernet Receive Negative |
| ... | ... | ... (Refer to the full datasheet for all pins) |
Powering the Module:
Connecting to Wi-Fi:
Using Ethernet:
Programming the Module:
GPIO Usage:
Below is an example of how to connect the ESP32-P4-WIFI6-POE-ETH to an Arduino UNO for basic Wi-Fi functionality:
#include <WiFi.h> // Include the Wi-Fi library for ESP32
// Replace with your network credentials
const char* ssid = "Your_SSID";
const char* password = "Your_PASSWORD";
void setup() {
Serial.begin(115200); // Initialize serial communication at 115200 baud
delay(1000); // Wait for a second to stabilize
// Connect to Wi-Fi
Serial.println("Connecting to Wi-Fi...");
WiFi.begin(ssid, password);
// Wait until connected
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("\nWi-Fi connected!");
Serial.print("IP Address: ");
Serial.println(WiFi.localIP()); // Print the assigned IP address
}
void loop() {
// Add your main code here
}
Wi-Fi Connection Fails:
Ethernet Not Working:
Module Not Powering On:
GPIO Pins Not Responding:
Q: Can I use this module without PoE?
A: Yes, you can power the module via the USB-C port using a 5V power source.
Q: Does the module support Bluetooth?
A: No, the ESP32-P4-WIFI6-POE-ETH is focused on Wi-Fi 6 and Ethernet connectivity.
Q: What development environments are supported?
A: The module supports the Arduino IDE and ESP-IDF for firmware development.
Q: Can I use this module for outdoor applications?
A: Yes, but ensure it is housed in a weatherproof enclosure to protect it from environmental factors.