Midi Random Sequence Generator

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://https://www.arduino.cc/en/main/software

You will also need the Midi Library: https://playground.arduino.cc/Main/MIDILibrary/

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: https://sparks.gogo.co.nz/ch340.html or https://www.dropbox.com/s/19ekrpcrrhlwbva/CH34x_Install_Windows_v3_4.zip?dl=0

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: https://www.dropbox.com/s/2zihds8ivij08z7/RandomSe...

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.

Be the First to Share


    • Battery Powered Contest

      Battery Powered Contest
    • Plywood Challenge

      Plywood Challenge
    • Plastic Contest

      Plastic Contest



    8 months ago on Step 3

    Hi there!
    First, thank you for sharing this project.
    Second, I tried to make it too...but...:
    * none of the switch do anything, neither pause of the sequence nor keep the same sequence. I tryied directly and bypass them...but nothing change
    * rotary does nothing too (to choose a length of sequence): I tryied as you do, with a wire between ground and 7 or 8 or 9, did'nt seem to work
    * variation tempo speed pot works great, by the way! I use a 100kOhm linear one.
    * led 13 works great too
    I make it with an arduino nano chinese clone.
    So, if you have any recommandation or method to debug my try to make it, it will be nice from you!