This repository provides esphome components to use the WIZnet W5500-EVB-Pico module with the build in ethernet. It's heavily based on w5500-evb-pico-esphome, kudos to maxgerhardt!
Webserver and OTA updates should work with this configuration. Tested on an official unmodified ESPHome installation.
The components are currently based on ESPHome 2025.12.7 and maybe need to be adopted on later changes.
Each component replaces the corresponding build-in component in ESPHome. They have the following modifications:
Added PLATFORM_RP2040 to support OTA updates on this board.
Added PLATFORM_RP2040 to enable web server on this board.
Mainly based on maxgerhardts changes which integrates the W5500lwIP.h library.
IMPORTANT: This implementation overrides the build in ethernet component of ESPHome and only supports DHCP mode. None of the default config parameters of the original ESPHome component are implemented here (e.g. static ip).
esphome:
friendly_name: "W5500-EVB-Pico"
name: w5500
platformio_options:
build_flags:
- -Dpadsbank0_hw=pads_bank0_hw
logger:
baud_rate: 0
level: DEBUG
api:
# remove if added to HA
reboot_timeout: 0s
ota:
- platform: esphome
external_components:
- source: github://tiehfood/w5500-evb-pico-esphome-components@main
components: [async_tcp, ethernet, web_server]
web_server:
port: 80
version: 3
local: true
rp2040:
board: wiznet_5500_evb_pico
framework:
platform_version: https://github.com/maxgerhardt/platform-raspberrypi.git#develop
version: 5.4.4
source: https://github.com/earlephilhower/arduino-pico.git#5.4.4
ethernet:
switch:
- platform: gpio
pin: 25
name: "Onboard LED"
id: onboard_led
- platform: restart
name: "Restart Device"
entity_category: "diagnostic"
sensor:
- platform: adc
pin: TEMPERATURE
name: "Core Temperature"
unit_of_measurement: "°C"
entity_category: "diagnostic"
filters:
- lambda: return 27 - (x - 0.706f) / 0.001721f;