Midi Controller with Tap Tempo for the tc electronic D-Two

I recently discovered, that my beloved guitar amp sounds so much better without too many FX pedals in the input signal chain. Still, I don’t want to live without a nice chorus or delay. So, additionally to micing the amp’s speaker, I got myself a Palmer PSI 03 JB in order to feed my old tc d-two with a speaker simulated signal and have two additional wet channels.

In order to switch programs on the d-two I’d need to buy myself a midi foot controller, and with that I’d not be able to tap the delay time, as tc states, that there’s no way to do that using MIDI (see here). While doing a bit more research, I found the MIDI specification for my device. I noticed, that you’re able to change the delay time by using either MIDI CC48 or a SysEx command.

So, I had the idea to get myself a nice pedal case, switches, etc. and some Arduino. I read up on how to use it to send MIDI data and founds this wonderful article. So without doing much circuit design or creating a BOM, I went to my local electronics supplier and got the stuff needed, which isn’t much after all:

  • aluminium case
  • 3 momentary foot switches
  • 3 220 Ohm resistors
  • 1 DIN/MIDI plug, female
  • mounting screws
  • Connectors for the arduino
  • Green LED
  • Arduino UNO

I had some vero board still lying around and decided to use it for the rather small circuit needed to do this. I really hate these boards! All that cutting and scraping. But well, sufficient for now. 😉 I first programmed the tapping using a bread board and the LED and quickly went on with putting the actual case together. It didn’t turn out as nice as I intended it to look, partly owed to my vero board aversion, partly to the fact, that I’m too stupid to create a nice cable routing. 😉 But anyway…


Next up: Trying to understand MIDI data. It took a while until I realized, what 7 and 14 bit packed into bytes is about. Obviously, the most significant bit usually is 1 for status bytes (I’d rather call them command bytes) and 0 for data bytes and the rest of the byte is being used for commands or data. While reading the mentioned MIDI specification for the d-two, I first thought CC48 would do what I wanted. But, how would you encode let’s say 1000ms to a data byte, that on top of that only uses 7 bits for data? The specs don’t tell. 🙁 So I put all my hope in using the “Parameter Data” sysex command:

But how the hell do you encode – let’s say – a value of 5000ms to 14 bit divided into an MSB and LSB? Well, I took some paper and started to wrap my brain around bit shifting and masking. I also asked Robin Gareus to verify my method and he kindly pointed out, that I had forgotten handling negative values properly (“Oh, right it’s SIGNED 14 bit!”) and that I had MSB and LSB in the wrong order. So I ended up doing this:

(d is an unsigned int containing the delay time in ms)

Thank you so much, Robin. 🙂

After a few meander regarding the SysEx param IDs, I eventually succeeded:

Well, and here’s the complete code of the sketch. Feel free to use and adapt it. 🙂 It’s probably a bit quick and dirty. Feel free to send me a comment if you have suggestions.

The Howling JTM-45

Ever had the problem of your JTM-45 suddenly starting to howl? You changed all valves, suspecting it to be a case of “microphonia” and that problem is still there?

Well, that happened to me. Actually, my JTM-45 is a Cream JTA-45 from http://www.twinsound.de, a professionally built, hand-wired clone, but that doesn’t matter in that particular case. Since the amp had just been bought, I instantly contacted the maker and he would send me a couple of replacement valves to rule out a micro-phonic valve. It first appeared that the issue was gone. Until I was just in the middle of our bi-weekly jam session, hitting the first D on the A string and my amp would start to oscillate like mad. I thought, “Oh no, not again!” and then we tried to reproduce it. We even used a chop stick and tapped against the valves to hear if they’re the cause. No, they were ok. Until I accidentally hit the presence knob and it made a loud popping noise. I repeated doing that until it started howling again. What the heck? A micro-phonic presence knob? I’ve never heard of that before. 🙂

Well, back at home I wrote the amp maker about that issue, and it became clear, that I would have to send it in. It would have meant weeks without my beloved JTA. So I decided to do something, I wouldn’t really recommend anyone, who wants to keep their warranty: I opened the amp, put it into a little self-build frame and used the chop stick to tap against the back of the presence pot and the connected capacitor, while the amp was switched on. There was it again: That loud popping noise. So I measured the resistance of the pot and ordered a replacement for the both, the presence pot and the capacitor. I suspected the pot’s lug connected to GND being partly broken, as it kind of made sense to me, that GND being an “unreliable reference point” in that part of the circuit might cause the power amp to go nuts. 😉


Once I received the parts, I replaced pot and cap and gave it a loud test run. I also tapped against it and everything was eventually working as expected. To sum it up: I’ve spent EUR 2.50 and 20 minutes of work and testing to fix it, instead of having to send in the amp to a workshop, costing the amp maker probably a hundred times more money.


Nevertheless, I don’t want to encourage you to void your warranty nor to risk your life, as we’re talking about high voltage circuits! During my apprenticeship, I learned how to deal with them. I’m just posting this here, because when I was facing the issue, I had a hard time finding information from people, who might have suffered from similar problems. So I’m hoping it might be of some help. 🙂

I’m so happy about all the geek manufacturers out there, still hand-wiring amps. They are so damn service-friendly. 🙂

Klanghöhle Session vom 08.12.2015 – Get Fonky

Drums: the CLA
Git/Bass: Rajan

Dieses Mal den Guiding Bass-Track in Ableton gebaut, dazu Gitarre und Drums eingespielt, anschließend den Bass noch einmal ge-overdub-t. Unsere erste Session mit meinem neuen Celestion Vintage 30.

Here we go: