Potentiometers are the perfect tool when you want to change your circuit by turning a knob. Turns out, there are times when you want to adjust your circuit without manually turning a knob, and the DS1841 I2C Logarithmic Resistor from Maxim can do just that.
It's a programmable resistor, similar to an I2C potentiometer like the DS3502 I2C Potentiometer, so why another?
The big difference between the two is how the resistance changes in relation to changes made to the wiper. The DS3502's resistance has a linear relationship to the wiper's setting. Each time you change the wiper by a given amount, the resistance will change by the same amount. With the DS1841, the relationship between resistance and the wiper setting is logarithmic. This means that as the wiper setting changes, the amount of resistance will depend on where in the wiper's range the current setting is.
Log potentiometers are used in audio applications for things like volume control because they better match the response of human ear to sound.
The DS1841's resistance ranges from 22kOhms to 3.7 kOhms and has 128 tap points. Even more interestingly, the DS1841 can be configured to adjust its resistance based on temperature with hysteresis to keep things from jumping around.
Additionally, the temperature compensation can be adjusted by using the LUT (Look Up Table) built into the DS1841. This table allows you to specify the wiper setting for each of 70 temperature increments between -39 and 100 degrees C, plus one each for above or below that range. You can even manually set the wiper to one of the entries in the LUT.
Working with the DS1841 is easy. It's 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. To make things even easier Adafruit have gone and written Arduino and CircuitPython/Python 3 drivers to simplify interfacing with your new knob-replacing friend.
Fancy as they are, breakouts alone won?t get you far, so Adafruit have written libraries for CircuitPython and Arduino along with example code to make them simple to use.
TECHNICAL DETAILS
Product Dimensions: 25.5mm x 17.6mm x 4.6mm / 1.0" x 0.7" x 0.2"