Wiznet makers

viktor

Published December 18, 2025 ©

112 UCC

20 WCC

46 VAR

0 Contests

0 Followers

0 Following

Original Link

Let's code a Linux network driver - How to follow along my SSED Linux Network Driver Tutorials

Let's code a Linux network driver - How to follow along my SSED Linux Network Driver Tutorials

COMPONENTS Hardware components

WIZnet - W7500

x 1


PROJECT DESCRIPTION

Introduction

Adding Ethernet over SPI is a classic embedded/Linus-hacker problem: you want a clean way to push and pull Ethernet traffic using a simple serial bus, without needing PCIe or USB NICs. w7500-spi2eth tackles that by turning a WIZnet W7500 into a SPI-based networking card

Important note up front: this is a community-made project (not an official WIZnet project), even though it leverages WIZnet-provided libraries inside the repo.

Author introduction

The repository is maintained by Johannes4Linux on GitHub, who is active in GNU/Linux education content—especially around Linux kernel modules/drivers and embedded interfaces. Their GitHub profile highlights multiple tutorial repositories (e.g., Linux driver tutorials, USB tutorials, embedded interfaces) and an established follower base. 

The linked YouTube video also frames the work as part of a hands-on learning track: writing and developing a Linux networking driver, using a WIZnet W7500 evaluation board as the hardware target.

Project description

What it is

w7500-spi2eth provides firmware for “turning a Wiznet W7500 into a SPI Networking card.” 

W7500 | WIZnet Co., Ltd.

Key idea (architecture)

Instead of treating the W7500 as a standalone MCU that runs an entire application stack, this approach configures the W7500 to act as a SPI slave that focuses on Ethernet frame transmit/receive, controlled by SPI commands from the host side.

Surf 5 Microcontroller Evaluation Board - WIZnet | Mouser

Hardware targets

The repo explicitly mentions it can be built/used with WIZnet evaluation boards such as Surf 5, WIZWIKI-W7500, and WIZWIKI-W7500ECO, and shows a wiring example for connecting a Surf 5 to a Raspberry Pi.

WIZwiki-W7500ECO(イーサネットシールド付き) — スイッチサイエンス

What’s in the repo (licensing note)

The README states that files under the wiznet folder come from Wiznet W7500x_StdPeriph_Lib, while the rest is authored by the project maintainer under the MIT license (and the WIZnet library has its own MIT-like licensing). 

Source Repositories

For the custom PCB boards in the video, source can be found below

https://github.com/Johannes4Linux/Ethernet_PCBs

Code and connection with RPi SBC can be found in below repo:

https://github.com/Johannes4Linux/w7500-spi2eth

Surf 5 connected to a Raspberry Pi

Why WIZnet is used

This project makes sense specifically with the WIZnet W7500 family because it’s positioned as a one-chip MCU + networking solution: W7500-based platforms are commonly described as integrating an ARM Cortex-M0 and a hardwired TCP/IP core (and related networking capabilities), making it a strong base for experiments where networking is the “main feature,” not an afterthought. 

Also, the author explicitly centers the workflow around W7500 evaluation boards, which reduces friction for learners and makers who want reproducible hardware while building Linux networking/driver experiments. 

How it can benefit WIZnet

New “mental model” for W7500: not only “MCU with Ethernet,” but also a SPI-to-Ethernet building block for Linux/SBC projects—great for education and prototyping. 

Developer awareness via learning content: pairing open-source firmware with a “let’s write a Linux networking driver” style video naturally attracts Linux learners, which can translate into more W7500 eval-board adoption. 

Community-driven reference momentum: projects like this often become unofficial reference points (“how do I do SPI Ethernet with W7500?”). That can inspire WIZnet-friendly follow-ups like an application note, a clarified SPI framing spec, or a curated “getting started” guide for Linux.

Documents
Comments Write