Waveshare ESP32-S3-ETH
| Chip | ESP32-S3 |
|---|---|
| Form factor | Board, Pico-style 2×20 headers |
| Flash | 16 MB + 8 MB PSRAM |
| Antenna | Ceramic; IPEX after moving a 0 Ω resistor |
| USB | USB-C (native USB) |
| Install | Browser installer, esp32s3-cdc flavor |
| Price | ~$17–26 (board), ~$32 with PoE |
| Stores | amz/usamz/us (PoE)waveshare |
| GPIO | Function | ESPresense setting |
|---|---|---|
| 21 | WS2812 RGB LED | LEDs |
| 0 | BOOT button | — |
| 13 | W5500 SCLK | — |
| 12 | W5500 MISO | — |
| 11 | W5500 MOSI | — |
| 14 | W5500 CS | — |
| 10 | W5500 INT | — |
| 9 | W5500 RST | — |
| 4 | TF card CS | — |
| 16 | Free (suggested I2C SDA) | — |
| 17 | Free (suggested I2C SCL) | — |
Template
Section titled “Template”Paste this into the Board Template box on the node's Templates page, then Preview and Apply (firmware v5.0.0b1 or later). It sets the board's pins (and Ethernet type, if it has one) in one go. The LED, input and output lists replace what was configured before, so the result doesn't depend on the node's old setup. See Templates.
{"name":"ESP32-S3-ETH","chip":"esp32s3","settings":{"leds":[{"type":"grb","pin":21,"count":1,"control":"status"}],"inputs":[],"outputs":[],"eth":14}}Formatted, with what each value means
{
"name": "ESP32-S3-ETH",
"chip": "esp32s3",
"settings": {
"leds": [
{
"type": "grb",
"pin": 21,
"count": 1,
"control": "status"
}
],
"inputs": [],
"outputs": [],
"eth": 14
}
}LED type: pwm, pwm_inverted, grb, grbw, rgb or rgbw (the last four are addressable). LED control: mqtt, status, motion, count, or output (follows the output numbered byoutput). Input type: pullup, pulldown or floating, with_inverted for active-low. Output type: output, output_inverted, or high/low for a pin that's just held at that level. An output's input is the 1-based input that controls it. power takes ESPHome's hlw8012 values (a cse7766 needs only rx); sel_inverted matches ESPHome's inverted on sel_pin. eth is the Ethernet Type's option number.
- Install the
esp32s3-cdcflavor. USB-C goes straight to the S3’s native USB; the plainesp32s3build talks on the UART pins, so the installer flashes it but then can’t connect (#1646). If flashing fails, hold BOOT, tap RESET, release BOOT. - The amber Ethernet LED works backwards. The W5500 drives it, not ESPresense: it’s lit when there’s no link and goes off once the cable links. Off is good.
- The template uses the RGB LED (GPIO 21) for status. I2C is off by default. For a sensor, SDA 16 / SCL 17 are free; not 21, which is the LED.
- PoE needs Waveshare’s add-on module (802.3af), sold as the ESP32-S3-POE-ETH.
- GPIO 33–37 are used by the octal PSRAM even though they’re on the header. The camera variants use 1–3, 15, 18, 38–42 and 45–48.
- LilyGO’s T-ETH-Lite ESP32-S3 and T-ETH-ELite also use a W5500, but on different pins, so they don’t work with this Ethernet Type.