A few years ago, I was thinking that there must be a way to implement soft-switching that didn't require as many parts as the Boss/Ibanez setup, given that they've been using that circuit since the 70's and there must be a simpler way to do it with what's available nowadays. Of course, you could use a small PIC or ATTINY microcontroller, but I was working as a software engineer at the time and didn't want any of that leaking into my hobby.
This is how I came to create the Incandenza bypass, (which I named after a main character in one of my favourite books, Infinite Jest).
The Incandenza Bypass is dead simple. It uses a *555 (LM555, NE555, whatever) timer set up as a T-type Flip Flop
Every time the footswitch is pressed, the output of the 555 is re-connected to the trigger pin (which is held at half the supply voltage by R1 & R2 the rest of the time), causing the output to flip over into the state opposite it's current one. If it's high, it goes low. If it's low it goes high. Perfect.
A simple 100k resistor (R3) and 1uF capacitor (C1) form a simple first-order low pass filter that debounces the footswitch.
When the output goes high, the 555 outputs about 7.6v. This travels through the indicator LED (which doubles as a current protection diode to ensure no current flows back into the 555 due to back EMF when the coil voltage is toggled).
The 100Ω Resistor (R4) helps lower the voltage down to about 5v, to help lower the strain on the 5v relay. It will work without this resistor, and I've never personally burnt out a relay while not including this, but why not be safe?
Finally, 5v level is applied to the relay, latching it. A flyback diode sits in parallel with the relay coil, and should not be excluded.
The rest of the relay connections are made as one would on a 3PDT stomp switch. My personally preferred method of connecting the pins is shown in the schematic, though how this translates to the pinout of the relay you choose to use is between you and the datasheet. My personal preference for through-hole relays is the EC2-5NU.
This is, of course, for relay-based true bypass switching. For relay-based buffered bypass switching, we only need to make a couple of quick changes:
Incandenza Bypass (Buffered Bypass, with Relay)
If you instead want to use an input buffer, here's how you can use the Incandenza bypass circuit and a relay to implement the switching.
Why would you ever want to use buffered bypass, you ask?
Because it's great and 99% of the people who tell you otherwise really have no idea what they're talking about, from a technical standpoint. There are some poor implementations of buffered bypass to be found, sure, but I believe in you and your ability to be better than that.
You can use the Incandenza circuit as a trigger for any number of different switching devices. JFETs (though you'll need to add in a basic NPN inverter), Analog Multiplexers, etc.