Monday, 24 December 2012

Digital TS Rocks!

I ended my last post saying "time to get on and USE the new SOIC chip and the swanky new jumpers". I've been true to my word...

Here you can see a 1MOhm Analog Devices AD5242 digital potentiometer serving as the "Drive" control in my Digitally Controlled Tube Screamer.

Yes - I know the original had a 500k potentiometer in this position - but you can't buy 500k digital Pots for love or money, so I'm just using the first 128 positions of this 256 position 1M part. What's worse, this is a dual device, so I'm using less than a quarter of the resources I paid good money for :-(

Zooming out, here's a view of the m0xpd experimental Digital Tube Screamer in its current incarnation...

As you see, I'm still using two single op-amps (NE5534s). This is for two reasons; firstly to spread the circuit out on the breadboard so as to make things more accessible and secondly (and much more importantly) to irritate all those aficionados who believe that the only op-amp to use in a Tube Screamer worthy of the name is a JRC4558.

The other digital potentiometers are Microchip MCP4131s - a 100k part for the level control and a 10k part for the tone control. Again, I know that the original Tube Screamer had a 20k part in the tone control but my analysis of the Tone Control Network convinces me that a 10k substitution won't make a blind bit of difference. These new digital pots are better to work with than the AD 5220 parts I used in the original Digital Tube Screamer, which had a clunky "increment/decrement" control interface. Now with the MCP4131s I can load up desired numerical settings explicitly.

Also visible in the photo above (at the right-hand side) is a plug-in module built on Veroboard. It contains the input and output buffers and the Tube Screamer's electronic "Bypass" switching...

I know there are a lot of purists, flat-earth theorists and obsessives out there who like (what they judgementally call) "True" bypass switching. I admire the FET switching circuit and I might use it again in some other stompbox experimentation, which explains why I went to the trouble of knocking up the module.

If others want to follow suit, here's my schematic...

Now it is all running, I have the digital pots under control of the PIC, communicating through a common I2C bus (turned out I didn't need all the IO lines of the 16F887 after all).

I have all the variable parameters of the Tube Screamer - including the bypass switching - under the control of the PIC, via its keypad-based user interface.

Most excitingly of all, I have a range of PRESET configurations, which can be called up at the press of a button, allowing me to call on the full range of sounds the Tube Screamer can generate without fumbling with knobs! It is much better than having more than one Tube Screamer.

Now I need to decide on how I'll arrange some footswitch control.

...-.- de m0xpd


  1. Couldn't you have just put a 1M resister across the high and low pins of the 1M digipot rather than just using just the first 128 positions. Wouldn't that have increased your resolution while giving you a 500 K ohm pot? Midi control messages only go from 0-127, so that might have also been why you did that. Yes?

    1. Hi Kenneth
      I'm afraid resistors in parallel with potentiometers aren't that simple...

      A 1M resistor across a 1M potentiometer will indeed give a 500k overall resistance, but the resistance to the wiper / slider will not be a nice, linear 0 to 500k range.

      The decision to use half the 1M pot was taken only on its resistance - any range of control values could be mapped in software onto the 500k range of resistances available in the bottom half of the pot's travel (although, as you say, there's only 7 bits of resolution in an ordinary MIDI signal).