Monday, April 28, 2008

Sync Tank: Let's Sync 15 Game Boys to MIDI or Pots


I was thinking today about how to make a sync device that has all the features that i want and none that i don't want. So i prototyped a working version of a device which can synchronise multiple Game Boys running LSDJ.

Features so far:
• synchronise up to 15 Game Boys running LSDJ in slave mode.
• two methods of sync: MIDI clock or via an internally generator clock.
• synchronise to an external MIDI clock (from around 35 to over 200 beats per minute when using a DMG).
• synchronise to an internal tempo that is set by two controls.
• one control is for coarse tempo control.
• one control is for fine tempo control.
• requires only a few external components
• potential fun.


Also, you might be interested in these great projects by other people, which all have different features from mine and from each other.

• Trash80's Arduinoboy:
http://code.google.com/p/arduinoboy/

• Gijs Master Clock Generator:
http://gieskes.nl/master-clock-generator/

• Firestarter's LSDJMC2:
http://www.firestarter-music.de/lsdj/

• Oliver W's Nanoloop MIDI Sync Cable:
http://www.nanoloop.de/midi.html



Sync Tank Schematic
Arduino:
• PORTD refers to digital I/O 0 - 7
• PORTB refers to digital I/O 8 - 12
• PORTC refers to analog inputs 0 - 5

Game Boy Connection (for each Game Boy):
• Pin numbering is the same as found on this page.




Sync Tank Arduino Code

The code can be downloaded here:
http://milkcrate.com.au/_other/downloads/projects/sync_tank/code/

10 comments:

Game Boy Australia said...

Hey Seb,
I just wanted to say thanks again to you both for today. It was really nice. This looks fantastic also!

Sebastian Tomczak said...

Tom,
Had a good time too.

Sync Tank should be awesome once its done, perfect for gigging and stuff. Next time we can all have a noisy sync jam.

Gijs said...

looking forward to your script!

here is a 12 output MCG.
script3
i think it works..
the start/stop is not really needed..

greets Gijs

Sebastian Tomczak said...

Oh, hi Gijs, thanks for your comment. The script will be up soon (ETA the weekend). Along with a schematic etc.

Gasten said...

Hello little-scale!

If you, by any chance, do not know what to do with 15 synced gameboys when this project is done, have a look at this:
http://c64music.blogspot.com/2008/02/classical-chip-music.html

cheers!

Sebastian Tomczak said...

Gijs, I have added schematic (pretty obvious) and also arduino code.

:-)

Gijs said...

cool!
i like seeing different ways of scripting lsdj and midi clock stuff.

greets Gijs

Sebastian Tomczak said...

Hey Gijs, thanks for the comment.

mynerdpride said...

Hey this is just what i need!

I have a question:

I'm using three GBs one is always on master and the others are on slave (serial out on master goes to serial in on slaves) .I have no problem with sync effects like channel start. i.e.in live mode if i press start on a channel on a slave GB , it starts just when a chain resets on the master GB.

if i get a master MIDI clock and all GBs on slave would this be possible?

I have to put Serin and Serout to ground?

I was thinking that i need something like a "start midi command" or a "continue midi command"


AHhhhrg i'm so confused!

Hope said...

To my mind one and all must browse on it.