W5500-EVB-PICO2上のFuzixでEthernetに接続する話
Fuzix on W5500-EVB-PICO2: apply rpipico+W5500 patches, set IP in hex, build/flash, and verify networking with ifconfig, telnet, and htget.

Overview
This tutorial shows how to run Fuzix (a Unix-like OS for constrained systems) on W5500-EVB-PICO2—a board that integrates RP2350 and WIZnet W5500—and bring it online via Ethernet. Unlike earlier Pico setups that needed jumper-wire SPI wiring to a W5500 module, EVB-PICO2 routes W5500↔RP2350 over on-board SPI, eliminating wiring and letting you focus on kernel/driver work, static IP configuration, build/flash, and verification with ifconfig
/ telnet
/ htget
. (Zenn)
Original Language & Author
Originally published in Japanese on Zenn (Dec 17, 2024) as part of the Raspberry Pi Advent Calendar 2024. The author, kazueda, is a maker who “loves 8-bit CPUs/MCUs.” This article follows an earlier post on booting Fuzix on W5500-EVB-PICO2/Pico2 and now focuses on enabling Ethernet. The board used was provided by the Japanese Raspberry Pi User Group. (Zenn)
Key Highlights
Context: Fuzix + W5x00 Ethernet lineage
The article surveys prior Fuzix+Ethernet examples (Z80 SC111, Raspberry Pi Pico, ESP8266) and contrasts them with EVB-PICO2’s no-wiring SPI path to W5500. Reference links include Z80 on the internet, a Pico+Fuzix+W5500 guide, and the Fuzix ESP8266 platform notes. (Zenn)
Patch base for rpipico + W5500
Because the Pico/Pico2 repos lack W5500 bits, the author points to wiznetmaker/FUZIX
→ rpipico-eth-w5500
and its “3 commits ahead” changes: 7 files modified and 2 files added (wiznet.c
/ wiznet.h
). Apply these into Kernel/platform-rpipico
. A note mentions the overclock Makefile option isn’t reflected yet. (Zenn)
Static network parameters (hex, big-endian)
In Kernel/dev/net_w5x00.c
, inside netdev_init()
, set IP/Gateway/Mask as hex constants (e.g., 0xC0A80001
→ 192.168.0.1; 0xC0A800FE
→ 192.168.0.254; 0xFFFFFF00
→ 255.255.255.0). The author recommends using an IP↔hex converter. (Zenn)
Build / flash / verify
Build Fuzix with the patched platform-rpipico
, flash to EVB-PICO2, then verify with ifconfig
and simple connectivity checks: telnet
to a server and htget
from a web server. Tools are text-based, but they confirm the network stack is alive. (Zenn)
Hardware note
W5500-EVB-PICO2 (RP2350 + W5500) is linked as the target product; SPI between RP2350 and W5500 is on-board (no jumper wires). (Zenn)
Why It Matters (Curator’s View)
Zero-wiring network bring-up: EVB-PICO2 removes wiring variables and lets learners focus on OS porting, driver integration, and network parameterization—the real educational value. (Zenn)
“Small-Unix” on microcontrollers: Fuzix exposes the full stack—kernel, driver, and userland—so you practice reading → patching → rebuilding → validating with concrete files (e.g., wiznet.c/h
, net_w5x00.c
). (Zenn)
Protocol literacy: Manually encoding IP/GW/MASK in hex (endian awareness) builds intuition you will reuse in embedded networking and bare-metal bring-up. (Zenn)
Quick Reproduce (Checklist)
Prep: Set up the Fuzix build environment from the prior article (booting Fuzix on EVB-PICO2/Pico2). (Zenn)
Patch: From wiznetmaker/FUZIX
rpipico-eth-w5500
, apply the 7 mods + 2 adds into Kernel/platform-rpipico
and include wiznet.c
/ wiznet.h
. (Zenn)
Network params: In Kernel/dev/net_w5x00.c
, set IP/GW/MASK hex constants for your LAN. (Zenn)
Build & flash: Build Fuzix and flash to W5500-EVB-PICO2 (RP2350 + W5500 SPI is on-board). (Zenn)
Verify: Boot → ifconfig
→ telnet
to a server → htget
a file from a web server. (Zenn)
References
Original (Japanese): Zenn — W5500-EVB-PICO2上のFuzixでEthernetに接続する話 (Dec 17, 2024). (Zenn)
Prior article (booting): W5500-EVB-PICO2やRaspberry Pi Pico2でFuzixを起動する話. (Zenn)
Product: WIZnet — W5500-EVB-PICO2 (RP2350 + W5500). (Zenn)
Related examples: Z80 on the Internet; Pico+Fuzix+W5500 how-to; Fuzix ESP8266 platform