This adds MIDI out capability to the Arduino Tone Step Sequencer. Here it is driving a Roland MT-32 paired with the Arduino Light Mozzi Generator – Part 2.
Warning! I strongly recommend using an old or second hand keyboard for your MIDI experiments. I am not responsible for any damage to expensive instruments!
These are the key Arduino tutorials for the main concepts used in this project:
If you are new to Arduino, see the Getting Started pages.
Parts list
- Arduino Uno or Nano
- 6x or 8x 10k potentiometers
- MIDI out module (for examples, see Arduino MIDI Interfaces)
- Breadboard and jumper wires
The Circuit

This is basically the same circuit as the Arduino Tone Step Sequencer but with a connection to a MIDI out (send) module via the Arduino TX pin instead of the loudspeaker.
Once again, a Nano will let you hook up eight pots and a Uno will let you connect six.
Also once again, in the diagram I’ve not fully connected up the bottom row of potentiometers as it would obscure the wiring, but all four need to be connected up as shown in the fourth one.
Recall that the serial port RX/TX are different for the Nano and the Uno – they are swapped!
The Code
This takes the Arduino Tone Step Sequencer code and adds in statements to send MIDI notes using the Arduino MIDI Library instead. I’ll not go into the ins and outs of the MIDI library, but you can read more about it here.
Things to note about the code:
- I use a large list of notes to play – this could be calculated, but using a list like this will allow me to play with additional combinations of notes, for example alternative scales and so forth.
- I have to keep track of which note was last played so that the “note off” can be sent at the right time (i.e. just before needing to play the next note).
- Once again a reading of near-zero will cause a “rest” to be played, which requires a sending of a note off message too.
You will need a MIDI device to receive your messages. In the video linked above I’m using my MT-32 module with the rather neat “Funny Vox” voice (40) which I think works really well alongside my Arduino Light Mozzi Generator – Part 2 from the other day.
Closing Thoughts
This is quite a lot of fun, especially when paired up with some great MIDI sounds. It would be nice to expand the number of pots but that will require some kind of analog multiplexer, which is a subject I’ve yet to document.
For now, I’m going to create a few more sequences and play some more with my light-controlled Mozzi module.
Kevin
I really want to make one of these in my little synth project!
Thanks for the great little demo too 🙂
LikeLike