Building a Hardware MIDI Sequencer – Update

Raspberry Pico Pi Hardware Sequencer with custom IO board

The IO board is using a MCP23017 16 bit port expander to control a matrix of pushbuttons and LEDS.  The Raspberry Pi Pico has enough GPIO pins to handle a small keypad like this but I wanted to try out the MCP23017 to see what kind of performance I can get out of a I2C interface.   The Yamaha Reface DX is connected via MIDI and as you can see in the video, I can load a midi file from the SD card and play it back on the Reface.  

Now that the initial H/W prototype is complete, most of the remaining effort will be firmware development.

Building a hardware MIDI sequencer

I started to build a hardware MIDI sequencer! Yes you read that correctly, a hardware MIDI sequencer!
You might say, but that is so 1980s!

Why?
Why not use a DAW?
Why not buy a used hardware sequencer from the 80s/90s?
Why not buy the Teenage Engineering OP1 or modern sequencer like the OXI ONE or Synthstrom Deluge or any one of the loop based MPC like pads!
All great questions.

First, I do use a DAW; I use Cubase. But using a mouse on a sequencer is much different than manipulating buttons on a hardware device. I play well enough to record tracks in real-time. I don’t really need the ability manipulate midi data at the microscopic level that a DAW gives you. And the times I do, using a rotary dial and buttons on a hardware sequencer is so much faster and easier than manipulating a mouse and keyboard on those midi event editor tracks.

I could buy a used a sequencer from the 80s. It would be really cool to own a Yamaha QX1 or Roland MC500 as I always dreamed of owning one of those. But there are a few downsides. They’re big and bulky. They can’t run on batteries. And they’re floppy based. I have no idea where to even buy floppies these days.

Okay, so older sequencers are not ideal, but what about some of the newer sequencers? Well, my understanding is that those new sequencers are loop based like Ableton. Honestly, I don’t know how they work. I understand it’s supposed to be really good for live playback. Maybe I’ll check them out someday but for now, I like the linear pattern/track based recording process. Also, I don’t feel like spending $1000+ for a device like the OP1 or Deluge; but they admittedly do look like a lot of fun to play with.

Finally, I really like building these kind of gadgets.

I’ve built some Arduino based audio and MIDI projects in the past but the Arduino products don’t have enough SRAM to be a serious sequencer, adding RAM to an Arduino would just eat up all of the IO pins and the Arduino boards are quite expensive for what they are, a small microcontroller on a nice PCB. So when I saw the Raspberry Pico Pi for only $4 and it’s spec, I had to give it a try. I build the obligatory LED blink and got familiar with the product. It has a C and Circuit Python library API. I developed a MIDI IN/OUT interface, bought a micro SD card interface, added some switches and LEDs for I/O and tried to play back a MIDI file from a micro SD card. But wait, there is no SD card C library for the Pico! What??! There is a circuit python library but since I am not a python guy, I ported the Arduino SD card library for the Pico. Now I can playback a MIDI file off of a micro SD card and play it from the Pico.

Off to a good start. Check back for updates on the progress.