anton.veretenenko

Беспроводной геймпад для SNES Mini

Беспроводные геймпады для SNES Mini (ESP32-C3 + ESP32-S2)

Беспроводной геймпад для SNES Mini

Беспроводные геймпады для SNES Mini — firmware-проект из двух частей на ESP-IDF: передатчик на ESP32-C3 и приёмник на ESP32-S2, построенный на технологии ESP-NOW для низкой задержки, приносящий надёжную беспроводную игру на ретро-консоль на чистом железе.

GitHub · Исходный код
CESP32-C3ESP32-S2ESP-IDFPlatformIOESP-NOWI2CWirelessRetroSNES

О проекте

Проект состоит из двух репозиториев. Основной (snes-mini-wireless-gamepad-c3) — это передатчик на ESP32-C3, встроенный в геймпад: он эмулирует консоль и считывает данные с геймпада по протоколу геймпадов для Wii, общаясь с приёмником по ESP-NOW для беспроводного ввода с низкой задержкой. Второй репозиторий (snes-mini-wireless-gamepad) — это приёмник на ESP32-S2, который встраивается внутрь SNES Mini и эмулирует проводной геймпад, так что консоль видит обычный контроллер. Главным вызовом там было заставить два I2C-порта работать в master-режиме по формату протокола EEPROM — когда консоль запрашивает адрес для чтения и получает данные. Чтобы это заработало, мне пришлось сделать форк ESP-IDF и пропатчить HAL для работы с I2C.

Лицензия

Опубликовано под лицензией GPL-3.0.

Возможности

Контакты

Всегда открыт для интересных проектов, заказов и вопросов. Пишите в любое время.

Антон Веретененко

Разработчик встраиваемых систем и мобильных приложений с опытом более 18 лет — от прошивок и проектирования плат до Android и Kotlin Multiplatform. Создаю электронику от идеи до производства.