Go Down

Topic: Electronics newbie. Wanting to use arudino to flip between "JAMMA" boards. (Read 1 time) previous topic - next topic


For those that are unfamiliar, arcade machines use an interface standard called "JAMMA" to connect game boards to cabinets:


Games using more than 2 players with 3 player buttons each often have an additional "kick harness", giving you multiple signal lines.

I would like to use arduino to interface multiple of these game boards, initially 3, to my arcade cabinet - which has a rather non-standard setup of 4 players with 8 buttons each.  I can already handle this directly wiring, and I have this notion that I could cascade some relays to get the job done.  For each system there might be anywhere from 80-100 signal lines that need to be switched.

I get the impression also that for jobs such as this there are probably ICs that exist to make this easier.  I just want to keep it simple for now - maybe some stupidly simple arduino logic that when I pull a line low it iterates to the next game board.  Might go back later and put a segmented LED controller and segmented LED on to where it can tell me what board is active at any given time.  Right now I am just trying to figure out how to switch that many signal lines en-masse.  Aside from a relay-cascade (if that's the right term for it, one relay setting off multiple relays down).


How about this - use a Mega with its 4 serial interfaces as the host.
Each remote can be a Promini, to help keep size (& cost) down.
Each remote sends its button status via serial to the master, which does whatever it does with all the button status'. Each remote can also receive  info back and display whatever on their remaining 10 IO pins (2 serial, 8 buttons, leaves 10 free).
Keeps the wiring simple - just 4 lines between master and each remote. Rx, Tx, Gnd, +5V.
If you need more remotes, add a shield to the master with SPI-interfaced UART chip or chips - single, dual, quad, whatever is needed.
I don't think any such shield exists. I'd be up for designing one for you, have to get some help in doing the programming to interface it.

Perhaps doing a quad/octal shield for an Uno would be a better approach, if  you don't need all the IO that a mega offers.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.


Oh wow.  I can't tell if I did a poor job describing what I need, or if your solution is just so advanced that it went right over my head.  Yikes.

Okay, let's simplify this down.  2 boards.  Each one has a 56 line "interface".  My cab has a mating 56 line interface.  To change games, unplug the interface from one board, plug it into the other.  The logic in my head is that instead of that, I could use a set of 56 relays for the 56 signal lines, and use the arduino to set a relay out in front of those to one or the other.

Does that still sort of match-up to what you're suggesting?  I can always work out how it would work with more boards and more lines depending upon the solution type.


Ah, that is different.
Well I have designed a board with 18 telecom type relays,
you can see a picture at the link in my signature
that could easily be expanded to 56.
Your need is to have one (or more?) banks of relays - only 1 bank at at time would be selected to be connected to the cabinet.
Relays have a Common, Normally Open & Normally Closed contacts. The Common for each line would be connected all in parallel to the cabinet, with the individulal boards connecteed to the Normally Open. When a game is selected, the Normally Closed contacts would be connected.
That's certainly doable.

Not sure where the 4 player 8 button breakout comes into play.

Not sure where the Arduino comes into play. Hardly seems necessary to enable one bank at a time.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.


Could be me making the whole thing harder than it needs to be.  Wouldn't be the first time.  :)

I had envisioned the arduino being able to eventually handle additional automations, like lighting up the buttons used to play a specific game - but wanted to keep it simple at first. I guess I was right and it really is just a bunch of relays being triggered by a relay.  Okay then.

Go Up