A different kind of controller

I thought folks here would be interested in my approach to hardware control of Rack modules, so here’s a video: https://youtu.be/BWebGwcX43E

The key feature here is the synchronization between connected control panels and what you see in Rack. Ports are replaced by buttons, pushing an input and output button simultaneously connects the corresponding ports. The buttons are then illuminated in the same color as the cable.

I started designing these panels before Rack v2, so the panels are laid out to match Fundamental modules from Rack v1.

Also very important, this isn’t vanilla Rack, I’ve added a few hooks, mainly around cable management, to keep port connections synchronized between Rack and the controllers. The module in the video labeled ‘HidDirector’, which keeps the connected panels synchronized with the modules, only works with this modified version of the Rack source code.

I think this approach isn’t for everyone. If you can afford real modules, you might be better of with the real thing. On the other hand, this approach has the following benefits over regular modules: low cost, patch save/load and easy polyphony.


Yes. Lovely.

Quite curious about your plans after the prototype stage.

For now I’ll probably just revise some component choices while making panels for other modules, probably some more basics from Fundamental, then maybe some from Audible Instruments.

Hello this looks very good and seems to work very well, congratulations for this work. Coincidentally, I am just starting to convert my private “hardware fleet” https://community.vcvrack.com/t/vcv-rack-gets-physical-a-diy-project-19-hardware-controler to Arduino controllers, or to equip new modules with them, however, I have no experience with these controllers so far. May I ask if you also use such, or similar microcontrollers for your project?


Wow! This is very cool. I’d love to have some hands-on hardware like this for VCV! It’s a great idea.

1 Like

Hey @Icet, I used TeensyLCs for this initial batch of panels, but I’m thinking of switching to the Raspberry Pi Pico because they’re so much cheaper. Only catch is I’ll need to use an analog multiplexer or two as they only have 3-4 ADC inputs.

That being said, there’s pretty decent documentation for sending MIDI from a Teensy: Teensyduino: Using USB MIDI with Teensy on the Arduino IDE. You’ll probably find something similar for the Raspberry Pi Pico, possibly in Python too.

Hello @zyx, thank you very much for the feedback. I had not considered the Raspberrys at all until now. Last week I ordered an Arduino Micro with breadboard and some multiplexers for experimenting and testing. It has a MIDI USB interface on board and should be recognized in the software as a Class Compliant MIDI device. If this works so far I think about cheaper controllers for the rack modules. The Teensys have, I think, the USB Midi interface directly on board, but are so hard to get.

Warning: The RP2040 ADC is not very good. You may need an external ADC.