HID device for controlling Zynthian beyond keybindings

Yesterday I found an HID footcontroller that is intended for transcription software at a thrift store, for just a few bucks. It’s got three pedals: two small ones at each side, and a broad one in the middle. It’s mighty sturdy.

Of course, my immediate thought was to control Zynthian with it.

For simple stuff I can make a udev rule and so on to present it as a keyboard. But the stuff I’d like to control are at least the following:

  • cycle through zs3’s
  • rec/overdub sooperlooper (or trigger the single pedal control - of which I don’t like the pause function - but that’d be another issue of its own).
  • cycle through sooperlooper loops

The first of this could be done by adding a CUIA to cycle (zs3_next stops at the end now). But the rest are more difficult (tied to a specific processor which may not even be available).

So I thought about presenting this as a USB device to the Zynthian (outputting note on and off events, or cc 0 and 127 values), so that:

  1. it could do midi-learning, and/or:
  2. I could write a device controller for it.

The last would mean I could e.g. use the left pedal to cycle through modes, getting all kinds of stuff done.

Now I can’t seem to find out how to present this as a USB Midi device, so that Zynthian recognizes it as such. Kernel driver writing is something I’ve never explored, and would like to steer clear of.

Does anybody here have any tricks up their sleeve, or alternative solutions that could be cleaner or of more use to more people? Generic HID->MIDI layer, ctrldev drivers for virtual MIDI devices? HID-ctrldev? Anyone want to use a joystick for pitch-bend? Adding a CUIA that issues MIDI CC events to current chain/global?

I did it with a converted Bugera footpedal board and a Blue Pill STM32 chip. Even managed to drive some WS2813 RGB LED’s which echoed the overall colour scheme. . .

It did it with generating MIDI values.

I had plans for zynthian ctrldev, but I discovered the reason the pedals were so cheap was because the switches didn’t properly make it they were tilted. Took the wind out of the project .

If you want to do things via USB Blue Pills are good but I now prefer Pi Picos. Either will allow you to open multiple usb components so you can have a QWERTY Interface, MIDI & UART all over the same USB connector, and still programme it that way in the Pico’s case.

1 Like

Nice, but since this is already a USB device, and soldering really isn’t my game, I am more in favour of a software-only solution.

I know that i’m possibly somewhat off track here, but…

The other day i looked for a Midi functionality here:

so i could send Midi CC from my keypad. That would be awesome functionality for those of us who are not making ctrldrivers and such.

1 Like