diff --git a/wled00/const.h b/wled00/const.h
index 70373316fd..94df8bee2d 100644
--- a/wled00/const.h
+++ b/wled00/const.h
@@ -395,7 +395,7 @@ static_assert(WLED_MAX_BUSSES <= 32, "WLED_MAX_BUSSES exceeds hard limit");
#define BTN_TYPE_TOUCH_SWITCH 9
//Ethernet board types
-#define WLED_NUM_ETH_TYPES 16
+#define WLED_NUM_ETH_TYPES 17
#define WLED_ETH_NONE 0
@@ -414,6 +414,7 @@ static_assert(WLED_MAX_BUSSES <= 32, "WLED_MAX_BUSSES exceeds hard limit");
#define WLED_ETH_GLEDOPTO 13
#define WLED_ETH_QUINLED_V4_UNOQUAD 14
#define WLED_ETH_QUINLED_V4_OCTA 15
+#define WLED_ETH_WESP32_RTL8201 16
//Hue error codes
diff --git a/wled00/data/settings_wifi.htm b/wled00/data/settings_wifi.htm
index e187f887fb..687efa49eb 100644
--- a/wled00/data/settings_wifi.htm
+++ b/wled00/data/settings_wifi.htm
@@ -242,7 +242,8 @@
Ethernet Type
-
+
+
diff --git a/wled00/network.cpp b/wled00/network.cpp
index 606fa65d9e..16639fb629 100644
--- a/wled00/network.cpp
+++ b/wled00/network.cpp
@@ -45,7 +45,7 @@ const ethernet_settings ethernetBoards[] = {
ETH_CLOCK_GPIO17_OUT // eth_clk_mode
},
- // WESP32
+ // WESP32 rev 6 and earlier
{
0, // eth_address,
-1, // eth_power,
@@ -175,6 +175,16 @@ const ethernet_settings ethernetBoards[] = {
ETH_PHY_LAN8720, // eth_type
ETH_CLOCK_GPIO0_IN // eth_clk_mode
},
+
+ // WLED_ETH_WESP32_RTL8201 (16) - WESP32 rev 7 and later
+ {
+ 0, // eth_address
+ -1, // eth_power
+ 16, // eth_mdc
+ 17, // eth_mdio
+ ETH_PHY_RTL8201, // eth_type
+ ETH_CLOCK_GPIO0_IN // eth_clk_mode
+ },
};
// sanity checks for ethernet config table and WLED_ETH_DEFAULT