DIY Midi controller

I’m putting the finishing touches on a midi controller I’ve build for my Dwarf and I thought I would share a little about it.
This is what it looks like:

It’s build with a Teensy 4.1 “brain” and a TFT touch screen as programming interface.
It supports sending a PC message on loading a bank (for pedal board selection on the Dwarf) and each button can send 16 PC and 16 CC messages on selection. The buttons can be set up as Patches (mutually exclusive) or Toggles. The patches have a “second push” function so another (up to) 16 PC and CC messages kan be send if a given button/patch is pressed again when it was already selected.
It also has an expression pedal input!
The programming/setup is done directly on the touch screen, and it’s relatively quick and easy :slight_smile:

This is a super fun project and the first I have done with a Arduino/Teensy, so I’m learning a lot!


Wow! This is awesome!


You should make few of them and let us buy it :smiley:


looks cool - i’m in the midst of building something similar. Did you you use a prebuild project or did you programm it yourself?


I did all the programming myself - with the help of Google, and a lot of tutorials and stack exchange.
I have done a lot of programming, but not on the Arduino platform before now.


What’s your approach?


This looks really really cool @PeterO!
Even more for someone starting out as you say :astonished:

Please share some videos of it in action :slight_smile: Maybe a little tutorial and you will end up selling a few haha


Thank you.
It helps that I have been a professional programmer for 20 years. Even though I have worked mostly with Java EE.

I might do a video, but I’m really not interestet in turning it into a product. Mainly because I don’t want to deal with the support and endless feature requests, if you know what I mean?! :slight_smile:

I plan to make the git repository public when I have refactorer a few things, so maybe someone can benefit from that.


I’m using PedalinoMini. Just printed a custom enclosure (similar to yours but with an oled). It works pretty well and far more powerful than everthing I could ever write. It use an ESP32 so you can configure it via Wifi.


Holy c… that PedalinoMini is a big and serious project! I didn’t know it existed before now.


We do :sweat_smile: :sweat_smile: :sweat_smile:


Beautiful project. I also once built a midi controller with a Teensy. The aim was to store the midi commands for controlling my effects devices per song in the order in which I need them, so that I only ever need one button for the complete songs. Interestingly, the Dwarf and its pdelaboard/setlist/snapshot structure replaced this part. The problem with building my own was similar to yours. You have to do the software development yourself (and I lacked the time and know-how to develop the part so that it could be programmed without an Arduino development environment).

But as life goes, I have already moved the whole thing away from the Dwarf to the OnSong app, because it can be programmed quickly with the smartphone. At the moment, I jump from the smartphone via a CME WidiJack into the Dwarf, which then controls my HX Stomp and my BOSS SY200.


Really nice project man! I love to see people making stuff like this. With your background in programming, I would be really interested to see if you could do the same thing with Control Chain instead of midi so that you could have the assignment labels automatically propagate to the display

This also looks like a super cool project!

This too! nice work!


Thank you. I did look into the Control Chain possibilities when I started this project, but getting the hardware (Arduino Shield) seemed a little bit “too much” for me!
I might take another look at it - but right now I should probably spend my time practising my guitar playing :slight_smile:


I’ve got an HX Stomp for which I built a MIDI footswitch controller, which isn’t configurable per se but is easily reprogrammed if I so desire. Just a display, half a dozen switches, and an Arduino Nano, MIDI socket and appropriate resistors, and powered via a bridge rectifier to prevent unfortunate reverse polarity unpleasantness.

I have literally just bought a Duo and that PedalinoMini looks like it would go rather well with it. I feel quite humbled looking at it.


Making similar device currently, probably it is a must have due to ModDuoX not having footswitches.
I had tried fb1010 from behringer, to be disappointed on how useless and uncapable it is, so having something that I can extend on my own for my needs as required sounded nice.

I am using stm32 f103 blue pill instead of teensy, however, as soon as stm32 blue pills are dirt cheap compared both to arduinos and teensy, really faster than arduinos, and are able to do usb midi .

My homebrew firmware is currently capable of sending multiple commands on each press/release events independently, or for tap/double tap/hold as well.

Also I’ve added some “steps” into configuration for each event-footwswitch pair, that allow to send a new set of commands each time, for example it can be possibly programmed to send chords in asequence by tapping the same pedal again and again, or cycle between CC values or program changes this way.

I even managed to make ugly but working web interface as a separate html file with Chrome Web Serial API capable of editing and writing configuration to my midi pedalboard via usb serial without rebuilding the firmware, and configuration is stored into the external EEPROM.

Currently trying to write same tap-tempo and bpm functions to my device.

The only problem to share some cute photos is, that I still have my future pedalboard only as a test breadboard and still cannot get footswitches in the two countries localy where I’ve been during this year, my attempt to order switches failed as I’ve got switches twice smaller than expected, and probably I will get M-Wave Chocolate from aliexpress earlier than these switches, lol.


I’ve had a similar experience and upgraded to an EurekaProm and now it works perfect (at least for me). If you still have your fcb1010 lying around, you could still make some use of it…


I did the same but I used the UNO chip instead which is similar. It does make it a lot more useable but the hardware is still pretty bad. Even after calibrating the expression pedals don’t detect the full range of motion on mine


I had considered that, but probably after initial experience with 1010 I’ve got a phobia of some sort of bumping into limitations again even with eurekaprom. My original plan was to just replace all the internals by my own electronics and use 1010 as a case with buttons, after making a working stm32 firmware, but unfortunately had to leave almost all of my gear and move to another country, so I cannot do it anymore.


Great work, @ignis32. Congrats.

The FCB with stock firmware is really bad. As @roughael mentions, either the EurekaProm or UnO will give the FCB a new life. That being said, I don’t recommend the FCB either. Whereas it’s actually sturdy and road worthy, the optically-driven expression pedals are T.E.R.R.I.B.L.E. !!

And yes, you’re much better off with your home-brewed controller.

Welcome to the forum, @Tauzero. Please post your findings and questions as you go.