Wiznet makers

matthew

Published September 24, 2025 ©

90 UCC

9 WCC

31 VAR

0 Contests

0 Followers

1 Following

Original Link

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.

COMPONENTS
PROJECT DESCRIPTION

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/FUZIXrpipico-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 → ifconfigtelnet 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 

Documents
Comments Write