/TripleController

Primary LanguageC++GNU General Public License v3.0GPL-3.0

3dapter (formerly Triple Controller to USB)

This project combines the NES, SNES and Genesis DaemonBite Retro Controllers projects together with a custom PCB to support 3 different controllers with a single socketed Arduino Pro Micro. PCB (KiCad + Gerbers), 3D Cases, and muliple firmware versions (Arduino code) all available in this repository.

PCB Kits + Fully Assembled units (with firmware of your choice) available on Tindie

3 different firmware versions are available in this repo:

  • Default: Optimized for MiSTer, PC, Raspberry Pi, etc. - reports as 3 separate controllers, supports multiplayer from a single unit.
  • Analogue Pocket: Optimized for Pocket Dock - reports as a single wired XInput device.
  • Nintendo Switch: Optimized for Nintendo Switch Online NES, SNES, and Genesis collections - reports as a single wired switch controller.

Looking for a version with a N64 port? Check out the 4dapter

Resources Used

3D Case Files

3D Case files were designed by Dinierto Designs and are available on Thingiverse

3D Case Size Reference:

  • 33mm - Most Micro USB Pro Micro / Sparkfun USB-C Pro Micro boards
  • 35-36mm - Most AliExpress USB-C Pro Micro boards
  • 36-37mm - Some AliExpress USB-C Pro Micro boards (typically with empty hole next to USB-C port)

Wiring Diagram

TripleController-V2 1-Layout

Current Draw Readings from DIO Pin 16 (used for 5v supply for DB9 port):

  • Krikzz Joyzz: 38mA
  • 8BitDo M30 2.4G: 29mA
  • OEM SEGA 3-Button Wired: 3mA
  • OEM SEGA 6-Button Wired: 3mA
  • Retrobit 6-Button Wired: 2mA (Arduino DIO Max Rated Current: 40mA)

Tested Controllers

The following controllers have been personally tested and are supported with the Triple Controller. All listed devices also fit when using the 3D Case as well.

NES:

  • OEM NES Controller
  • OEM NES PowerPad (Default FW Only)
  • 8BitDo N30 2.4G Receiver
  • 8BitDo NES Retro Receiver

SEGA / Genesis:

  • OEM SEGA Master System 2-Button Controller
  • OEM Genesis 3-Button Controller
  • OEM Genesis 6-Button Controller
  • 8BitDo M30 2.4G Receiver
  • 8BitDo Genesis Retro Receiver
  • Krikzz Joyzz

SNES:

  • OEM SNES Controller
  • OEM SFC Controller
  • OEM SNES NTT Controller (Default FW Only)
  • 8BitDo SN30 2.4G Receiver
  • 8BitDo SNES Retro Receiver

Bill of Materials

PCB + Assembled Examples

unassembled

built