Introduction: Midi Random Sequence Generator

About: I've always loved music and technology. Recently I found a good way to blend the two together. I'm working on ESP8266 based Midi devices, it's so much fun to generate music with code!

Hi, today I'll show you how to make your own Midi Random Sequence Generator.

It generates random 4, 7,8 or 16 note long sequences in a Minor key.

Of course you can change whatever you want, you can add more sequence lengths or change the key. But personally I found these settings quite useful.



Some jumper cables

2 * 220 ohm resistors

1 * 10k ohm resistor

5 * 1k ohm resistor (or more if you want more sequence lengths)

A potentiometer, preferably on a little breakout so it's breadboard friendly

A female Midi Jack (aka a female 5 Pin Din Jack)

2 breadboard friendly switches

A 9v battery clip.

And of course an Arduino. I prefer the Nano, specifically a chinese clone from AliExpres as it can run on 3.6 - 10v, making it easy to power with batteries. If you chose this same Nano you can also use 4 AA batteries.

Optional: Rotary Switch (I don't use it, but if you want to put this project in a case I highly recommend one.)

Step 1: Software

To program it you'll need the Arduino ID: http://

You will also need the Midi Library:

You don't need any libraries for the potentiometer or the switches.

And if you also have the chinese nock-off Arduino Nano you will need this CH340 Driver: or

Step 2: Hardware

The hardware portion isn't very hard. You might have to make sure your switches work the same way as mine do and you can leave out the big rotary switch if you want. It's very convenient if you want to put it all in a case, but personally I just use the white jumper cable to set the sequence length. It's smaller and I usually leave it in 8 steps anyway. If you just follow the schematic it should work just fine and you can always leave a comment for more explanation.

Step 3: Upload Sketch and Test

You can find the sketch here:

I highly recommend you make changes and see what it does. You can add more options for the Sequence Length, you could add another potentiometer that determines the root note. You could change the key/mode it picks not from. There's so many things you can do to improve on this design. This was made to be somewhat easy to follow and to just do the basics.

Make sure to let me know what you come up with! I love to see people make improvements/changes I wouldn't have thought of.