MIDI Footswitch Protocol?

I’m not a regular on here, as I don’t yet have a MOD Devices product. So I might be asking a question with an obvious answer, which has been dealt with a few weeks ago. I did read the thread on footswitch recommendations, but that, whilst interesting, didn’t answer my question.

Like I say I don’t have my DuoX yet, but I am currently making a midi footswitch for a synth. As I’m making the footswitch I have liberty to write whatever code I want into it. So all that said I thought that if, and when, I do get my DuoX it’d be good if my footswitch worked with that device, as well as my synth. I had a look on the mod devices wiki for info, but there’s not much more then a photo.

One thing that is clear, from the photo, is that the MOD Devices footswitch has LCD Screens. So it’s possibly not MIDI alone? I’m not a midi expert, by any means, but I’ve not encountered any MIDI messages for LCD Display. Additionally my current design has my footswitch connected via MIDI Out to my Synth’s MIDI In. There is no return comms path to my footswitch. If there’s an integrated LCD then there’s a comms path and a protocol, for the Duo X.

So what’s the protocol? The answer to that question might well be that the protocol is 100% proprietary and closed off from prying eyes. Which is fine, it answers the question and I just have a configurable MIDI footswitch, which ain’t tightly integrated into the MOD Duo X. I’ll get by, this was just a thought as I have to Duo X ordered. It might still be months away, so it might be pointless changing my design for something I don’t have. Still a Protocol is always a good read, if it’s available.

You are looking for the Control Chain protocol!
Its an open-source protocol developed and maintained by MOD, to allow for more in-depth controllers when compared to MIDI.

there is some info on the wiki here
or if you want to go straight to the source, it’s available at our Github:


also have a look at Ardiono shield information/git incorrect for directions towards the hardware details. pay attention that the port that looks like an ethernet port is actually not an ethernet port but is used for the control chain protocol.

if you buy an arduino shield from mod devices (or make one yourself), you can interact with the various mod devices. unfortunately, currently, the hardware git can’t be successfully cloned but it should be updated soon.

there are some howtos from mod devices on how to use the arduino shield, e.g.,


As a bonus, the entire source code of the MOD footswitch firmware is at https://github.com/moddevices/cc-fw-footswitch


This is why I love this company <3


Thank you all so much. Sorry I’ve never gotten back to this as I was still waiting for my Device. We’re finally up and running so I’ll now be attempting some CC protocol. :wink:


Sorry me again. I’m reading through the code and getting the idea of it, but I’m not using an Arduino. I’ve a box full of micro-controllers and as this is a serial based protocol I can pretty much use anything with a UART.
As a first step I’ll try and figure out a CC message to sent to the ModDuoX and try and ‘log into’ it to see any ‘dmesg’ output or logging of a received CC message. That leads to a question about the physical. I can’t see, but it might be in front of my face, the spec for the physical interface. It’s Serial and it’s using 500000 bps baud rate and using an RJ45, (Ethernet), connector. That connector will have a possible of 8 connections, so which are used/unused and for what signals?

Like I say that might be very obvious. Perhaps it’s in a very early blog post and I’m late to the party.

The physical interface is essentially RS485, so you won’t be able to hook up a serial port without some external circuitry. See https://wiki.moddevices.com/wiki/Control_Chain_Protocol

I would recommend you get the Arduino shield - it will allow you to connect up a standard serial port. I’ve built my own and converted the entire CC protocol to micropython so I am quite familiar with it. I’m happy to answer any other questions you may have.

I’ve recently bought a Teensy 4.0 and I’m hoping to build a footswitch based on this. Ideally I’d like to make a smaller, Teensy shield that contains the appropriate circuitry.


Super cool!

The Control Chain protocol page [1] doesn’t mention a pin out for the RJ45. There is a link to the Arduino shield page [2]. On that page there’s a link to the hardware files for the shield [3]. That’s a 404 error.

[1] https://wiki.moddevices.com/wiki/Control_Chain_Protocol
[2] https://wiki.moddevices.com/wiki/MOD_Arduino_Shield
[3] https://github.com/moddevices/cc-hw-arduino-shield/tree/master/shield

Found that repo https://github.com/moddevices/cc-hw-arduino-shield

1 Like