LuxMonday LuxMonday Header 001 Lead Image

Modifying a Boss RC-3 to add a Korg Sync output

I'm getting back into music and I've been exploring synthesizers and looping. As usual it started innocently enough and now I have a nice collection of gear that I am under-qualified to use.

My Boss RC-3 pedal is pretty fun. I'll have to admit that I'm a really really bad guitar player. I learned classical guitar as a kid, but somehow never got good at it even after playing drums for a surf band and bass for a glam band for years...I wanted to sync my RC3 to my synths so I can play looped guitar (or whatever) on the RC-3 and have the Volca Sample (weird drum thing), Monologue, and Volca Keys sync to it via Korg Sync.

Korg Sync is just a new name for the old school synthesizer step pulse. Different synths use different number of pulses per quarter note. Korg uses 2 or 4, but default is 2 pulses per quarter note (ppqn). 2 ppqn allows you to play 8th notes on a synced synth (say that fast) and 4 ppqn allow you to play 16th notes.

The Boss RC-3 has a "tap tempo" LED that you can push to set the BPM of the loop you're going to record. It also has a little drum machine built in and a separate volume for this. My goal is to tap into the LEDs and generate pulses that the Korg can use to sync to the RC-3. I opened up the RC-3 and tried to find where the LEDs were. They are both on a single tiny surface mount LED die, this is called a bi-colour LED. It lets you make green, red, and orange if you're crazy and turn both LEDs on at once.
bi-colour LED
This is a bi-colour LED
These things are, like, 2mm a side. Odds are not good that I can solder wires to that without seriously screwing something up. I like my pedal, I don't want to turn it into a brick.

Here's an image of the LED and button control board. (more on how to get into this later).
button control board
Button and control board
You'll notice all those happy test pads. The little copper circles. These are used for automated testing and programming of the PCB at the Boss factory. This is a good sign for a couple reasons: Those SOIC chips at the bottom appear to be I2C expanders, meaning that those chips are external I/O to the main processor. It appears all the inputs/outputs run through those chips. As it turns out the LED control for the Tap Tempo lights run from one of those chips. We'll need to connect to those pins as well as find a Ground and a Power signal.

Here are the connections for red LED green LED and ground. We'll pull the power from a different area. I was getting concerned going in and out of the unit and worried about breaking a flex cable which would have been no fun.

button control board
This little redish orange wire carries the power signal from the main PCB
OK so now we have some signals from the LEDs, but they're not quite what we want.
Test pad schematic
Test pad schematic
The test pads we connected to don't show the LED signal clearly, they show the voltage drop of the LED referenced to the 3.0V internal voltage. This might not be exactly what's going on, but the point is that we need to level shift and detect that first edge of the pulse.

So what kind of solution are we going to come up with? I'm a Microchip PIC programmer and design and build battery systems for a living, so lets use a microprocessor to do our dirty work!

The PIC I selected (PIC18LF13k22) has internal comparators. We can use these analog circuits to level-shift the LED signals so the PIC firmware can detect them.

Internal comparators schematic
Internal comparators schematic
This circuit is internal to the PIC and is configured in code.

The entire schematic ends up looking like this:

Entire schematic
Entire schematic
We don't use all those connections but I wanted them to come out just in case. The PIC programming header is brought out so we can program the PIC. Board was laid out, ordered, and populated. This is left as an exercise for the reader.

Input and output signals ended up looking like this:

Entire schematic
Input and Output signals
You can see the LED signal on the top, and the Sync pulses on the bottom. We're getting 2ppqn.

The final circuit board ended up looking like this:

Entire schematic
Final circuit board

Code was written. If you're big into that the files are at the end of this post. Basically the time between pulses from the LEDs is measured (any pulse from either LED) and that time is halved. A train of pulses is generated synced to the LED pulses but at twice the frequency.

A hole was drilled into the Boss pedal for the Sync jack (1/8" audio jack). Everything was mounted inside.

Final product
Final Product

Bill Of Materials:

Files: