Those twisty knobs connected to potentiometers aren’t necessarily a strict linear progression from one resistance to another. Potentiometers have a taper. Yes, sometimes it’s a linear taper that’s a straight line from one resistance to another, but you can find log (audio) taper pots, and anti-log taper pots. It’s been this way for a hundred years, and now we have a pot with a digitally controllable taper thanks to a guitar pedal that fits in your shoe.
For the last few years, [John] has been hard at work creating the SoulPedal, a shoe insert that’s the wireless, wearable alternative to expression pedals, wah pedals, and every other guitar effects pedal that uses an ankle. [John] got the idea by replacing the light-sensitive resistor in a wah pedal with a force sensitive resistor in his shoe. It worked, but there were wires. Now the SoulPedal is based on a TI SoC +Radio with all the niceties you would expect.
When designing the ‘base station pedal’, [John] realized he had a digital pot with two channels, and the entire device only uses one of these channels. Instead of letting that little bit of silicon go to waste, [John] wired these two digital pots in parallel, allowing the user to customize the taper of a digital pot. If you’re asking yourself, ‘why’, the answer is, ‘because he could.’
It’s an interesting application for sure, and while this digitally controllable pot can replicate the linear, log, and anti-log tapers, the really interesting thing will be to see what non-standard tapers sound and feel like.
15 thoughts on “Digitally Controlled Pot Taper”
But does it ‘zipper’ when moved.
My guess is not so you’d notice given the opto buffer which probably adds a bit of smoothing to the output, but the real source of zipper is the amount of steps in the pot itself, most newer pots don’t suffer from audible zipper but any digital pot will have steps from one value to the next so on a scope you might see the steps, just not hear them. The audible zipper effect is kind of a 20th century 8 bit kind of thing and hopefully shouldn’t be an issue with modern parts and a well designed circuit.
Good comments all. Zipper was an issue at first and the Opto-isolator did smooth it out at the cost of some latency (about 5ms on a rise to 80% per the specs and a bit slower on release). But that’s still faster than a person rocking their foot on a regular pedal.
Don’t most digital pots have zero crossing detectors that eliminate that?
“Zipper” would be a function of the resolution of the digital pot, and how fast you could update it with new values. Resolution wouldn’t matter if updates occurred 5/sec. Update rate wouldn’t matter if the pot had 32 steps (5 bits). You need both fast updates (>100/sec?), and high resolution (1024 steps, 10-bits) to make the “zipper steps” fast and small. The high resolution allows you to map a linear input to any kind of taper you wish to define – requires microcontroller, but if you’re using I2C, it’s already there.
The LDR is a nice variable resistor that offers electrical isolation from the signal (though not used that way here), and doesn’t care about the signal characteristics being modulated (insensitive to polarity, DC offset, amplitude, etc). LDR’s also have a slow response which helps conceal the zipper effect.
The problem with LED/LDRs (or any optocoupled device) is they are inherently non-linear. “Taper” tends to become a moot point without some effort at linearizing the LED/LDR output.
Use 2 LDRs with the LEDs in series. One LDR is connected only to the audio circuits. The other LDR is used to “sample the output” of the LED/LDR, and provides negative feedback to adjust the LED current. As long as the LED/LDR pairs approximate each other, you can get reasonable linearity. Some precision analog opto-isolators do this all inside the package.
If you are driving a LED/CDS pair and not the actual audio signal, why not simply use a D/A which has much finer step and much more linear than digital pot?
Tekkieneet, that’s a good idea. The only reason we kept focusing on the digital pot was that we originally tried to use it directly but had some noise as mentioned earlier. The LDR idea was borrowed from R.G. Keen on all the pedal blogs (as a hack to fix scratchy pots for musicians). Aside from software changes needed to work with a new chip layout, I’ll seriously consider your idea next time around… if this Pedal gets some legs.
From the title, I thought this was going to be a robotic marijuana joint roller… LOL!
I can see the connection. Musicians… Pots… Hackers…
Another approach for flexibility, connect the remote pot output into an A/D, use the analog value to index into a table, and have any taper you want. If you need more resolution, interpolate table values. You could have multiple selectable tables too.
of course, you’d just need a controller in your other shoe to cycle through the selectable tables… next thing you know you’re the Fred Astaire of this generation, but with a guitar in your hands… There are some serious possibilities here!
Really cheap log pots are sometimes not even true log curves – they maybe fake it by doing two half-linear bits. So you get say 100 to 30k linear in the first half of the range, and then 30k to 0 in the second half.
I’ve never come across one of those, although I did have that they put a log in a place where there should be a linear or linear where there should be a log so that in the end you get the impression it might be like you describe by the rest of the circuitry not being able to use the inbetween values.
Hey, here’s an update (2 yrs later, I’m back on it)… https://www.facebook.com/soulpedal/?rc=p
Forget about zipper noise and resolution issues, SoulPedal(r) is extremely quiet and responsive now. Details on my Facebook page. Mostly thanks to a better ground layer and the opto-isolator. I have yet to try my own idea above but it’s only a matter of days before I test that code. Stay tuned… 15 for sale next quarter, PCBs are ready and 1st unit is SWEET!
Interesting, seems I’m “candoit3d” on this forum, that’s old. SoulPedal(r) Inventor here, hope I can do it…
Please be kind and respectful to help make the comments section excellent. (Comment Policy)