Hardware Multiplayer (game)

yay that seems to work just fine, we’ll put the cables in the shop :slight_smile:


OK cable is here! https://www.adafruit.com/product/4342 works nicely :slight_smile:


What version of the bootloader worked with a multiplayer setup? I am using an Itsybitsy M4 for my custom arcade setup but v3.4 does not seem to work for multiplayer.

the bootloader has to indicate a pin for jacdac, which im not sure the itsy does?

Funny, so the PyBadge uses MicroUSB (JACDAC pin = 5th ID pin) instead. The Meowbit and Brainpad actually use a TRS (3.5mm) jack plug, which gets confused for a headphone jack.

So far, I haven’t seen any specification for this, but I believed @jamesadevine used the same jack plug for Project Alava as these cables are easy to come by. Any thoughts on making a choice for the spec?

On a sidenote: the Atari Lynx used 2.5mm jacks as part of their ComLynx system. It prevented the issues with thinking it is audio, but also these cables were cheap to get and provided a splitter to link them together


One of the games that utilized this was SlimeWorld . Not the greatest game, but super fun with a bunch of people (up to 8). Another was BattleWheels with up to 6 players, Checkered Flag, etc. At this link you can see SlimeWorld with some game screenshots. It was a simple serial connection … but very useful!


hiya yeah we did not want to use a headphone jack because we use headphone for audio on the pygamer. this was a ‘free’ and easy way to make a connection cable. we’re hoping that next spec will use USB C connectors and that way gets to use one of the many available pins on USB C :slight_smile:

1 Like

Here are multiplayer demos for Arcade running on FW v3.4.0.

custom board and Meowbit:

two custom boards:

I used the TRRS module from Sparkfun for JACDAC connection. https://www.sparkfun.com/products/11570

1 Like

Reviving an old thread - what’s the current status for two-player games on hardware? I’d love to experiment with this further, but there seem to be some incompatibilities with the current editor.

I found a UF2 file for Space Destroyer, and that works great as a two-player game using the direct USB connection cable between two PyGamer devices: https://cdn-learn.adafruit.com/assets/assets/000/083/139/original/arcade-jacdac-multiplayer-demo-final.uf2

However, I’m having trouble loading the game in the editor, both using the direct link above and the beta editor.

Errors include:

    Line 1: jacdac.controllerService.stop();
    => Cannot use namespace 'jacdac' as a value

    Line 126: Namespace 'jacdac' has no exported member 'JDPacket'.
    Line 146: Property 'sendPacket' does not exist on type 'Socket'.

The jacdac-game section in Explorer has a red 1, but I don’t see a corresponding error message. I’m guessing it is likely related to the following error on the JS console?

pxtapp.js:2493 invalid package jacdac-game: version not specified for jacdac-game

I also found the pxt-jacdac extension, but I’m unsure if that’s intended to replace jacdac-game.

Are there any other current examples for two-device multiplayer games?

Ah, jacdac is in the middle (maybe later stages) of a rewrite / is still experimental so it’s very possible jacdac-game got broken. @peli did we have any current multiplayer jacdac info or anything of the sort to share?


Hi, I’m trying to connect two Meowbits for multiplayer, using the Arcade Block library. Using the Controller/Multiplayer blocks, and a headphone jack connection, there just seems to be no communication between the two boards at all. Is there anything I need to check?

Stumbling upon this thread, it seems that multiplayer on two boards currently does not work, at all. Is that correct?

You need a jacdac cable, not an audio jack, there is a difference, but they look the same.

Ok, can you point me to a jacdac cable? Because I fail to find one online.

Also, I’m a bit confused, because:

Maybe the spec changed in the mean time? What’s the difference between a jacdac cable and a normal headphone cable?

The data that travels, the ends are the same, but not the inside.

No you don’t need a special cable. It’s just a standard audio cable.

Last I checked, multiplayer via jacdac was being rewritten and they said it would work interminttenly / not work at all.

Ok thanks. Now I found the docs: We are still working and changing the Jacdac specification. Do not build devices using Jacdac.

Discussion seems to be taking place here: https://github.com/microsoft/jacdac/discussions

1 Like

We demonstrate the use of JACDAC with hardware to play Arcade games 2 years ago. We have now switched over to SD Wireless to control 2 Meowbits with $13 SD Wireless chips into Meowbits. This does work, while JACDAC may not as of this time (April , 2021) : Our YouTube channel: MakeCode and Hardware demonstrates SD W system. Here is 2 year old JACDAC video: https://www.youtube.com/watch?v=YKshfoeGtbM

Great news, thanks! So you connect the 2 Meowbits to your WLAN network? How does pairing and communication protocol work in that case?

@Moobot , well, I don’t think it is with a WLAN network; there is no pairing. This is with 2 identical Arcade devices: Meowbit to Meowbit which have the SD Wireless slot on the top of the hardware console. This is not meant for an SD Card for data/game storage; NO. I have seen several sellers claim it is for storage and that is not correct. The slot is for an SD Wireless chip which has a radio antenna built in and two LED lights, one green for ‘radio’ mode and one blue for Bluetooth mode. In radio we can send signals with proper code installed in both Meowbits from one to the other so I can move my sprite on your console TFT screen. These sync up automatically with matching ‘radio group’ numbers. We have several Youtube videos with this comm. method and Meowbits to Meowbits and also Meowbit to Microbit . Search : MakeCode and Hardware channel for vids and code in description.

1 Like


Does this cable works only with pygamer/pybadge? Does it works with some more devices?