You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Raphael Assenat 19e2fa2565 Add 6 years ago
circuit typo 14 years ago
usbdrv Fix compilation with modern GCC 9 years ago
Changelog.txt Changelog for v1.5 7 years ago
License.txt GPL 14 years ago
Makefile.atmega8 --- v1.4 (April 20, 2013) 10 years ago
Makefile.atmega168 1.4.1 Code cleanup 10 years ago Add 6 years ago
Readme.txt --- v1.4 (April 20, 2013) 10 years ago
checksize Initial revision 16 years ago
devdesc.c auto detect live 14 years ago
devdesc.h Initial revision 16 years ago
fournsnes.c Reorder NES buttons 7 years ago
fournsnes.h live autodetect can be disabled by JP1 14 years ago
gamepad.h fixed warning and illogical signed use 11 years ago
main.c Fix compilation with modern GCC 9 years ago
mappings.txt Add a file documenting mappings 7 years ago
usbconfig.h Change product string and firmware version 7 years ago

4nes4snes: Firmware to connect up to four NES/SNES controllers to USB

4nes4snes if a firmware for Atmel ATmega8 and Atmega168 which allows one to connect up to 4 NES and/or SNES controllers to a PC using a single circuit.

The device connects to an USB port and appears to the PC as standard HID joystick with 4 report Id's. This means that it looks like 4 controllers in the Windows control_panel->game_controllers window.

Project homepage

Schematic and additional information such as build examples are available on the project homepage:

English: 4 NES and/or 4 SNES controller(s) to USB French: 4 manettes NES et/ou 4 SNES à USB

Supported micro-controller(s)

Currently supported micro-controller(s):

  • Atmega8
  • Atmega168

Adding support for other micro-controllers should be easy, as long as the target has enough IO pins, enough memory (flash and SRAM) and is supported by V-USB.

Built with


This project is licensed under the terms of the GNU General Public License, version 2.


  • Thank you to Objective development, author of V-USB for a wonderful software-only USB device implementation.