2 players on the Picade


As a big fan of the Picade, I’ve been crazy enough to buy both the Picade AND a Picade console.

As I said before, I’ve competely changed my Picade to turn it into a full arcade bartop with a miniITX motherboard, etc etc…

I’ve finally been able to get my picade board fully recognized under Windows 7 and it’s absolutely great that way.

Now, new idea : what about connecting the picade console to get controls for a second player ? I may be wrong, but the key mapping will be the same right ? So I need to flash the picade console with a different keyboard mapping to avoid conflict between the 2 picade boards. Or maybe there’s a more simple way to do so ? If reflash is the only way, I guess I’ll have to change the picade.h. But which part ?

Once again, any help appreciated ;)


@gadgetoid has been working on a super firmware upgrade for the Picade PCB that allows you to dynamically change the key mappings via USB serial. I think it’s available for people who are up for “beta” testing it so I’ll ask him to pop along here to point you in the right direction!


would be so kind of you, thanks ;)


My recommendation would be to leave the Picade as-is, and flash the Picade console with the new Gamepad/Keyboard firmware which you can find here:

You’ll need to run ./update picade_2016.hex on a Raspberry Pi ( ideally ) with the Picade Console attached. I’ve not tried updating a Picade board from Windows (outside of building the sketch from source and uploading it from the Arduino IDE), but I’m sure we can figure that out if necessary.

The new firmware should, fingers crossed, just show up as a pre-configured HID Gamepad which you can then set up as player 2.

If all goes well you can then update the board in your Picade so both inputs are recognised as gamepads, and explore how the new features ( shift states for input configurations, dynamic config loading, etc ) might help make your setup more functional.


Thanks for the advice gadgetoid :)

I should investigate that solution further. When I was trying to get my picade board recognized under Windows, I flashed with the picade_2016.hex, I honestly can’t remember how it was recognized (but it was something like the HID gamepad you’re talking about), but I haven’t been able to get any button recognized, even the joystick. Then I discovered smurphboy’s solution, and it worked well (meaning reflashing back to the “normal” picade.hex and using the composite USB device).

But I’ll give it a try and will see if I can get it to work.

Will keep you in touch ;)

@jon : I’m not good at wood work, but trust me, I’m good at testing, flashing, anything software in fact :D


OK, done and already lost :(

  • I flashed picade_2016.hex with my rPi2 : ok
  • I plugged the Picade console freshly flashed in a free USB port of my Picade
  • automatically recognized by Windows (7 Ultimate x64) as Arduino Leonardo (COM4). Picade itself is the same but (COM3) and also as an USB composite device, like the picade
  • I see a device gamepad in the game controller, but keys and joystick are exactly the same as the picade (left right up down alt etc etc…). They have no effect at all when I try the gamepad in its properties.

How do I map other keys to the picade console with this picade_2016.hex ?

edit : ok, I think I get it. Have to use the python.py from your post “New 2.x Configurable Keyboard/Gamepad Firmware” right ? What I did under my rPi, import picade -> picade.bind([picade.GAMEPAD_UP, picade.GAMEPAD_DOWN, picade.GAMEPAD_LEFT, picade.GAMEPAD_RIGHT]) -> bound 4 keys returned by the command -> then plugged back on my Picade Windows, but no luck, still the same key mapping…


Darn, could have sworn I made it a gamepad by default.

Do you have the Arduino IDE or PuTTY installed? You need to connect to the Picade over serial, the COM port number of which you can find in “Devices & Printers”, and send it:


for gamepad mode.



For save!



putty -> connection type serial to COM4@9600 bauds -> press g directly saying Loading Gamepad then s saying Saving config -> Picade console acting like a gamepad, and plenty of buttons available as even vol + and vol - are available ! Tried to unplug, wait for some seconds, replug, and gamepad config is still there :)

Now for the big question : shall I do the same to the picade ?


There’s a slightly more complex guide to configurating here: New 2.x Configurable Keyboard/Gamepad Firmware

You can always use g as a “help, I’ve mucked up my configuration and want one that just works” safety net. So go crazy!

You can do nonsense stuff like bind a shift key to make the joystick control volume. etc.

I’m also planning to add a couple of levels of analog if I can, so you can hold a shift key to go to 50% on the Joystick instead of full-whack. This could be useful in N64 games where you might want to walk, instead of running full-pelt off every cliff. I tried Mario 64 and it took some finesse!


last question before I do the same to the picade then : does this have en effect on the audio system of the picade board ? I’m of course using it for the sound and what about remapping the volume buttons ? Will there still be sounds ? Which level ? I want to remap them because it will be very useful for VPinball :) and I really can manage the sound volume in Windows, no need for the buttons.


The only thing it affects is the removal of “push and hold to turn up” volume control, I’ll figure out a way to get that back in if it bugs anyone. At the moment you have to hammer a button/joystick direction/etc to raise/lower the volume.

For giggles, you can also send + or - over Serial to raise/lower the volume. This may become more useful when I create some kind of configurator front-end.


ok done flashing both. As you said, I had to send + to get volume because it was at level 0, but after saving the config, it stays at 24. Will use Windows volume control and it’s working.

Anyway, I noticed something. After turning off the computer and removing the power, I restarted it, just to check everything was still working fine, and I left both connected the way they were. Only one gamepad was available (the picade console). I unplugged the picade, replugged it, and the second gamepad appeared… If only the picade is connected and not the picade console, no problem. So only one can be connected at boot time. Not a problem to me. I’ll never leave them both connected.

So, once again, thank you guys from your unvaluable help and support ! :)


2 days later, I really can say this is working the way I wanted it to. Just a problem with HyperSpin related to gamepads in general, but JoyToKey solved the problem once and for all. Problem is the same with all gamepads, so no way to blame the Picade.

Just in love with my bartop :)

I promised Mark a full review when everything is done to help in case anyone would be crazy enough to do the same. And I’ll do it. Still waiting for my new shrim, marquee and control panel to be printed, and also some new buttons I ordered at Arcadeworlduk, but with SF V release, orders are just taking a little bit more of time.