Wiznet makers

Lihan__

Published September 24, 2025 ©

8 UCC

5 WCC

0 VAR

0 Contests

0 Followers

0 Following

Original Link

RP2040 + W6100 Mini Board

Custom RP2040 mini-board couples Raspberry Pi’s $1 MCU with WIZnet W6100 Ethernet for a palm-sized, IPv4/IPv6-ready IoT platform offering single-chip TCP/IP

COMPONENTS
PROJECT DESCRIPTION

Project Overview

RP2040’s budget-friendly horsepower meets WIZnet’s feature-rich W6100 to create an ultra-small Ethernet node ideal for embedded web servers, gateways, or industrial sensors. Double-sided component placement and a trimmed 10-pin header shrink the board to roughly the same size as earlier single-chip W6100 SSM modules, yet it now hosts a full MCU. Engineer's LAB

Key Features

Full IPv4/IPv6 stack in silicon – zero CPU overhead for TCP/UDP, plus MAC+PHY inside W6100.

33 MHz SPI on RP2040 – sustains high-throughput DMA transfers (configurable). Engineer's LAB

Tiny 2-layer PCB – front/back placement, compact QSPI flash, 10-pin SSM footprint. Engineer's LAB

Hardware Setup

W6100’s SPI, INT, and RST lines map to RP2040 SPI0 (GPIO 16-19), leaving the second core free for user tasks. The 10-pin header exposes 3V3, GND, SPI, UART, and SWD, simplifying plug-in prototyping.

Software Implementation

Core Functionality

 
#include <SPI.h> #include "Ethernet_Generic.h"

#define USING_W6100       true
#define USE_THIS_SS_PIN   17     // RP2040 EXP board #define SPI_X             spi0
#define SPI_ETHERNET_SETTINGS SPISettings(33000000, MSBFIRST, SPI_MODE0)

byte mac[] = {0x00,0x08,0xDC,0x00,0x00,0x00};

void setup() {
  Serial.begin(115200);
  Ethernet.init(USE_THIS_SS_PIN);   // tie W6100 to SPI0 @33 MHz
  Ethernet.begin(mac);              // DHCP
}

void loop() { /* user application */ }

 

Network Architecture

The RP2040 communicates with W6100 over SPI; W6100 handles all Ethernet framing and protocol logic, surfacing a BSD-style socket API via the library. Users can stack additional sensors on I²C/SPI1 while core Ethernet traffic streams independently.

Performance Results

Early DHCP + ping tests show immediate link-up and <1 ms round-trip on a 100 Mbps LAN; iperf stress-tests are planned once final firmware is in place.

Lessons Learned

Shared PCB real-estate across both sides drastically cuts board size without compromising signal integrity.

Keeping W6100 on RP2040 SPI0 avoids pin-mux headaches and lets the Pico SDK example code run unmodified.

Future Improvements

Add PoE option via isolated 48 V module.

Break-out USB-C for power and serial in the same connector.

Publish KiCad sources and BOM for community spin-offs.

Challenges & Solutions

ChallengeSolution
Routing 100 Ω differential pairs on a 20 mm boardSwapped to compact MagJack daughtercard; kept short stub lengths
Limited pin count10-pin SSM header chosen; multiplexed SWD & UART via jumpers
Flash footprintSelected 2 MB W25Q16JV in USON-8 package
Documents
Comments Write