Skip to content

Ethernet W5500

mattbox03 edited this page Oct 23, 2026 · 1 revision

Ethernet W5500 (experimental)

Most ESP32-S3 boards, including the N16R8 boards this firmware targets, have no Ethernet. Support exists only for an explicitly wired W5500 SPI module and only in the separate Ethernet image (firmware-eth.bin and the …Ethernet-EXPERIMENTAL-factory.bin). It is implemented and host-tested but not physically validated. The Ethernet image's Web UI is English only.

Wiring and settings

Network → Ethernet uplink: SPI host (SPI2/SPI3), clock (1–40 MHz), SCLK/MOSI/MISO/CS, INT (or -1 to poll) and RST (or -1). Pins reserved on N16R8 boards are refused: GPIO0/3/45/46 (straps), 19/20 (USB), 26–37 (flash/octal PSRAM), 38–40 (microSD log), 43/44 (console UART). DHCP or a static IPv4 address. Settings apply after a restart; an invalid saved record means "Ethernet off".

Uplink preference

  • Wi-Fi first (default): Ethernet is used only while Wi-Fi has no address.
  • Ethernet first: Ethernet becomes the uplink after it has been up with an address for three consecutive checks; losing it falls back to Wi-Fi at once.

Tailscale control, DERP, WireGuard and access-point NAT follow the selected uplink. The Ethernet interface gets the same ESP-bound firewall chains as Wi-Fi and is started only after those hooks are installed.

Limits

Only W5500. Service Gateway listeners follow the selected uplink, so clients must use the current uplink address. The .local name answers on the Wi-Fi uplink only. No throughput or link-flap measurements yet.

Never flash the Ethernet image on a board without the module.

Full guide: ETHERNET.md.

Clone this wiki locally