---
title: "How to use Ethernet in Fuzix OS with W5500 and Raspberry Pi Pico"
url: "https://maker.wiznet.io/mason/projects/how-to-use-ethernet-in-fuzix-os-with-w5500-and-raspberry-pi-pico/"
markdown_url: "https://maker.wiznet.io/mason/projects/how-to-use-ethernet-in-fuzix-os-with-w5500-and-raspberry-pi-pico/md"
type: "WCC: WIZnet Created Content"
author: "Mason Lee"
editor: "WIZnet"
editor_url: "https://maker.wiznet.io/"
original_author: "Mason Lee"
published: "2023-08-16"
language: "en"
hardware: ["WIZnet W5500-EVB-Pico"]
likes: 3
views: 7977
comments: 6
source: "WIZnet Makers (https://maker.wiznet.io/)"
---

# How to use Ethernet in Fuzix OS with W5500 and Raspberry Pi Pico

> Ethernet for Fuzix OS: A Step-by-Step Guide to Implementing Connectivity with Raspberry Pi Pico and W5500

Original author: Mason Lee

## Components

- **WIZnet W5500-EVB-Pico** x 1 ([docs](https://docs.wiznet.io/Product/Chip/Ethernet/W5500/w5500-evb-pico))

## Documents and links

- [Github Code](https://github.com/wiznetmaker/FUZIX/tree/rpipico-eth-w5500) (code)

## Article

Fuzix OS is an operating system, inspired by the old UNIX systems, with the aim to bring the UNIX-like experience to smaller, less powerful machines. Its lightweight nature and modular architecture make it a good choice for retro and minimalistic systems.

I used the W5500 to port Ethernet based on David Given's porting of the Raspberry pi pico to FUZIX. [- Fuzix on the Raspberry Pi Pico](https://cowlark.com/2021-02-16-fuzix-pi-pico/)

**Hardware**
I used the W5500-EVB-Pico board from WIZnet, but you can also use a raspberry pi pico or RP2040 board + W5500 and connect the SPI line with a jump wire.
[&lt;W5500-EVB-Pico>](https://docs.wiznet.io/Product/iEthernet/W5500/w5500-evb-pico)
[![W5500-EVB-RP2040](https://docs.wiznet.io/assets/images/w5500_evb_pico_side-da676c5d9c41adedc0469b9f1810b81b.png)](https://docs.wiznet.io/Product/iEthernet/W5500/w5500-evb-pico)

**Git Clone and Branch Checkout**

| git clone -b rpipico-eth-w5500 <https://github.com/wiznetmaker/FUZIX.git> cd FUZIX/Kernel/platform-rpipico |
| --- |

**Set the path to your pico-sdk**

| /FUZIX/Kernel/platform-rpipico/Makefile #export PICO_SDK_PATH = /home/dg/src/pico/pico-sdk |
| --- |

**Check the SPI pins**

| /FUZIX/Kernel/platform-rpipico/devsdspi.c #define Pico_ETH_SPI_SCK 18 #define Pico_ETH_SPI_TX 19 #define Pico_ETH_SPI_RX 16 #define Pico_ETH_SPI_CS 17 #define Pico_ETH_SPI_MOD spi0 |
| --- |

**Set the network infomation**
FUZIX OS does not support DHCP, so you have to inpu the IP/Gateway/Subnet Mask manually.

| /FUZIX/Kernel/dev/net/net_w5x00.c netdev_init ipa = ntohl(0xC0A80001); //IP address iga = ntohl(0xC0A800FE); //gateway igm = ntohl(0xFFFFFF00); //subnet mask |
| --- |

**Build and write Image**
After building, write the build/fuzix.uf2 file and filesystem.uf2 file to the flash memory of the Raspberry pi pico. By default, you should put the filesystem.img file on the SD card and connect it to the Raspberry pi pico, but I did not succeed with this way.

| make world -j make image -j |
| --- |

**Test**

![](https://maker.wiznet.io/upload/ckeditor5/409144723%5F1692200238%2Epng)

![](https://maker.wiznet.io/upload/ckeditor5/409144723%5F1692200269%2Epng)

When I run htget, the html file is saved twice, and I'm not sure why.

You can see the demo video this:

[Embedded media](https://www.youtube.com/embed/BZF0F5MT4w8)

---

Source: https://maker.wiznet.io/mason/projects/how-to-use-ethernet-in-fuzix-os-with-w5500-and-raspberry-pi-pico/
