

The ESP32-S3-ETH is a high-performance microcontroller module manufactured by WAVESHARE (Part ID: ESP32-S3-POE-ETH). It features integrated Wi-Fi and Bluetooth capabilities, along with Ethernet support for reliable wired connectivity. This makes it an excellent choice for IoT applications requiring both wireless and wired communication options. The module is based on the ESP32-S3 chip, which offers dual-core processing, AI acceleration, and low-power operation.








| Parameter | Value |
|---|---|
| Microcontroller | ESP32-S3 (Xtensa® 32-bit LX7 dual-core) |
| Clock Speed | Up to 240 MHz |
| Flash Memory | 16 MB |
| PSRAM | 8 MB |
| Wi-Fi | 802.11 b/g/n (2.4 GHz) |
| Bluetooth | Bluetooth 5.0 (LE) |
| Ethernet Support | IEEE 802.3 (10/100 Mbps) |
| Power Supply | 5V via PoE or USB-C |
| GPIO Pins | 36 (multipurpose, configurable) |
| Operating Voltage | 3.3V (I/O pins) |
| Operating Temperature | -40°C to 85°C |
| Dimensions | 88 mm x 25 mm |
The ESP32-S3-ETH module features a variety of pins for GPIO, communication, and power. Below is the pinout description:
| Pin Name | Function | Description |
|---|---|---|
| VIN | Power Input | 5V input via USB-C or PoE |
| GND | Ground | Common ground |
| GPIO0 | General Purpose I/O | Configurable as input, output, or special func. |
| GPIO1-35 | General Purpose I/O | Multipurpose pins for peripherals |
| TXD0 | UART0 Transmit | Serial communication TX |
| RXD0 | UART0 Receive | Serial communication RX |
| EN | Enable | Module enable pin |
| ETH_TXD0 | Ethernet Transmit Data 0 | Ethernet communication TX |
| ETH_TXD1 | Ethernet Transmit Data 1 | Ethernet communication TX |
| ETH_RXD0 | Ethernet Receive Data 0 | Ethernet communication RX |
| ETH_RXD1 | Ethernet Receive Data 1 | Ethernet communication RX |
| ETH_CLK | Ethernet Clock | Clock signal for Ethernet |
| 3V3 | 3.3V Output | Power output for external peripherals |
Powering the Module:
Connecting to Ethernet:
Programming the Module:
Using GPIO Pins:
Wi-Fi and Bluetooth Setup:
Below is an example of how to use the ESP32-S3-ETH with the Arduino IDE to connect to an Ethernet network and print the IP address:
#include <ETH.h> // Include the Ethernet library for ESP32-S3
// Ethernet configuration
#define ETH_CLK_MODE ETH_CLOCK_GPIO0_IN // Set clock mode
#define ETH_PHY_POWER 12 // GPIO pin for PHY power
void setup() {
Serial.begin(115200); // Initialize serial communication
delay(1000); // Wait for serial monitor to open
// Initialize Ethernet
ETH.begin(ETH_PHY_POWER, ETH_CLK_MODE);
Serial.println("Initializing Ethernet...");
// Wait for an IP address
while (!ETH.localIP()) {
delay(100); // Wait for IP assignment
Serial.print(".");
}
// Print the assigned IP address
Serial.println("\nEthernet connected!");
Serial.print("IP Address: ");
Serial.println(ETH.localIP());
}
void loop() {
// Main loop can handle other tasks
}
Module Not Powering On:
Ethernet Not Connecting:
Wi-Fi Connection Fails:
GPIO Pins Not Responding:
Q: Can I use both Wi-Fi and Ethernet simultaneously?
A: Yes, the ESP32-S3-ETH supports simultaneous use of Wi-Fi and Ethernet, but proper configuration is required in your code.
Q: What is the maximum Ethernet speed supported?
A: The module supports up to 100 Mbps Ethernet speeds.
Q: Can I power the module using 3.3V directly?
A: No, the module requires a 5V input via USB-C or PoE. The onboard regulator provides 3.3V internally.
Q: Is the module compatible with Arduino IDE?
A: Yes, the ESP32-S3-ETH is compatible with the Arduino IDE. Ensure you install the ESP32 board package.
This concludes the documentation for the ESP32-S3-ETH module. For further assistance, refer to the official WAVESHARE documentation or community forums.