Using a Teensy 3.2, I can compile and upload the sketch from fine.
It goes through the startup animation on the LEDs.
I can select a mode with the button.
It even remembers the mode when I restart.

I'm trying to use mGB mode.
But when sending midi from my computer, using Live, through USB, I don't get any status LED changes (or any sound on my gameboy).

The settings in the Arduino IDE are:
Board: "Teensy 3.2 / 3.1"
USB Type: "MIDI"
CPU Speed: "96 MHz (overclock)"
Optimize: "Faster"
Keyboard Layout: "US English"
Port: "HID=#### MIDI (Teensy 3.2)"

I can also see a "Teensy MIDI" in my Audio MIDI Setup on macOS and can see "Teensy MIDI" in Live as a "Midi to" output.

I've used the same pins as in the original code. I updated all the libraries in the Arduino IDE. I tried other USB Types to see if there was some serial debugging info printed.

Here is a picture of my breadboard layout:

I also have an Arduino UNO with a which I can send midi to fine with a USB to DIN 5 cable.

I'm not sure where I have gone wrong, since the start up and mode selection appear to work. Does anybody have any ideas?

Sea of Souls

The original code doesn't listen for USB MIDI, only din MIDI but I'm sure theres a usb code floating around. Try googling teensyboy.


Oh right cheers, I thought this file would handle USB midi for Teensy right? … sbMidi.ino

Sea of Souls

That does look right. Maybe it is on the PC side after all. What MIDI channels are you sending?


Channel 1

Sea of Souls

I realized after asking that you already have DIN MIDI working on another MCU, so I doubt you're doing anything wrong. I noticed in the main arduino sketch that "teensy usb midi is supported" and your LEDs work, so all of that is correct. I really don't know whats wrong. Could you possibly try another software or even computer, maybe with windows?


There was a merged pull request the other day with stuff for teensy, have you updated your sketch?


I've been attempting a very similar setup to you, and am getting the same problems. Did you ever find a resolution to this? I'll follow up if I manage to get mine working


The only thing that seems out of place to me is the settings to overclock the CPU. That is not needed. Just use the defaults. I'd be surprised if it makes much of a difference.

Maybe try a simpler midi program to send the midi data? I use this and really like it:

Also I'd try sending midi on all the channels. By default mGB works on channels 1-5 but it's possible the eprom got messed up if you had a previous sketch running that changed it. On this line: … y.ino#L115
Just change one of those 4 bytes to something else, for example change the first one from 0x7F to 0xFF and then reupload.

The thing that's the most confusing is that the LEDs work on boot, so it must just not be receiving MIDI data in the ways it's wanting to, most likely on the wrong channels.


Thanks for all the suggestions catskull. I'm not sure about richy, but I haven't had any luck yet. I get all LEDs on boot still, but they never seem to respond to any input but a mode change.

The usbMode shouldn't be enabled, correct? … y.ino#L112
I've tried it on and off just in case, but it makes no difference.

I've tried the byte change that you suggested, as well as trying output on channels 1-16, but still haven't had any luck.

Is the 1.3 release of Arduinoboy what I should be using for this? I'm new to both github and Arduino so I'm just making sure I'm not missing something obvious here. As far as I can tell, 1.3 supports Teensy and USB support according the documentation.

Ultimately, if I can't get it working, I'll purchase one of your prebuilt Teensyboys which look awesome - I was just hoping to learn something from getting this running if I can.

Thanks again for the help.