Introduction: Recycle Old NES Controller Into a Wi-Fi Based Gamepad

About: Hello, i am electronics hobbyist. I am here for learn something new from you also you can learn something new from me.

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:

  1. A Cheap NES controller
  2. A Windows PC (to read the controller)
  3. An ESP8266 board (like NodeMCU or Wemos D1 Mini)
  4. USB cable for programming ESP826

Software:

  1. Python 3
  2. Python libraries: inputs, socket
  3. Arduino IDE

Arduino Libraries:

  1. ESP8266WiFi
  2. ESPAsyncTCP
  3. ESPAsyncWebServer

Step 1: Install Python and Libraries

Open Terminal or CMD and run:

pip install inputs

This lets Python read USB gamepad input (works great with NES USB controllers).

Step 2: 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


Step 3: Flash ESP8266 With Wi-Fi Web Dashboard

Connect your ESP8266 → open Arduino IDE

Install Required Libraries

In Arduino IDE:

  1. Go to Tools > Manage Libraries
  2. Install:
  3. ESPAsyncTCP
  4. ESPAsyncWebServer
  5. ESP8266WiFi

Upload This Sketch Below


Step 4: Circuit Diagram – Connect ESP8266

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

Step 5: Run and Test

Open serial monitor and check this

Step 6: You're Done!

Now you can:

  1. Use this NES controller to control robots, games, or interactive art over Wi-Fi.
  2. Extend the dashboard with buttons or graphics.
  3. Replace the PC with a Raspberry Pi to make it more portable.