INSTRUCTIONS for the Arduinoboy Host Edition

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.

#ModeGame Boy sync setting
1LSDJ Slave SyncSlave
2LSDJ Master SyncMaster
3LSDJ KeyboardKeyboard
4Nanoloop Syncslave (in Nanoloop)
5mGBn/a
6*LSDJ MIDIMAPMI.MAP
7*LSDJ MIDIOUTMidiout
  • 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.

NoteAction
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.

NoteAction
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:

CommandEffect
NxxNote on/off (N00 = off, N01–N6F = notes 1-112)
QxxNote relative to the channel’s current pitch
XxxCC (high nibble = CC#, low nibble = value 0-F → 0-127)
YxxProgram change

Requires the Midiout build of LSDJ.

Editing Settings

Change MIDI channels, boot mode, and other global settings without reflashing:

Updating Firmware

  1. Unplug the device from USB.
  2. Open the case by placing something thin between the edges of the case halves on the long sides.
  3. Short the two FIRMWARE pads together on the bottom left. Use tweezers or a paperclip.
  4. While still shorted, plug the device into a computer via USB-C.
  5. A drive named RPI-RP2 appears.
  6. Remove the short from the FIRMWARE pads.
  7. Drag Arduinoboy.ino.uf2 onto it.
  8. The board reboots automatically when the copy finishes.