Connect
- Link cable port → Game Boy.
- 6-Pin link cables must be used in order to power the device from the Game Boy. Check generic cables for missing pins.
- Some cables have only 4 pins, and these may still work but will not power the device from the Game Boy so you would need USB power.
- Only DMG and GBC cables work, the GBA link cable will not.
- MIDI TRS/DIN in/out, USB-C Device port to a computer (enumerates as MIDI device
Game Boy), or the USB-C Host port for a class-compliant USB MIDI keyboard/controller.- *NOTE: Not all USB MIDI controllers will work with this host port.
Select a Mode
Press the button to cycle modes. *There are 5 mode LEDs for 7 modes: modes 1-5 light one LED each, mode 6 blinks the bottom two LEDs, and mode 7 lights all 5 together.
| # | Mode | Game Boy sync setting |
|---|---|---|
| 1 | LSDJ Slave Sync | Slave |
| 2 | LSDJ Master Sync | Master |
| 3 | LSDJ Keyboard | Keyboard |
| 4 | Nanoloop Sync | slave (in Nanoloop) |
| 5 | mGB | n/a |
| 6* | LSDJ MIDIMAP | MI.MAP |
| 7* | LSDJ MIDIOUT | Midiout |
- When in mode 5 (mGB) all MIDI that goes into one port will come out the others, making this device double as a handy USB-C to MIDI adaptor for all your MIDI gear!
Mode 1 :: LSDJ Slave Sync
Arduinoboy drives LSDJ’s transport and tempo from incoming MIDI.
| Note | Action |
|---|---|
| C-2 (48) | Start |
| C#2 (49) | Stop |
| D-2 (50) | Normal tempo |
| D#2 (51) | 1/2 tempo |
| E-2 (52) | 1/4 tempo |
| F-2 (53) | 1/8 tempo |
Higher notes set LSDJ’s song-start row offset.
Mode 2 :: LSDJ Master Sync
LSDJ sends MIDI clock and a note per song row as it plays.
Mode 3 :: LSDJ Keyboard
Emulates LSDJ’s PC Keyboard mode.
| Note | Action |
|---|---|
| C-1 (36) | Mute PU1 |
| C#1 (37) | Mute PU2 |
| D-1 (38) | Mute WAV |
| D#1 (39) | Mute NOI |
| E-1 (40) | Live mode cue sequence |
| F-1 (41) | Live mode cursor up |
| F#1 (42) | Live mode cursor down |
| G-1 (43) | Live mode cursor left |
| G#1 (44) | Live mode cursor right |
| A-1 (45) | Table up |
| A#1 (46) | Table down |
| B-1 (47) | Cue table |
| C-2+ (48+) | Play notes |
Program Change messages select the instrument table. Default channel is 16, set in the web/Max editor.
Mode 4 :: Nanoloop Sync
Sends MIDI clock to Nanoloop.
Mode 5 :: mGB
mGB is a Game Boy cartridge program (needs a flash cart and transfer hardware) that turns the Game Boy into a MIDI synth with full control of its sound hardware. Full MIDI in across all 4 channels, including a 3-voice polyphony channel. Works on DMG and GBC/GBA; on Advance, use a non-Advance Game Boy cart.
Also mirrors MIDI in (serial, USB device, or USB host) to all three MIDI outs as a thru, so Arduinoboy still works as a USB MIDI adapter while in mGB mode.
Mode 6 :: LSDJ MIDIMAP
LSDJ syncs to MIDI clock; incoming notes jump to the matching song row. Requires the MI.MAP build of LSDJ.
Mode 7 :: LSDJ MIDIOUT
Each of the 4 Game Boy channels sends MIDI on its own channel, controlled by LSDJ table/effect commands:
| Command | Effect |
|---|---|
Nxx | Note on/off (N00 = off, N01–N6F = notes 1-112) |
Qxx | Note relative to the channel’s current pitch |
Xxx | CC (high nibble = CC#, low nibble = value 0-F → 0-127) |
Yxx | Program change |
Requires the Midiout build of LSDJ.
Editing Settings
Change MIDI channels, boot mode, and other global settings without reflashing:
- Web Editor — Chrome only, no install, connect over MIDI.
- Max Editor — needs Max (a free demo works).
Updating Firmware
- Unplug the device from USB.
- Open the case by placing something thin between the edges of the case halves on the long sides.
- Short the two
FIRMWAREpads together on the bottom left. Use tweezers or a paperclip. - While still shorted, plug the device into a computer via USB-C.
- A drive named
RPI-RP2appears. - Remove the short from the
FIRMWAREpads. - Drag
Arduinoboy.ino.uf2onto it. - The board reboots automatically when the copy finishes.












