Skip to content

feat: add WIZnet W5500-EVB-Pico2 + E22P-868M30S variant#10552

Open
cvaldess wants to merge 5 commits into
meshtastic:developfrom
cvaldess:feature/wiznet-evb-pico2-e22p
Open

feat: add WIZnet W5500-EVB-Pico2 + E22P-868M30S variant#10552
cvaldess wants to merge 5 commits into
meshtastic:developfrom
cvaldess:feature/wiznet-evb-pico2-e22p

Conversation

@cvaldess
Copy link
Copy Markdown
Contributor

Summary

Adds a community variant for the WIZnet W5500-EVB-Pico2 development board paired with an external EBYTE E22P-868M30S LoRa module. Hardware twin of variants/rp2350/diy/pico2_w5500_e22 (added in #10135) — same LoRa pinout, same W5500 pin mapping — reuses its variant.h verbatim via -I variants/rp2350/diy/pico2_w5500_e22, so there is no duplicated pinout file.

Why a separate env

Two differences vs pico2_w5500_e22 make the existing env unsafe to use for this board:

  1. Board target. The WIZnet W5500-EVB-Pico2 PCB carries a 2 MB Q-SPI flash chip; a stock Raspberry Pi Pico 2 has 4 MB. Selecting board = wiznet_5500_evb_pico2 makes the linker fail fast on overflow instead of producing a UF2 that gets silently truncated when flashed to the device.
  2. W5500 PHY is integrated on the PCB (hard-wired SPI0 GP16-20) rather than supplied as an external module the user solders manually.

E22P vs E22

The newer E22P-868M30S replaces the older E22-900M30S's split RXEN/TXEN pins with a single combined RFEN pin (LNA + PA enable). Firmware drives this with:

  • SX126X_ANT_SW 3 — GP3 (RFEN) held HIGH at boot, never toggled afterwards;
  • SX126X_DIO2_AS_RF_SWITCH — SX1262 drives DIO2 HIGH during TX, enabling TXEN via the on-module DIO2 → TXEN bridge.

Both behaviours are inherited verbatim from the pico2_w5500_e22 variant.h.

Files

  • variants/rp2350/diy/wiznet_5500_evb_pico2_e22p/platformio.ini — env definition; reuses the shared variant.h via -I.
  • variants/rp2350/diy/wiznet_5500_evb_pico2_e22p/README.md — board overview, pinout, build/flash instructions.

No changes to shared code or other variants.

Test plan

  • Build pio run -e wiznet_5500_evb_pico2_e22p SUCCESS (RAM 19.2 %, Flash 65.6 % of 1.5 MB app partition on the 2 MB chip).
  • Verified on hardware: flashed UF2 to a WIZnet W5500-EVB-Pico2, board boots, Ethernet up via DHCP, LoRa TX/RX via E22P-868M30S module confirmed end-to-end on a 868 MHz mesh.
  • No impact on pico2_w5500_e22 build (variant.h shared but unchanged); existing builds keep working.

Adds a community variant for the WIZnet W5500-EVB-Pico2 development
board (https://docs.wiznet.io/Product/iEthernet/W5500/w5500-evb-pico2)
paired with an external EBYTE E22P-868M30S LoRa module.

This is the hardware twin of variants/rp2350/diy/pico2_w5500_e22 — same
LoRa pinout, same W5500 pin mapping — and reuses its variant.h verbatim
via `-I variants/rp2350/diy/pico2_w5500_e22`. No duplicated pinout file.

Two differences vs pico2_w5500_e22 justify the separate env:

1. Board target: `wiznet_5500_evb_pico2` (2 MB flash) instead of
   `rpipico2` (4 MB flash). The WIZnet PCB ships with a smaller Q-SPI
   chip than a stock Pi Pico 2. Selecting the correct board makes the
   linker fail fast on overflow instead of producing a UF2 that gets
   silently truncated when flashed to the device.
2. W5500 PHY is integrated on the PCB (hard-wired SPI0 GP16-20) rather
   than supplied as an external module the user wires manually.

The E22P-868M30S uses a single combined RFEN pin (LNA + PA enable)
instead of the older E22-900M30S's split RXEN/TXEN pins. RFEN is held
HIGH at all times via `SX126X_ANT_SW 3`; TX switching still uses the
on-module DIO2 → TXEN bridge through `SX126X_DIO2_AS_RF_SWITCH`.

Build verified: wiznet_5500_evb_pico2_e22p SUCCESS
(RAM 19.2%, Flash 65.6% of 1.5 MB partition / 2 MB chip).
@github-actions github-actions Bot added the hardware-support Hardware related: new devices or modules, problems specific to hardware label May 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

hardware-support Hardware related: new devices or modules, problems specific to hardware

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants