Reverse-engineering USB control surfaces?

Is anyone aware of attempts to reverse-engineer USB control surfaces (for instance, the Faderport 16) to use them with something like Norns?

I’ve only been able to find documentation for the Mackie Control Universal:

but clearly at least some of the protocol is device-specific (for instance, to drive the displays above each channel).

1 Like

Look at the end of the Faderport 16 manual, there’s a description of the full SysEx protocol to drive all the elements of the device, including scribble strip screens. (Chapter “FaderPort Multichannel Controller MIDI Protocol”)

For other devices, you’ll either have to find something similar in the manual / on the site (to my surprise, controller manufacturers are quite good at publishing these in general), hope the controller talks either MCU or some other well documented protocol, or failing everything else, learn to use a USB sniffer app / device to try to make sense of the protocol.

It’s all just midi. Note on/off, CC and sysex.

Check the wiki for further information and links :blush:

I have a pretty good start for a ableton push library here.

It’s also just a midi wrapper using notes, cc, and sysex. So it might be an ok place to get some inspiration.

Incidentally, I’ve also been interested in this subject. I have a Livid Code v2 which won’t save its settings and I’m trying to figure out how that works so I can replace a part, if need be.

The unit has full configuration through Sysex, which is nice, considering the company is defunct. I opened it up, but now it’s also acting wonky: moving one encoder moves several other LED rings.

It runs off a Livid Brain board (rev 1.2.5), which appears to be based on a PIC microcontroller. I think the model number reads 19F6 or something, but all kinds of happiness was had with soldering irons and glue guns in the construction, so it’s hard to read through the crud.

The board has USB and MIDI, but also a 6 pin header for a programming interface. Would love to learn how to do a firmware dump/reverse engineer the thing, as it wasn’t an open source project.

Of course, if the settings are saved to some kind of memory in the PIC, it might not be worth diving deeper here. Anyone have experience with these things?