Coder Social home page Coder Social logo

kabukiflux / jamma_2player_xbox360 Goto Github PK

View Code? Open in Web Editor NEW
10.0 2.0 3.0 6.22 MB

JAMMA Xbox360 wired controller for RGBUNTU/PI cheap

License: MIT License

KiCad Layout 96.85% KiCad Schematic 3.15%
jamma jamma-custom-arcade-project kicad mister misterfpga pipico raspberry-pi rp2040 rgbuntu kicad-project

jamma_2player_xbox360's Introduction

JAMMA Xbox360 wired controller for RGBUNTU/PI/MiSTer
(cheap version, no protections)

Table of contents

Description

This is intended to be a very cheap JAMMA 2 players board to USB adapter and it was done during a live Twitch event (less than 4 hours).

It uses 2 pi-pico with 2 usb ports, one for the player 1 and other for the player 2, on the computer/raspberry/MiSTer side it will be automatically recognized as 2 Xbox360 wired controllers.

This board can be used as a JAMMA adapter or connected via the dirt cheap Molex KK254 connectors or the Aliexpress equivalent KF2510.

For the computer it can be connected via USB-B or the USB micro included on the PiPico

KiCAD_board_top

KiCAD_board_bottom

The software used for this board is the:

FeralAI rp2040 xbox controller

now the project has become

OpenStickCommunity GP2040-CE

On the releases tab https://github.com/OpenStickCommunity/GP2040-CE/releases you can find the latest firmware GP2040-CE_X.X.X_Pico.uf2 to flash the pi pico

Schematics

Schematics

How to use

1- Send to manufacture the board to JLCPCB or other PCB manufacturer. I recommend ENIG as the surface finish and Gold Fingers checked with 30ΒΊ angle chamfer as well.

2- Get the components required, you can see here the Bill Of Materials BOM

3- Solder the components required by your setup (maybe you don't need audio input to the JAMMA edge or the Xtra Xbox buttons)

Solder

4- On the back on the board if you want to use the USB-B connectors check that you have soldered correctly the test points called D+ and D-, it will solder directly into the test points of the PiPico the GND point is not required but recommended.

Solder Usb

5- Ensure your Arcade Cabinet doesn't send 12v on the coin circuitry, a switch is only allowed here. (There are some converters, use Google)

6- Connect each PiPico to the PC and you will see a new USB drive unit appear, copy the file .uf2 from here https://github.com/OpenStickCommunity/GP2040-CE/releases into the PiPico (GP2040-CE_X.X.X_Pico.uf2) it will restart and will be recognized as a Xbox360 wired controller.

7- Connect to your arcade cabinet via JAMMA or Molex (if your JAMMA wiring is very damaged) and enjoy your PC/MiSTer/Pi setup.

Connect to Arcade Cabinet

8- If the 2nd player appears as the 1st player swap the USB cables.

Mappings and jumpers

The default mapping is done to match the one on RGBuntu OS (15khz Ubuntu OS, use Google).

If you are one of the RGBuntu developers: please, if possible, can you remap Player 2 on all systems as well, xD? (at the time of writing this only P1 is currently mapped by default).

You can see here the mapping as a Xbox360 controller (default .uf2) but everything is labeled on the silkscreen.

Xbox Mapping

  • JP1, JP2, JP3 and JP4 choose the button 5 and 6 of each player to be mapped into the trigger or the shoulder buttons on the Xbox controller (I recommend the shoulder)

  • JP5 and JP6 disable the button 6 of each player on the JAMMA edge to be compatible with the legacy JAMMA standard.

  • J3 J4 and J5 are the Player 1, Player 2 and Kick Harness buttons respectively.

  • J7 are non-standard used buttons just in case

  • J6 is the dedicated coin connector, remember not to connect it if your coin mechanism sends 12vDC

  • J8 is the dedicated audio input to send to the JAMMA edge in mono.

  • Read the documentation on https://github.com/OpenStickCommunity/GP2040-CE to see how to change the mappings in realtime like left or right stick and so.

Bugs and feature requests

Bugs and feature requests will be disabled as this is a dirty cheap example. If you want you can use it at your own risk.

Errors

  • To make it cheaper no overvoltage prevention or JAMMA wiring inductance protection has been included on the design.
  • Audio speaker input has very short amperage path.

Copyright and license

Code and documentation copyright KabukiFlux 2023. Code released under the MIT License.

jamma_2player_xbox360's People

Contributors

kabukiflux avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.