anton.veretenenko

SNES Mini Wireless Gamepad

Wireless gamepads for SNES Mini (ESP32-C3 + ESP32-S2)

SNES Mini Wireless Gamepad

Wireless gamepads for SNES Mini — a two-part firmware project on ESP-IDF: a transmitter on the ESP32-C3 and a receiver on the ESP32-S2, built on ESP-NOW technology for low latency, bringing reliable wireless play to a retro console on bare metal.

GitHub · Source code
CESP32-C3ESP32-S2ESP-IDFPlatformIOESP-NOWI2CWirelessRetroSNES

About

The project consists of two repos. The main repo (snes-mini-wireless-gamepad-c3) is the transmitter built into the gamepad on the ESP32-C3: it emulates the console and reads the gamepad data over the Wii gamepad protocol, talking to the receiver over ESP-NOW for low-latency wireless input. The second repo (snes-mini-wireless-gamepad) is the receiver that fits inside the SNES Mini on the ESP32-S2 and emulates a wired gamepad, so the console sees a normal controller. The challenge there was getting the two I2C ports into master mode using the EEPROM protocol format — when the console requests an address for reading and receives the data back. To make it work I had to fork ESP-IDF and patch the HAL for I2C.

License

Released under the GPL-3.0 license.

Features

Contact

I’m always open to interesting projects, orders and questions. Reach out anytime.

Anton Veretenenko

Embedded and mobile developer with 18+ years of experience — from firmware and PCB design to Android and Kotlin Multiplatform. I build electronics from idea to production.