USBJoy:: Atari 8-bit, C=64, Amiga oraz NES Joystick USB adapter



Some people do love old games on eight-bit computers.

Some are sick of playing with a keyboard on an emulator.

Many of them remember the thrill of playing with their favorite joystick, unfortunately incompatible with today’s personal computers.

Here is the solution: an interface that allows you to connect any joystick from:
– Atari (or compatible) with 1 button (C64, Amiga)
– 2-button joysticks, such as the Sega master system
– Genesis 3 and 6 button pads
– Sega multi-tap (Team Player) for Genesis
– NES and Boomerang B501, Boomerang B503

to today’s USB-equipped personal computer, including TheC64 (Mini/Maxi) and Amiga500 Mini!

You can easily upgrade previously purchased USBJoy v2, i.e. with green board inside, manufactured after May 2014.


Update (July 2018)! USBJoy interface version 2.0 with prototyping board functionality (pcb version 3.0) is available for sale in my store

USBJoy 2.0 version has pinouts of unused pins as solder pads. Additionally there is an extended version available: added power LED and/or cable up to 100cm/3 feet long instead of the built-in USB connector. Additionally, after updating the firmware, it will support the Atari/C64 paddles! Firmware of previous versions is fully compatible with USBJoy2.0.

Every new USBjoy jas the newest firmware installed.


As of April 27, 2022, the firmware is available (save it to disk using right mouse button) to improve single button joystick support on TheA500 (now you can play with the joystick and select games from the menu. Side effect – not all games on TheA500 have been tested for this, some may not work).

As of April 25, 2022, the firmware is available (save to disk using right mouse button) for TheC64(Mini/Maxi) and Amiga500 Mini (pads with 8 buttons required). The arrangement of the keys is kind of random – it depends on the pad.

As of November 20, 2020, the firmware is available (save to disk using the right mouse button) which additionally supports C64/Atari paddles.

As of May, 29, 2015 the firmware is available (save to disk using right mouse button) supporting additionally NES pads with DB-9 connector and NES protocol: Matt Boomerang B-501 and B-503 (

To activate the upgrade mode, connect a regular Atari or SEGA joystick to the USBJoy, press the button (SEGA: button B) and connect the USBJoy to your computer. The USBJoy will report itself as USBasp programmer in Device List, and you will be able to program it with the new firmware, using e.g. avrdude under Linux or macos X (available in the CrossPack), or one of links for Windows. When uploading firmware, choose Atmega8A or Atmega8 microcontroller.

  • Under this link  you’ll find everything you need :D
  • USBASP V2.0 User Guide
  • (actual, recommended link) Zadig driver installation.
  • AVRDUDE supports USBasp since version 5.2.
  • Khazama AVR Programmer is a Windows XP/Vista GUI application for USBasp and avrdude.
  • eXtreme Burner – AVR is a Windows GUI Software for USBasp based USB AVR programmers.
  • USBASP Driver
  • To easily install USB Driver (without requiring windows signature check) on Windows 10, and Windows 8 you can use Zadig tool. The detailed procedure can be seen here

I recently wrote something about how I like to miniaturize.
Designing a circuit board that fits inside a d-sub9 plug enclosure is it!
Inside the casing there is Atmega8 microcontroller, 12MHz quartz, 4 resistors, 2 capacitors 22pf, 1 capacitor 10uf in 1206(!) casing and two diodes!

On the last Atari computer party in Gdansk SillyVenture 2k10 10 interfaces were sold instantly:)

The interface doesn’t need any drivers – it reports itself as a standard HID device.
Works under MacOsX, Linux, Windows and modern consoles like TheC64 and TheA500

The author of the software (GPL license) is Raphaël Assénat. The schematic (roughly speaking) is the connection of the B port to the joystick inputs and the adaptation scheme of the v-usb solution.

The only change in the firmware is the change the order of the pins – to make it easier to route the tracks. Moreover, the pins routed out are also SPI interface (well, the RESET pin is not).
Interface firmware version: 1.7 + patch (after programming the Atmega with the original batch the joystick directions will be swapped).

If you wish, you can buy such interface. For this purpose please visit


Prototype, from the top

pcb bottom

Prototype board, backside


Solder paste added

pcb layed elements down

Layed down boards

pcb melted

After soldering

pcb in case

In the case mostly:)