The WT32-ETH01 is a versatile Wi-Fi and Ethernet module that integrates the powerful ESP32 microcontroller with Ethernet capabilities. This module is designed to provide flexible connectivity options, supporting both wireless (Wi-Fi) and wired (Ethernet) communication. Its compact design and robust features make it ideal for a wide range of IoT applications, including smart home devices, industrial automation, and networked sensors.
The WT32-ETH01 module has a 2x10 pin header. Below is the pinout and description:
Pin | Name | Description |
---|---|---|
1 | 3V3 | 3.3V power input |
2 | GND | Ground |
3 | TXD0 | UART0 Transmit (for serial communication) |
4 | RXD0 | UART0 Receive (for serial communication) |
5 | IO0 | GPIO0 (used for boot mode selection during programming) |
6 | IO2 | GPIO2 (general-purpose I/O) |
7 | IO4 | GPIO4 (general-purpose I/O) |
8 | IO5 | GPIO5 (general-purpose I/O) |
9 | IO12 | GPIO12 (general-purpose I/O) |
10 | IO13 | GPIO13 (general-purpose I/O) |
11 | IO14 | GPIO14 (general-purpose I/O) |
12 | IO15 | GPIO15 (general-purpose I/O) |
13 | IO16 | GPIO16 (general-purpose I/O) |
14 | IO17 | GPIO17 (general-purpose I/O) |
15 | EN | Enable pin (active high, used to reset the module) |
16 | ETH_TXD0 | Ethernet Transmit Data 0 |
17 | ETH_TXD1 | Ethernet Transmit Data 1 |
18 | ETH_RXD0 | Ethernet Receive Data 0 |
19 | ETH_RXD1 | Ethernet Receive Data 1 |
20 | ETH_CLK | Ethernet Clock (50 MHz) |
3V3
pin and connect GND
to ground.TXD0
and RXD0
) to program the ESP32 microcontroller. GPIO0 (IO0
) should be pulled low during programming to enter boot mode.ETH_TXD0
, ETH_TXD1
, ETH_RXD0
, ETH_RXD1
, and ETH_CLK
) are internally connected to the LAN8720A PHY.The WT32-ETH01 can be programmed using the Arduino IDE. Below is an example of how to configure the module for Ethernet communication:
#include <ETH.h> // Include the Ethernet library for ESP32
// Define Ethernet configuration
#define ETH_CLK_MODE ETH_CLOCK_GPIO0_IN // Use GPIO0 for Ethernet clock
#define ETH_PHY_POWER 12 // GPIO12 controls Ethernet PHY power
void setup() {
Serial.begin(115200); // Initialize serial communication
Serial.println("Initializing Ethernet...");
// Initialize Ethernet with default settings
if (!ETH.begin(ETH_PHY_POWER, ETH_CLK_MODE)) {
Serial.println("Ethernet initialization failed!");
while (1); // Halt execution if Ethernet fails to initialize
}
Serial.println("Ethernet initialized successfully!");
Serial.print("IP Address: ");
Serial.println(ETH.localIP()); // Print the assigned IP address
}
void loop() {
// Main loop can handle other tasks or network communication
}
Ethernet Not Working:
Wi-Fi Connection Fails:
Module Not Responding:
Can I use both Wi-Fi and Ethernet simultaneously? Yes, the WT32-ETH01 supports simultaneous use of Wi-Fi and Ethernet, but you may need to manage the network interfaces in your firmware.
What is the maximum data rate for Ethernet? The module supports up to 100 Mbps Ethernet communication.
Can I power the module with 5V? No, the WT32-ETH01 requires a 3.3V power supply. Use a voltage regulator if your power source is 5V.
Is the module compatible with Arduino IDE? Yes, the WT32-ETH01 can be programmed using the Arduino IDE with the appropriate ESP32 board package installed.