Zynthian MIDI-UB Controller


Hi @Zynthianers!

I’ve made a little stop in zynthian software development and have finished a little project that has been over my desktop from a few months ago. Here is the result:

It’s a simple MIDI-USB controller with 8 rotary encoders with led-ring, controlled by an Arduino-like board: the SparkFun ATmega32U4.

The firmware allows to control upto 24 MIDI-CC parameters arranged in 3 layers: red, green, blue. You can change the layer by clicking the top-left encoder.

The next step is fully integrating the controller with the Zynthian Box, so it can read the parameter values when loading a preset, for instance :wink:

You can find the schemes for the case and the firmware in github:

I will try to write a tutorial in the next weeks/months.




Great job!

I made a midi foot controller based on arduino to control zynthian remotely:

I also made a midi controller with 16 potentiometers to mount in zynthian enclosure (19" Reack 2U):

<img src="/uploads/default/original/1X/15388ff38f5c2d4badfe2c19b5303efde3ed0fdf.jpg" width=“333” height=“250"”>

For MIDI-USB conversion i’m using the hiduino with atmega16u2

The code (quite amateur, but works) is in:

A great idea would be to switch existing presets on zynthian via midi footswitches or buttons!



Hi @rod_amaral!

Excelent stuff! I really love it … :heart_eyes:
Please, tell me, what do you think is the better way of implementing this “preset switch functionality” for Zynthian. For instance … what MIDI messages are you using in your pedal switch?

Kind Regards!


…I’ll have to build a bigger 3D printer to print a single case for my next zynthian with all the knobs :smiley:



while I was still puzzling to get my basic ZBox up and running, I was trying to think about extensions like adding a number of poteniometers to the system - and now your controller developments catapults me into a completely new universe with the ability to make online and offline (not on stage) parameter input a real snap. your new Controller box opens the doors for a heap of exciting new parameter controls…

When you find the time, PLEASE
Tell me if you are going to offer this also as kit ?
… if yes - I’d already now want to order one;
… if no - please indicate where to find parts and building instructions
(I am having some problems to find a quote to thhe rgb led ring you have used.
In addition:
… would it be possible to use a teensy (3.2 or 3.5) instead of the ATmega ??

(anxious to hear from you)
Greeting, Tom


Hi @music.friend!

I would like to write a “tutorial” for the MIDI-USB controller, but it’s still a prototype and i want to improve some things before. When it’s ready and i’d wrote the guide, perhaps i could offer kits, but it’s not sure.

Anyway, it’s a really simple device … but a mess to wire!!! :fearful:

Regarding your questions, yes, it could be done with a teensy. No problem with it. The code should compile with very little changes …



Hi again!
thanks for your answer - i’ll just wait for your tutorial to come about.
Maybe your prototype could be one prime example for shifting RPi GPIO to some external device / protocol which is currently discussed triggered by “good ole” C0d3man - anyway that ideahas some tough corners to get around…

Just reading your comment about the wiring, also found in a few other comments, I can say that I did not find it very difficult at all after I had puzzled out some part orientations, pin numbers ec which I did not find in the tutorial or in the wiki. I have then tried to upload / enter my so very clever comments (mainly pictures/drawings), but I have not figured out how to do that.

OMG, so many things to learn beforeI can become an efficient community member …
Maybe I need a kick to my butt from you directing me how to do that ;-))))) ?

regards …


I’ve used the Nord Modular G2 a fair bit and it uses encoders and leds in a very similar fashion to this, with an x-y array of switches to select many, many parameters of it’s virtual synth’s.
It’s easy to get a little bit lost in the heat of the moment, and the LCD displays on the Nord help a lot.
Would you plan on putting any sort of display on the MIDI-UB controller to aid in such a situation or would this be handled by the zynthian display?


I like the LED approach. LCD makes it more expensive. Not to mention all those different brands.


Actually the LED colour changing aspect is very attractive…

User defined or generic …?

Could we be describing something as the mauve filter :slight_smile: or would we use different colours for different layers?


Hi @mheidt!

Small OLED displays are really cheap. Not much more than LED rings. Take a look:


Also, the wiring is more or less the same mess, jajaja! I really like the idea of having the assigned parameter name on each rotary, so i will try to build a prototype as soon as i have some spare time … :fearful: … perhaps never!! :grin:

Kind Regards!


Been thinking…
24 knobs, sure that"s better than nothing…

But zynaddsubetc needs more…
But sure, as long as we can decide which parameters are concerned, it’s a geat add on…

But could we convert your module into a 24 analog input controller ?? 8 of them would even be enough… That would allow the use of external pedal, ribbon, joystick, breath controller, even an old ARP 16 note sequencer, or an envelope follower… Let’s dream : 24 envelope followers, to control 24 harmonics… A zyncoder…

Enjoy the sun…


I realize how silly I am… These are encoders, you used, Not potentiometers… So of course, the conversion would not be possible… Sorry for disturbing…
Enjoy the day anyway…


No problem :wink:
Analog inputs are very interesting too … i’ve some ideas flying in my head …