alexandClaude Sonnet 5 030c43aa4a Document the AT-command UART interface
Root README: new "Интерфейсы" section listing the supported AT+ subset
alongside the native SPI protocol. firmware/README.md: added the three
AT-related fixes (lazy WiFi init before the first network AT command,
AT+GMR display-capture timing, AT+NET_NTP -> standard AT+CIPSNTPCFG/
AT+CIPSNTPTIME) to the changelog - all verified present in current
source before writing this up.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-14 16:10:04 +03:00

ZIFI32 — модуль ESP32 WiFi/SPI для ZX Evolution

Прошивка и аппаратная часть модуля ESP32-S3 (WiFi/SPI, "ZiFi32") для ретро-компьютера ZX Evolution / TS-Conf ("Pentevo"). Даёт WiFi, аудио-трекер (WAV/XM/MOD/S3M), а также (новое в этом форке, в разработке) сетевую шару по SMB2/3, открывающую доступ к реальной SD-карте машины с любого клиента Windows/macOS/Linux.

Исходная база: tslabs/zx-evo. Полный список изменений этого форка и их текущий статус — в firmware/README.md.

Интерфейсы

Модулем можно управлять двумя способами:

  • Родной SPI-протокол (esp_spi_defs.h) — основной, быстрый способ связи с Z80-стороной (используется, в частности, VFS/SMB-мостом).
  • AT-команды по UART (at_uart.cpp), частично совместимые с набором команд реального модуля ESP-AT: AT+RST, AT+GMR, AT+CWJAP, AT+CWLAP, AT+CIPSTART, AT+CIPSEND, AT+CIPSNTPCFG, AT+CIPSNTPTIME. Этим интерфейсом пользуется, например, клиент ZiFi на самой ZX Evolution.

Требования

  • Прошивка ядра платы ZX Evolution/TS-Conf должна быть собрана с поддержкой VDAC2 и ESP32 (ZiFi32) — без этого ядро вообще не увидит модуль на шине SPI, а видеочип FT8xx работать не будет.
  • Перемычка RESET на разъёме IDE должна быть установлена — см. hardware/connection_diagram.webp.

Структура репозитория

Путь Что там
src/ Исходный код прошивки ESP32 (проект ESP-IDF)
firmware/ Готовые к прошивке скомпилированные файлы + инструкция по прошивке + список изменений
hardware/ Схема подключения переходной платы, фото платы, Gerber-файлы
doc/ Заметки по протоколу/архитектуре
test/ Оригинальные тестовые скрипты протокола SPI из апстрима (Python, Raspberry Pi)
spi_gpio_probe/ Отдельная диагностическая прошивка — логирует сырые фронты на пинах SPI, использовалась для отладки при разработке; НЕ основная прошивка

Быстрый старт

  1. Прошейте firmware/esp-spi.bin (+ bootloader/таблицу разделов) в модуль ESP32-S3 — точная команда esptool.py в firmware/README.md.
  2. Подключите по схеме hardware/connection_diagram.webp (Gerber-файлы переходной платы — в hardware/gerber/, если делаете свою плату; фото платы — hardware/pcb_photo.jpg).
  3. Убедитесь, что выполнено требование по ядру ZX Evolution (см. выше).
  4. Собрать из исходников вместо прошивки готового бинарника: ESP-IDF v6.1 (не v6.1-rc1), idf.py build flash.

Статус

WiFi, воспроизведение аудио-трекера и SMB2/3-мост (просмотр, скачивание, загрузка, удаление на реальной SD-карте) — всё работает на реальном железе. Мост к SMB всё ещё активно дорабатывается — пока не реализовано создание директорий, обрезка файла при перезаписи более коротким содержимым и уведомления об изменениях в реальном времени. Подробности — в firmware/README.md.

Лицензия

В этом репозитории вендорится libsmb2 (LGPL-2.1) в каталоге src/third_party/libsmb2 — см. его собственные файлы COPYING и LICENCE-LGPL-2.1.txt.

S
Description
Прошивка для ESP32-S3
Readme
3.3 MiB
Languages
C++ 88.3%
C 10%
Python 1.4%
CMake 0.2%
Shell 0.1%