Skip to content

A simple Atmega328P based USB to DB15 adapter designed for use with a Supergun or Neo-Geo system.

License

Notifications You must be signed in to change notification settings

Raphfriend/USB2DB15

Repository files navigation

USB2DB15 - Supergun Adapter

ko-fi

A simple Atmega328P based USB to DB15 adapter designed for use with a Supergun or Neo-Geo system.


USB2DB15 with a Sega Astro City Mini Arcade Stick

1. Features:

  • USB input to support most modern HID compatible controllers
  • 1ms polling, meaning a low latency and fast response from the USB2DB15
  • Open Source firmware, so everyone on the community can collaborate
  • DB15 pinout standard, ready for Neo Geo, Minigun, and HAS Superguns
  • 4 customizable and storable mapping configurations
  • 10 customizable and storable controller profiles
  • Status LED
  • Protection circuit for your beloved controllers

2. Technical information:

The USB2DB15 adapter is an Open Sourced device based on an AVR microcontroller. It adapts a USB controller for use with a Jamma PCB via a Supergun or Neo-Geo hardware with controller ports. Presently, a variety of common controllers are supported; such as ones that follow the PS3/PS4 DualShock, PS5 DualSense and Xbox 360/One protocols. Due to the diversity of controllers available and differing standards there may be some controllers that will not work with the USB2DB15 or may not work as intended. Please be patient during these early stages. Feel free to contact the developers with additional information and requests for help with your USB2DB15 adapter via our communication channels (GitHub, Discord, Arcade-Projects forum).

We are using a modified USB Host Shield 2.0 library for controller IDs that aren't natively supported.

In regards to hardware there are currently two options:

  • A Custom PCB that accommodates and integrates an Arduino Pro Mini, USB Shield Mini and other relevant hardware.
  • USB2DB15 2.0 Ver, a pre-built, single PCB that incorporates all the required hardware in a standalone form.
  • USB2DB15 CS Ver, same as 2.0 Ver, but with a focus on PCB consolization. In place of the DB15 controller connector, this board has screw terminals and a 20 pin header which is compatible with a 20-pin Brook Fighting Board Cable.

Alternatively you can simply use a breadboard to connect it all together.

If you are building the open source version for yourself, a basic understanding of Arduino and its programming environment is required. Visit arduino.cc to help you get started.


USB2DB15 pinout standard

3. Open Source Required Hardware:

  • The USB2DB15 uses an Atmega328P AVR. Any Arduino that utilizes this microcontroller such as the Mini Pro, Nano, and Uno are suitable. The Custom PCB accommodates an Arduino Mini Pro and USB Host Shield Mini.
  • USB Host Shield Mini if using an Arduino Pro Mini / Nano. Full sized USB Host Shield for Uno.
  • An FTDI programmer is required for the Arduino Pro Mini. This is not required if using an Arduino Nano or Uno.
  • USB2DB15 Custom PCB or a breadboard to complete all the connections between the AVR and USB Host Shield.
  • DB15 female connector.


Arduino Pro Mini and Usb Host Shield Mini

If utilizing the Custom PCB in conjunction with an Arduino Pro Mini and Mini USB Shield, a BOM is available from the repositories section within the PCB folder.

Jumper settings:
  • SJ1: Bridge this jumper ONLY to disable 5V protection.
  • SJ2: Bridge this jumper ONLY to enable 5V protection.
  • JP2: 5V solder point (see information below regarding USB VBUS).

Due to variances of Mini Pro PCB's, A4 and A5 may be in different locations. Please pay attention to this.


Custom PCB 1.2 for Arduino Pro Mini

4. Installation:

Download the USB Host Shield 2.0 library and install it to the Arduino IDE. Open the INO file (RFUSB_to_DB15.ino) and program it to your AVR.

If you have a USB Host Shield Mini, you will need to CUT the trace after the 2K2 resistor near the USB VBUS pin. Solder a wire from JP2 of the CUSTOM PCB to the through-hole VIA labeled '5V' as depicted in the picture below.

