Last night I put together my Arduinoboy – it’s messy, and its only on a breadboard, but it works – and it’s possible to do without any soldering at all. Having said that, I did do a bit of soldering, but it wasn’t totally necessary (mostly I just wanted to play with my new soldering iron…)
Anyway, here’s a quick vid of it in action. Doesn’t really show much, but whatever…
I might take it apart and rebuild it again, photographing each step. When I build it “for real”, I’ll definitely be doing that.
So I’ve just finished writing an application in Processing which converts midi data coming in over USB to “real” midi data which can then be routed to wherever you want.
But, why should you care? Well, because now you can make and use an ArduinoBoy with no soldering at all! In the picture to the right, you can see the wires coming from the Gameboy link cable into my breadboard, with jumper wires linking this to my Arduino. You could just as easily put the wires straight into your Arduino, though. Then, a couple of quick changes to the ArduinoBoy code to force it into “LSDJ Master Sync” mode (all at the top of the main file, and with very friendly names) and you’re set. Plug everything in, launch my serial2midi app, and bingo!
Heres a vid of it in action:
Here are the downloads (including source) for the serial2midi app…
There are some things which I forgot to mention when I originally posted this. Midi over USB is not as fast as using real Midi. If you’re using LSDJ master sync mode on an ArduinoBoy for example, on my computer I start to get some noticeable latency around the 130bpm mark. Having said that, if this were being used only to route note data, there should be no problem at all.
Another thing I forgot to mention is that this version of the app is running at a fixed baud rate of 38400. Soon I’ll make it selectable, as faster baud rates should give lower latencies. Still, the latencies you get with this thing are not as low as you would get over real Midi – but I think for ease of use (ie no need to build any Midi circuitry) this is still a pretty handy app.
Finally got an ArduinoBoy built, and to celebrate, heres a video of it in action:
From the youtube vid description:
LSDJ is running in “master” mode, and is sending clock data out which the Arduino then sends over usb. This is then picked up by a little processing app which I wrote which acts as an interface between midi and usb using the RWMidi lib (which I had to hack a little).
The song is just something I wrote quickly. Three channels running in LSDJ (PU2, wav, and noise), then some drums and QuadraSID from Ableton Live.
Sorry the sound quality sucks
So there we have it! Maybe I’ll put something up showing how I made this if anyone is interested – the nicest thing about it is that it required no soldering whatsoever! The only piece of equipment I used to make this was a pair of small scissors to cut the link cable and strip the wires. Not that I’d recommend using scissors to strip wire, but I was impatient and it worked
Anyway, feel free to leave any comments or questions, and cheers to Trash80 for all the help!
I’m pretty sure most resistor values would work alright in place of the 10Ks, but if I’m wrong, then… tough. They’re just acting as pulldown resistors anyway. The value for the resistors marked with a question mark depends on the current required by your LEDs.
Code
Here is the code which needs to go on your Arduino board, and also the code for the Processing app which converts the serial data to midi. The Processing app requires the rwmidi library, which you can get here.