Recycle Old NES Controller Into a Wi-Fi Based Gamepad
by abhejitsaha in Circuits > Arduino
27 Views, 1 Favorites, 0 Comments
Recycle Old NES Controller Into a Wi-Fi Based Gamepad


Got an old NES USB controller lying around? Let’s revive it — not for Mario, but to control robots, lights, games, or anything over Wi-Fi.
This project is inspired by and based on the work of YouTuber Bitluni.
The core game controller handling is made possible using his public domain GameControllers library, which I’ve used and slightly modified to fit this Wi-Fi gamepad concept.
All credit for the original NES/SNES controller interface logic goes to Bitluni. You can check out his amazing work and projects on his YouTube Channel and support his open-source contributions.
Supplies


Hardware:
- A Cheap NES controller
- A Windows PC (to read the controller)
- An ESP8266 board (like NodeMCU or Wemos D1 Mini)
- USB cable for programming ESP826
Software:
- Python 3
- Python libraries: inputs, socket
- Arduino IDE
Arduino Libraries:
- ESP8266WiFi
- ESPAsyncTCP
- ESPAsyncWebServer
Install Python and Libraries
Open Terminal or CMD and run:
This lets Python read USB gamepad input (works great with NES USB controllers).
Python Script for Sending Gamepad Data
Replace 192.168.x.x with your ESP8266's IP (you'll get it later from Serial Monitor)
You can edit this for button mapping
Run as Administrator this Script
Downloads
Flash ESP8266 With Wi-Fi Web Dashboard
Connect your ESP8266 → open Arduino IDE
Install Required Libraries
In Arduino IDE:
- Go to Tools > Manage Libraries
- Install:
- ESPAsyncTCP
- ESPAsyncWebServer
- ESP8266WiFi
Upload This Sketch Below
Circuit Diagram – Connect ESP8266


Remember this Color Code of any Clone NES Controller all are same
Run and Test

Open serial monitor and check this
You're Done!
Now you can:
- Use this NES controller to control robots, games, or interactive art over Wi-Fi.
- Extend the dashboard with buttons or graphics.
- Replace the PC with a Raspberry Pi to make it more portable.