This enables devices that require +5V power to function correctly, as by default the USB Host Shield Mini only supplies 3.3V to the VBUS pin of the USB connector.

The remainder is plug and play.

If you are not using a prefabricated PCB, please view the schematic for wiring information.

4.1. Arduino Pro Mini + USB Shield Mini:

See FLASHING.md for instructions.

4.2. Arduino Uno + USB Host Shield:

  1. Install Arduino IDE.
  2. Mount the USB Host Shield to the Arduino Uno correctly.
  3. Connect the Arduino Uno to your PC via its USB B cable.
  4. In the Arduino IDE navigate to "Tools" -> "Board" -> "Arduino AVR Boards" and select "Arduino Uno".
  5. In the Arduino IDE navigate to "Tools" -> "Port" and choose the Arduino Device.
  6. In the Arduino IDE navigate to "Tools" -> "Programmer" and select "AVRISP MKII".
  7. Obtain the library path (Arduino IDE -> File -> Preference-> Settings->Sketchbook location) and drop the required library "USB_Host_Shield_20" to the library directory.
  8. Obtain the INO firmware (RFUSB_to_DB15.ino).
  9. Open the INO file with the Arduino IDE (with the Arduino Uno connected to your PC) and select Sketch -> Upload.
  10. Wait for the sketch to be uploaded as indicated in the console window at the bottom of the Arduino IDE software.

5. Supported Controllers:

See Compatibility.md for a detailed list of supported controllers.

6. Software Usage

6.1 Controller Profiles

The Adapter can store profiles for up to 10 unique controller models*. Controllers of the same make and model will share the profiles. Each controller has 4 profiles associated with it. Should you plug in an 11th controller the system will replace the oldest controller you have set up. Next oldest for the 12th and so on. This may cause you to have to set up older controllers again if you resume using them.

These can be accessed by pressing SELECT(COIN) + one of the four directions. Thus if you wanted the first profile you would press SELECT + UP, the Second SELECT + RIGHT, and so on. The adapter will remember what profile you were using and automatically switch to it when you use the controller again.

To change the key bindings of a profile. First change to the profile you want to setup. While holding SELECT for at least 3 seconds, press buttons 1 - 6 in order. Then release SELECT to lock in the binding. Finally release SELECT to lock in the binding.

*XBox One controllers appear to the system as the same make and model and thus use the same profiles even if they are different controllers.

Shell

AvramCE has created a 3D printed case that you can print for your USB2DB15.

How it looks in real life?

When you put all the parts together, USB2DB15 should look like this.


Setup and photo by @Focux


Setup and photo by @_atrac17

Support this project

If you have found USB2DB15 useful, please consider funding it and making a donation so that we may continue our work by obtaining additional controllers, equipment, and everything else required to keep this project alive and growing.

ko-fi

Is this product available to buy? YES!

We sell the USB2DB15 directly. You will receive a premium edition that is slightly different from the open-source version but has the same features. You can choose from a variety of shell color options, and you will get detailed instructions following your purchase. There are two versions: the standard DB15 and the CS Ver., which is targeted towards Jamma PCB consolizations.

Access our shop by clicking here or on the images below.

Where can I get more help, if I need it?

Via Arcade-Projects forum or RF Projects Discord server.

LEGAL

USB2DB15 or any of its maintainers are in no way associated with or endorsed by Nintendo, Sony, SNK, Microsoft, 8BitDo, Sega, Brook, Mad Catz, Nacon, Honcam, DaemonBite, Buffalo, Qanba, Razer, Retrobit, Toodles, Hori or any other company not implicitly indicated. All other brands or product names are the property of their respective holders.

About

A simple Atmega328P based USB to DB15 adapter designed for use with a Supergun or Neo-Geo system.

Resources

License

Stars

Watchers

Forks