Repo landing page was empty (only firmware/README.md existed) - add an overview, repo layout, quick-start, and requirements, cross-linking to firmware/README.md for the detailed changelog. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2.8 KiB
ZIFI32 — ESP32 WiFi/SPI module for ZX Evolution
Firmware and hardware for the ESP32-S3-based WiFi/SPI module ("ZiFi32") used by the ZX Evolution / TS-Conf ("Pentevo") retro-computer platform. Adds WiFi, a WAV/XM/MOD/S3M audio tracker, and (new in this fork, work in progress) an SMB2/3 network share that exposes the machine's real SD card to any Windows/macOS/Linux client.
Base source: tslabs/zx-evo.
See firmware/README.md for the full list of changes
made in this fork and their current status.
Requirements
- The ZX Evolution/TS-Conf board's own core firmware must be built with VDAC2 and ESP32 (ZiFi32) peripheral support enabled - without both, the core won't recognize this module on the SPI bus at all, and won't drive the FT8xx video chip either.
- The RESET jumper on the IDE connector must be installed - see
hardware/connection_diagram.webp.
Repository layout
| Path | What's there |
|---|---|
src/ |
ESP32 firmware source (ESP-IDF project) |
firmware/ |
Ready-to-flash compiled binaries + flashing instructions + changelog |
hardware/ |
Adapter board connection diagram, PCB photo, Gerber files |
doc/ |
Protocol/design notes |
test/ |
Original upstream SPI protocol test scripts (Python, Raspberry Pi) |
spi_gpio_probe/ |
Standalone diagnostic firmware - logs raw SPI pin edges, used for bring-up debugging, NOT the main firmware |
Quick start
- Flash
firmware/esp-spi.bin(+ bootloader/partition table) to the ESP32-S3 module - seefirmware/README.mdfor the exactesptool.pycommand. - Wire it up per
hardware/connection_diagram.webp(adapter PCB Gerbers are inhardware/gerber/if you're making your own board - see the photo inhardware/pcb_photo.jpg). - Make sure the ZX Evolution core firmware requirement above is met.
- Build from source instead of flashing the prebuilt binary: ESP-IDF
v6.1 (not
v6.1-rc1),idf.py build flash.
Status
WiFi, audio tracker playback, and the SMB2/3 VFS bridge (browse, download,
upload, delete over a real SD card) all work against real hardware. The VFS
bridge is still actively being developed - directory creation, in-place
file truncation on overwrite, and live directory-change notifications aren't
implemented yet. Full details in firmware/README.md.
License
This repository vendors libsmb2
(LGPL-2.1) under src/third_party/libsmb2 - see its own COPYING and
LICENCE-LGPL-2.1.txt there.