SMF - Just Installed!

Main Menu

"MIDI hack" information

Started by ris8_allo_zen0, February 07, 2016, 06:51:53 PM

Previous topic - Next topic


Hi all,
I'd like to use the miniAtmegatron with a "standard" 5-pin MIDI input, i.e. without an USB connection to a PC.

If I understood correctly, the miniAtmegatron supports MIDI input thru the "MIDI hack" for Arduino. But I haven't found further information about this hack on the web, so here are my questions:

  • does the miniAtmegatron accept a 31250bps input (as per MIDI standard) from the TX/RX pins of the Arduino?
  • Instead of doing the "midi hack", if I plug the shield to a custom Arduino board with MIDI input (and proper glue electronics, optocoupler etc), can I expect the miniAtmegatron to receive and play MIDI note on/off commands?




The MIDI hack is an update to the firmware in the companion chip that takes care of the USB connection between your PC and the Atmel 328p (Uno) processor. The hack installs in fact a new profile in that chip and makes sure that when the USB is plugged, the Arduino board is listed as a standard MIDI interface to your PC. It becomes effectively a MIDI-USB device (at least for your pc and if you downloaded an application processing MIDI events). Using a jumper you can switch back to the Arduino mode, because you need that to download new code to the 328p). That being said, this is not what you are looking for...

The miniAtmegatron understands out of the box MIDI. You need indeed the correct extra circuity on the serial Rx and Tx pins of the Arduino in order to plug a MIDI DIN connector. I have it working fine by reusing parts of the SparkFun MIDI shield. No MIDI hack needed for that.

Have fun.


That sounds like an excellent way to add MIDI - I use the Sparkfun MIDI shield myself for lots of purposes.


Just to sketch it a bit. It is not possible to stack the midi shield on the miniAtmegatron or vice versa. Also they may not be pin compatible (to be honest, I did not check all of them - for Rx and Tx it is ok). What I did:
* instead of the usual headers, I stuffed the miniAtmegatron with stackable headers. It is just fine, they are not blocking buttons or pots. These headers allow me to easily hook up jumper wires.
* put the miniAtmegatron on the Arduino board
* put the midi shield next to the Arduino-minitAtmage combo
* using jump wires, connect the 5V, ground, Rx and Tx between them
There you go...


Ah yes - very good point.  The mini completely maxes out all digital and analogue pins apart from TX and RX.  So don't connect any of the knobs or buttons on the shield.