Multi-player linked Arduboys via a USB host (PC)

“Act in haste, repent at leisure”.

1 Like

So, any chance to find a solution ? Some unused pad for solder any cable ?
Hope to play pong with my girlfriend :smile:

The latest board layout that @bateske showed us brings all unused I/O signals to pads close the the edge of the board. If you want to connect two Arduboys over a fairly long distance, I’d suggest connecting RS232 signal converters to the unused TX and RX signals, as I described earlier in this thread.

1 Like

Sounds good !! Cross cable should do the job!
If any TX/rx/vcc/gnd are available so we can easily use Bluetooth module too, nice !

Once my bunch of the production run arrives, I will be experimenting with plain USB cable cross-connects (use an OTG cable).

But it’s way out of the box stuff for USB, so it can’t really be simulated or tested without live devices. And - there’s a really good chance that what I try just won’t work, so - zero promises. Call me a month after live Arduboys arrive.

If you want to write some experimental code in advance, I can test it on my home made Dev Kit equivalent. I could also use a Pro Micro as a second device.

I have an oscilloscope, multimeters and other test gear that I could use to look at the signals and help debug.

My career is in embedded microprocessor systems sofware and hardware, specialising in communications protocols, so I expect I would be able to understand any code you come up with.

My guess the best bet is to write a program on PC to act as a server for several serial ports. I would really love to do a game similar to smash brothers that can be multiplayer. It would be awesome to have at events like maker faire. It would even be possible to have the host PC to output a “master view” on the display or even a giant LED matrix!

1 Like

I did have some “communication” working between 2 devices using a simple python server on a PC. However I didn’t develop it any further than displaying a random pixel on the other device as a quick prototype. It’s super simple to set something up in Python.

1 Like

Hey @Wozza any chance you’ve got that code laying around I might try to do something with it? I imagine it was super simple, I was looking at doing it in processing but wanted to see how you got it done in python since I’m still learning it and wanted to try it out on a raspi.

Thanks!

I’ll take a look this evening. I recently lost a hard drive that wasn’t backed up and it may have been on there. It was relatively simple. It followed a lot of the principles of sockets which is used for regular networking but used serial connections instead of socket connections. The biggest issue for anything larger is making sure Python keeps the correct data types as Python doesn’t allow data type to be declared.

In the future it could be possible to leverage a relatively infinite source of processing power in the server to do all calculations for more complex games with the Arduboy being just a video output and button input.

@bateske A bit overkill, but you should also be able use my multi-player Chrome app on a Raspberry Pi.

That’s awesome, had no idea Chrome was capable of serial communication. Guess what they say is right. It’s practically an operating system by itself these days. Would you be willing to offer the source?

@Wozza a bit scrolling didn’t hurt anybody yet :wink:

http://community.arduboy.com/t/multi-player-using-a-chrome-app/553/3

1 Like

I made below. Is it ok?:

Multi-Player linked Arduboys via a Raspberry pi USB host

Here is a code:

7 Likes

In addition, I tried this Chrome App from @davidperrenoud with my clients.
It also went well :slight_smile:

2 Likes

I think another simple device which has enough USB ports and can send the messages from 1 to all would be OK. That can be done with another Arduino and maybe on a future model developers can use the I2C port.

were you able to actually test it? I scrolled down but couldn’t find a report.

1 Like

Did anyone ever end up writing something for this (in this thread or elsewhere)? I’m working on a tiny RTS and wouldn’t mind implementing something like this later on down the road (either branching off to make a secondary multiplayer version once I finish what I have or writing it for the next gen Arduboy once that comes out).

I briefly managed to get a game of noughts & crosses sort of working over USB between an Arduboy and a Pokitto because I was planning to develop a serial communication protocol, but I gave up on it and forgot about it.

In case it helps, my serial bridge was based on this:

Part of the reason I gave up was because I was trying to solve too many problems at once.

I wasn’t just happy with getting it working,
I was also trying to find ways to detect cheating,
which to be honest is probably kind of an impossible task.

1 Like

Thanks! I definitely wouldn’t be opposed to trying to pick this up or make something for it myself (once I’ve worked my way up to it), but if thats the case id rather hold off for the next gen Arduboy for sure (just because the finer details are still up in the air, would rather it be more optimized/compatible with that then have to rewrite). So either way, I’ll definitely return to that, thanks!