My Control Chain Device (almost finished)

Hey Everyone!

I just wanted to share what i’ve been up to recently:

It will get a little bit prettier but it works!

2xTRS inputs for expression Pedals (almost like Jesse demonstrated in the mod-blog), 2 additional pots doing exactly the same thing.
I also had a display lying around, right now it doesn’t do anything but it’s in there - waiting for code! :stuck_out_tongue:

This is my first time soldering and drilling/filing aluminum ever, so please be forgiving :wink:


Looks pretty neat to me.

Be good if you can get the pedal inputs and knobs displayed as little bar graphs on that display.


This is what it’s all about!

1 Like

we’ll see what’s next. maybe i’ll include a port for an accelerometer but i guess i have to sacrifice 1 or 2 of the analog ports for that (maybe switchable).

But first, it’s going to be painted (or foiled) and i still need some knobs for the potis.

did some more testing today - finally with cc itself.

when connecting the device via cc i get the message “new cc device connected”, pomptly followed by “device disconnected”.

What could be wrong?

CC code is (almost) the one provided by jesse and ricardo.

edit: now the code in github says “cc.begin()” which was “cc.init()” 10 days ago. can that be the problem? when i change it i get “class controlchain has no member named ‘begin’”. So, new library?

Is there any function blocking or delaying the loop?

No, that is not the problem. I’ve renamed to make it in agreement with Arduino’s guideline. The cc.init() is still available though, and it does exactly the same thing as cc.begin().

No delays.
even deactivated everything i added to the code.
I did not use any ports that are used by the shield itself.
Every actuator works (testing via serial monitor).

(Ports used: A0-3, D3-6, D11, D12, and 5V&gnd, obviously)

Do you mind sharing the code so I can test it here? You can PM me if you prefer.

…also curious to see the code,if you care to share! :slight_smile:

Sorry for the delay, had rehearsals yesterday and also i wanted to make sure it really doesn’t work so i played a bit around today.

i used the example code and stripped it down to the original to make sure i didn’t screw up with the code myself.

the cc footswitch works fine. also, my soft-/hardware is up-to-date

This code works for me. I have:

  • MOD: v1.4.1.467
  • Arduino Lib: v0.3.1
  • Arduino IDE: 1.8.3

One test you can do is to change amountOfPorts to 1 and check if it still not working.

Arduino Lib v0.3.1
had an old IDE (1.6) - downloading current atm

Test with amountofports 1 also failed

I’ll redo it all and try again. hope it’s not a wireing issue…

edit: current lib&IDE, still the same. also tried different cable to connect. same problem when “in the chain” behind footswitch or connected directly to the mod.

Please comment out the line with the analogRead() function to see if it make any difference.

it does not :frowning:
also, the wiring should be right as i get all the right values in my serial monitor (with different code).

just to keep you updated:

Ricardo found out, i had a buggy TimerOne library installed. Don’t download Version r11 and install it as a *.zip file in the IDE, instead use the Library Manager and search for TimerOne there.

Thanks again @ricardocrudo !

Not only for your patient help but also for my newly aquired ssh-skills :slight_smile:


Ok, problem solved - new problem.

I wanted to use my controlchain device as my secondary cc-device - meaning MOD–>Footswitch–>MyDevice.

2 Issues (one small, one big):

  1. when changing values with MyDevice MOD CPU usage spikes by up to 8-9%. Doesn’t seem much but when you’re already at CPU limit it could generate problems in the future. Can this be optimized?

  2. Now here’s the big one. When i have both devices connected, after manipulating the values through MyDevice for some seconds, the Footswitch is disconnected. It does not matter which device is first in the chain and also happens with low base CPU load.

Hope you can help me! :wink:

Actually, it was Jan Janssen who found the bug. Not bad for his first day, right? :slight_smile:

The control chain is supposed to consume some CPU when there is intense exchange of data. Do you know how much is the % variation when you are actuating your device?

Good catch. I just fixed it. You’ll need to update your ControlChain arduino library and the footswitch firmware.


@ricardocrudo I seem to be experiencing the same problem: my footswitch is v0.2.2, and my arduino shield is using cc version 0.5.1. My sketch is just running the expression pedal example.

Any thoughts?