If you're a person like me that gets exhausted turning knobs all day, the DS3502 is just the ticket to calm all your knob-turning related troubles. Instead of having to turn knobs with your HANDS like an ANIMAL, the DS3502 I2C Digital Potentiometer allows you to let your microcontroller adjust the resistance for you!

Now you can free your hands to spin your fidget spinner or or eat a slice of pizza while you're on the phone. Talking over an I2C bus, your Arduino, CircuitPython board, or Python powered computer can talk to the DS3502 and tell it to vary its resistance at your beck and call.

Working with the DS3502 is easy as an I2C controllable pie. We've  put it on a breakout PCB with the required support circuitry and SparkFun qwiic compatible STEMMA QT connectors to allow you to use it with other similarly equipped boards without needing to solder. This handy little helper can work with 3.3V or 5V micros, so it's ready to get to work with a range of development boards.

The DS3502 is a simple chip that does one thing well and so it's very easy to work with. Wire it up and set the value for the wiper, that's it. To make things even easier, we've gone and written Arduino and CircuitPython/Python 3 drivers to simplify interfacing with your new knob-replacing friend.

"OK, this thing sounds great. Give me some details" you say. OK then, here you go: The wiper value is a 7-bit number meaning there are 128 possible levels of resistance to choose, from 0-10K ohms. You can even set a default value that will be set on power up. The analog voltage controlled can be from 4.5-15.5V. 

Additionally you can use the address jumpers or pins to set the I2C address to one of four values, allowing you to have four DS3502s on the same I2C bus.

This guide was first published on Aug 04, 2019. It was last updated on Mar 28, 2024.

This page (Overview) was last updated on Mar 25, 2024.

Text editor powered by tinymce.