PicoZorro
Amiga Zorro-II Bus Cards using nothing but an RPi Pico to interact with the bus
0
Project description
Project description
PicoZorro — An RP2350 Expansion Card for Amiga Zorro II
English
01 — Project Overview
PicoZorro is an open hardware and software expansion card for classic Amiga computers with a Zorro II slot. An RP2350 microcontroller acts as a Zorro II bus device and gives the Amiga access to Ethernet, a USB host port, and MP3/MP2 decoding.
The first card, PicoZorro One, uses a WIZnet W5500 for Ethernet. Its Amiga-side software includes picozorro.device, a SANA-II network driver that works with Amiga TCP/IP stacks such as Roadshow and AmiTCP.
The project is notable because it combines hardware, RP2350 firmware, Amiga drivers, a boot ROM, and update tools in one open repository. Firmware and drivers have run on a prototype carrier board in an Amiga, with Ethernet, USB mass storage, and MP3 playback reported as working.
The newly designed PicoZorro One TH PCB is a separate step: its schematic and routed board pass ERC/DRC, but the board has not yet been manufactured or tested in an Amiga.
Repository: maximevince/PicoZorro
02 — What the Card Provides
The PicoZorro One is designed to provide three main functions:
- Ethernet: W5500 connected to the RP2350 over SPI
- USB host: the RP2350’s USB port, with an Amiga driver for Poseidon
- MP3/MP2 decoding:
minimp3runs on the card and is exposed to Amiga software through anmpega.libraryreplacement
The card also has a boot ROM that can load its Amiga drivers and library when Kickstart starts. This is intended to avoid requiring users to install the driver files from a disk.
Firmware updates are designed to run from the Amiga using pzflash. The RP2350 flash has two application slots, and an unconfirmed update can be discarded in favor of the previous image.
03 — How Ethernet Reaches the Amiga
The main PicoZorro firmware moves raw Ethernet frames between the W5500 and the Amiga’s Zorro II bus. On the Amiga side, picozorro.device presents the interface as a SANA-II device. The Amiga’s TCP/IP software then uses that network device.
Amiga TCP/IP stack
↕
picozorro.device (SANA-II)
↕
Zorro II register window
↕
RP2350 firmware and frame queues
↕
W5500 over SPI
↕
EthernetThe RP2350 implements the Zorro II bus interface using PIO state machines. One core serves the bus; the other handles the Ethernet chip and other card functions. The firmware uses shared frame queues between the bus side and network side.
The card’s Ethernet driver supports receive and transmit queues, multicast filtering, link status, frame counters, and interrupts. The Amiga driver handles SANA-II requests, including send, receive, online/offline state, multicast configuration, and network statistics.
Relevant files:
04 — Does It Use W5500 TOE?
No. The product’s Ethernet path uses W5500 MACRAW mode.
The repository’s WIZnet driver documentation explicitly says it operates in MACRAW mode. The W5500 driver opens Socket 0 in MACRAW mode and transfers Ethernet frames through the chip’s buffers. The main product firmware then forwards those frames across the Zorro II interface to the Amiga’s SANA-II driver.
This lets the Amiga’s TCP/IP stack handle higher-level network protocols. The card is acting as an Ethernet interface for the Amiga, rather than exposing W5500’s TCP/UDP hardware sockets to an application.
There is a separate nic-demo firmware image that uses Embassy networking on the RP2350 to obtain DHCP, answer pings, and run a TCP echo server on port 7. Its source explicitly describes that stack as a test tool; the product firmware moves raw frames between the Zorro side and the Ethernet chip.
05 — The Hardware Design
PicoZorro One TH is based on a Waveshare Core2350B0 module containing the RP2350B. The W5500 is supplied as a separate “Lite” module with a WIZ850io-style pinout and connects over SPI1.
The repository provides a through-hole DIY build and a JLCPCB-assembled SMD alternative on the same PCB. Both versions use the same firmware and Amiga software. Users solder the modules and USB connector themselves; the through-hole or SMD component set depends on the selected build.
The hardware repository includes:
- KiCad schematic and PCB
- Gerber and drill files
- DIY parts list and JLC BOM/placement files
- Pin mapping and connector-orientation documentation
- 3D board renders and design notes
The board connects directly to a 5 V Zorro II bus. Its safety notes explain the RP2350 GPIO voltage tolerance assumptions and measured power-up timing, but also warn against hot-plugging the card or powering the bus while the card’s 3.3 V rail is off.
06 — Software Structure and Amiga Integration
The repository separates the design into three main parts:
| Part | Role |
|---|---|
| RP2350 firmware | Zorro II bus interface, W5500 frame transfer, USB host, audio decoder, boot and update functions |
| Amiga software | SANA-II Ethernet driver, USB host driver, mpega.library, firmware updater, diagnostics |
| Hardware | Zorro II interface, RP2350 module, W5500 module, USB connector, optional microSD and audio DAC |
The Amiga network driver is intended to work with SANA-II-compatible stacks. The USB host driver is for Poseidon, while the MP3 decoder appears to Amiga applications as an mpega.library replacement.
The boot ROM loads the card’s driver modules into Amiga memory at startup. Users can also install the drivers to disk and use that route instead.
07 — Firmware Updates and Reproducibility
The .pzf update file is built on a PC and copied to the Amiga. From there, pzflash UPDATE writes the image to the inactive RP2350 flash slot, checks its CRC, activates it as a trial image, and confirms it if it boots successfully. If it is not confirmed, the RP2350 boot process is designed to return to the previous image.
The repository includes build instructions and a CI workflow for firmware and Amiga software. The README says releases can contain the UF2 installer, firmware update file, and Amiga software.
There are validation limits to keep visible:
- The firmware and drivers have run on a prototype carrier board in an Amiga.
- The new PicoZorro One TH PCB itself has not been built.
- Initial installation over SWD has been used; the UF2 installation route has not yet been exercised on a module.
- Firmware updates have been tested over a UART backplane from a PC and FS-UAE, but not yet through the Zorro bus in a real Amiga.
- The repository identifies a default RP2350 clock setting of 240 MHz, above the chip’s stated 150 MHz rating.
See firmware update details and the hardware build status.
08 — What Makes This a Strong WIZnet Use Case?
PicoZorro uses the W5500 as part of a distinctive, application-first product design: adding Ethernet to a classic Amiga through a Zorro II expansion card.
The W5500 is not only listed in the parts table. The firmware selects it as the default Ethernet chip, initializes it on SPI, opens its MACRAW socket, and transfers frames through the card’s network path. The Amiga-side SANA-II driver makes those frames available to existing Amiga TCP/IP software.
The strongest story is therefore not “W5500 handles TCP/IP for the Amiga.” It is:
A W5500-based Ethernet interface brings network connectivity to an open Amiga Zorro II expansion card, with raw Ethernet frames bridged to the Amiga’s own network stack.
The project also pairs Ethernet with USB host support, MP3 decoding, boot-time driver loading, and firmware updates, making it a broader retrocomputing platform rather than a standalone Ethernet adapter.
09 — Curation Decision
Strong candidate — W5500 MACRAW use and Amiga application are verified; final duplicate check remains
- Application: Ethernet, USB host, and MP3 expansion card for classic Amiga systems
- WIZnet chip: W5500
- Connection: SPI1 between RP2350B and W5500
- Network mode: MACRAW; Ethernet frames bridged to the Amiga SANA-II driver
- TOE: Not used by the product’s Amiga networking path
- Working prototype: Firmware and drivers reported running in an Amiga using a carrier-board prototype
- New PCB: PicoZorro One TH is designed and ERC/DRC checked, but not manufactured
- Duplicate search: Exact WIZnet Maker search returned no result; keep status as
NEEDS_DEDUPuntil checked against the curation list
One-line introduction
An open RP2350 card bringing W5500 Ethernet, USB host, and MP3 decoding to Amiga Zorro II systems.
Selection reason (under 50 characters)
Open Amiga card combining Ethernet, USB and MP3
프로젝트 설명
PicoZorro — Amiga Zorro II용 RP2350 확장 카드
한국어
01 — 프로젝트 개요
PicoZorro는 Zorro II 슬롯을 가진 클래식 Amiga 컴퓨터를 위한 오픈 하드웨어·소프트웨어 확장 카드입니다. RP2350이 Zorro II 버스 장치로 동작하며 Amiga에 Ethernet, USB Host, MP3/MP2 디코딩 기능을 제공합니다.
첫 번째 카드인 PicoZorro One은 WIZnet W5500으로 Ethernet을 연결합니다. Amiga 측에는 Roadshow나 AmiTCP 같은 Amiga TCP/IP 스택과 연결할 수 있는 SANA-II 네트워크 드라이버 picozorro.device가 포함됩니다.
하드웨어와 RP2350 펌웨어, Amiga 드라이버, 부트 ROM, 업데이트 도구를 한 저장소에서 함께 다루는 점이 특징입니다. 저장소 설명에 따르면 펌웨어와 드라이버는 캐리어 보드 형태의 프로토타입으로 Amiga에서 동작했으며, Ethernet·USB 대용량 저장장치·MP3 재생이 확인됐습니다.
다만 새로 설계한 PicoZorro One TH PCB는 별개의 상태입니다. 회로도와 PCB가 ERC/DRC 검사를 통과했지만, 아직 제작하거나 Amiga에서 시험하지 않았습니다.
02 — 카드가 제공하는 기능
PicoZorro One은 다음 세 가지 주요 기능을 제공합니다.
- Ethernet: RP2350과 SPI로 연결한 W5500
- USB Host: RP2350의 USB 포트와 Poseidon용 Amiga 드라이버
- MP3/MP2 디코딩: 카드에서
minimp3를 실행하고, Amiga 프로그램에서mpega.library대체 라이브러리로 사용
Amiga가 시작될 때 Kickstart가 카드의 드라이버와 라이브러리를 불러오는 부트 ROM도 포함합니다. 사용자가 디스크에서 드라이버 파일을 직접 설치하지 않아도 되도록 설계한 기능입니다.
펌웨어는 Amiga에서 pzflash 도구로 업데이트하는 구조입니다. RP2350 플래시에 두 개의 애플리케이션 슬롯을 두고, 새 이미지가 부팅 확인을 받지 못하면 이전 이미지로 돌아가도록 설계했습니다.
03 — Ethernet은 어떻게 Amiga까지 전달되는가?
PicoZorro의 기본 펌웨어는 W5500과 Amiga의 Zorro II 버스 사이에서 Ethernet 프레임을 전달합니다. Amiga 측에서는 picozorro.device가 SANA-II 장치로 보이며, Amiga의 TCP/IP 소프트웨어가 이 네트워크 장치를 사용합니다.
Amiga TCP/IP 스택
↕
picozorro.device (SANA-II)
↕
Zorro II 레지스터 윈도우
↕
RP2350 펌웨어와 프레임 큐
↕
SPI로 연결된 W5500
↕
EthernetRP2350은 PIO State Machine으로 Zorro II 버스 인터페이스를 구현합니다. 한 코어는 버스에 응답하고, 다른 코어는 Ethernet 칩과 기타 카드 기능을 처리합니다. 버스 쪽과 네트워크 쪽은 공유 프레임 큐를 통해 데이터를 주고받습니다.
Ethernet 드라이버는 송수신 프레임 큐, 멀티캐스트 필터, 링크 상태, 프레임 통계와 인터럽트를 처리합니다. Amiga 드라이버는 송수신, 온라인·오프라인 상태, 멀티캐스트 설정, 네트워크 통계 등 SANA-II 요청을 담당합니다.
관련 파일:
04 — W5500의 TOE를 사용하는가?
아니요. 제품의 Ethernet 경로는 W5500 MACRAW 모드를 사용합니다.
저장소에 포함된 WIZnet 드라이버 문서는 MACRAW 모드로 동작한다고 명시합니다. W5500의 Socket 0을 MACRAW로 열고, 칩의 버퍼를 통해 Ethernet 프레임을 주고받습니다. 제품 펌웨어는 이 프레임을 Zorro II 버스를 통해 Amiga의 SANA-II 드라이버로 전달합니다.
이 구조에서는 Amiga의 TCP/IP 스택이 상위 네트워크 프로토콜을 처리합니다. 카드가 W5500의 TCP/UDP 하드웨어 소켓을 애플리케이션에 제공하는 방식이 아니라, Amiga용 Ethernet 인터페이스 역할을 합니다.
별도의 nic-demo 펌웨어에서는 RP2350의 Embassy 네트워킹 스택으로 DHCP를 받고, ping에 응답하며, TCP Echo 서버를 실행합니다. 소스는 이 기능을 시험 도구라고 명시합니다. 제품 펌웨어에서는 Zorro 버스와 Ethernet 칩 사이에 raw frame을 전달합니다.
05 — 하드웨어 설계
PicoZorro One TH는 RP2350B가 들어 있는 Waveshare Core2350B0 모듈을 기반으로 합니다. W5500은 WIZ850io와 비슷한 핀 배열의 별도 “Lite” 모듈로 제공되며, SPI1에 연결됩니다.
저장소는 하나의 PCB로 두 가지 조립 방법을 제공합니다. DIY 버전은 스루홀 부품을 직접 납땜하고, JLCPCB 버전은 SMD 부품을 조립해 받습니다. 두 버전은 같은 펌웨어와 Amiga 소프트웨어를 사용합니다. 모듈과 USB 커넥터는 두 방식 모두 직접 납땜해야 합니다.
하드웨어 저장소에는 다음이 포함됩니다.
- KiCad 회로도와 PCB
- Gerber 및 드릴 파일
- DIY 부품 목록과 JLC BOM·배치 파일
- Zorro II 핀 배열과 커넥터 방향 문서
- 3D 보드 렌더와 설계 메모
보드는 5 V Zorro II 버스에 직접 연결됩니다. 저장소는 RP2350 GPIO의 전압 허용 조건과 전원 상승 시간을 검토하고 측정했다고 설명하지만, 카드 핫플러그나 보드의 3.3 V 전원 없이 버스만 켜는 상황은 금지하고 있습니다.
06 — 소프트웨어 구성과 Amiga 통합
저장소는 크게 세 영역으로 나뉩니다.
| 구성 | 역할 |
|---|---|
| RP2350 펌웨어 | Zorro II 버스 인터페이스, W5500 프레임 전송, USB Host, 오디오 디코더, 부트 및 업데이트 기능 |
| Amiga 소프트웨어 | SANA-II Ethernet 드라이버, USB Host 드라이버, mpega.library, 펌웨어 업데이트 및 진단 도구 |
| 하드웨어 | Zorro II 인터페이스, RP2350 모듈, W5500 모듈, USB 커넥터, 선택형 microSD와 오디오 DAC |
Amiga 네트워크 드라이버는 SANA-II를 지원하는 네트워크 스택과 함께 사용합니다. USB Host 드라이버는 Poseidon용이며, MP3 디코더는 Amiga 프로그램이 mpega.library 대체 라이브러리로 호출합니다.
부트 ROM은 시작 시 카드의 드라이버 모듈을 Amiga 메모리로 불러옵니다. 원하면 드라이버를 디스크에 설치해 사용하는 방법도 지원합니다.
07 — 펌웨어 업데이트와 재현성
.pzf 업데이트 파일은 PC에서 빌드해 Amiga로 복사합니다. Amiga에서 pzflash UPDATE를 실행하면 펌웨어를 비활성 RP2350 플래시 슬롯에 기록하고 CRC를 확인한 뒤 시험 부팅합니다. 부팅 확인을 받으면 새 버전을 확정하고, 확인에 실패하면 이전 이미지로 돌아가도록 설계했습니다.
저장소에는 펌웨어와 Amiga 소프트웨어 빌드 방법, CI 워크플로가 포함됩니다. README는 릴리스에 UF2 설치 파일, 펌웨어 업데이트 파일, Amiga 소프트웨어를 포함할 수 있다고 설명합니다.
다음 검증 한계도 함께 봐야 합니다.
- 펌웨어와 드라이버는 캐리어 보드 프로토타입으로 Amiga에서 동작했다고 기록돼 있습니다.
- 새 PicoZorro One TH PCB는 아직 제작되지 않았습니다.
- SWD를 통한 최초 설치는 사용했지만, UF2 설치 경로는 실제 모듈에서 시험되지 않았습니다.
- 펌웨어 업데이트는 PC 및 FS-UAE에서 UART 백플레인으로 시험했지만, 실제 Amiga의 Zorro 버스에서는 아직 검증되지 않았습니다.
- 기본 펌웨어 설정은 RP2350의 명시된 150 MHz 정격보다 높은 240 MHz 클럭을 사용한다고 저장소가 밝힙니다.
자세한 내용은 펌웨어 업데이트 설명과 하드웨어 제작 상태를 참고하면 됩니다.
08 — WIZnet 사용 사례로서의 가치
PicoZorro는 클래식 Amiga에 Zorro II 확장 카드를 통해 Ethernet을 추가하는 독특한 애플리케이션에서 W5500을 사용합니다.
W5500은 부품 목록에 이름만 올라간 것이 아닙니다. 펌웨어는 W5500을 기본 Ethernet 칩으로 선택하고 SPI로 초기화한 뒤 MACRAW Socket 0을 열어 프레임을 주고받습니다. Amiga 측 SANA-II 드라이버는 그 프레임을 기존 Amiga TCP/IP 소프트웨어에 전달합니다.
따라서 핵심 스토리는 “W5500이 Amiga 대신 TCP/IP를 처리한다”가 아닙니다. 정확하게는 다음과 같습니다.
W5500 기반 Ethernet 인터페이스가 오픈 Amiga Zorro II 확장 카드에 네트워크 연결을 제공하고, raw Ethernet 프레임을 Amiga 자체 네트워크 스택으로 전달한다.
Ethernet뿐 아니라 USB Host, MP3 디코딩, 부팅 시 드라이버 로드, 펌웨어 업데이트까지 한 카드에 통합한다는 점에서 단순한 Ethernet 어댑터보다 넓은 레트로컴퓨팅 플랫폼입니다.