I'm working on a calibration project that will use a digital potentiometer acting as a shunt resistor for a piezoresistive accelerometer. I'm trying to confirm the values of resistance for the potentiometer (DS1803), but the results have been very sporadic and even just setting the DMM to read resistance while the device is powered on seems to have lots of variance.

Measurement Issue:

If I directly measure the resistance at max (theoretically 100kΩ) it looks to realistically be around 92.5kΩ. This is not consistent though because as I sit here and write this, the resistance is varying to sitting around 90.1kΩ to 89.5kΩ to 91.4kΩ and occasionally jumping down to 70kΩ. Through lots of testing, 92.5kΩ seems to be the most consistent result for the max resistance. There does seem to be a very small voltage(~0.05mV) present when reading these resistances, so I'm thinking maybe that is why this is not working properly, but even that reading is not always present.

Some Weirdness:

Ideally, I would like to run through all the resistances and record them to get a baseline for what to expect in the resistances, but doing this several times resulted in resistance variance of around 500Ω-5100Ω in the larger resistance range (92.5kΩ-59kΩ) with an average resistance range variance of 2260Ω. As I did more recording sessions this range of variance seemed to decrease though, such that the average variance is decreased to 249Ω if I remove my first two trials (of 7 total) from the calculation. I thought the problem might've been the DMM, but I tried a different DMM as well but it will also sometimes vary wildly in measurement.

Notes on Circuit:

All I have set up right now is pretty simple. I've got the address pins for I2C tied to ground, +5V on VCC (pin 16), ground to ground (pin 8), I2C pins (SDA/SCL) tied to a communication device with some diodes to clean up the signal and some resistors because the communication device said to have resistors. This is currently breadboarded and not soldered. I'm measuring the resistance across pins 14 and 12 (Digipot 0's Hi and Wiper respectively) with no voltage directly connected to any of the Digipot pins.

Final Request:

Is there a better way to determine these resistance values? I've thought about just forgoing full range resistance measurements and just using the maximum resistance to calculate the step value and working with calculated values for what the resistance should be there, but I'd rather have some more assurance that the digipot is operating properly than that.

Components Used:

DMM: Tekpower TP9605BT (Tried to grab the datasheet/manual here but it looks like the site is down right now)

Digipot: DS1803-100 Courtesy of Tony Stewart

I2C: Adafruit FT232H Breakout Board for I2C Communication and as a temporary power supply (Via PC USB). Couldn't find a direct datasheet for this, adafruit has a guide but not a datasheet I could readily find.

FT232H - The chip that the Adafruit breakout board uses

  • 1
    \$\begingroup\$ I doubt that a digital potentiometer acts like galvanically isolated device, so IMO it has to have a defined potential VS. the supply voltage. \$\endgroup\$ Oct 14, 2021 at 17:03
  • \$\begingroup\$ What are the part numbers and datasheets (digital potentiometer, DMM, etc.)? Schematic? Picture of the setup? \$\endgroup\$
    – Null
    Oct 14, 2021 at 17:11
  • \$\begingroup\$ I assume this is used to calibrate a Piezoresistive accelerometer y/n? \$\endgroup\$ Oct 14, 2021 at 17:40
  • \$\begingroup\$ This is for a Piezoresistive accelerometer, yeah. I've updated the post with some info on the components/devices used here. \$\endgroup\$
    – Vin
    Oct 15, 2021 at 13:58

3 Answers 3


The multimeter is floating relative to the chip, so it will pick up stray electric fields from ambient 50/60 Hz. I guess this makes the common mode voltage on its leads move around enough that the protection diodes in the digipot conduct and wreck the measurement.

You can try grounding the negative multimeter lead, along with the digipot pin it is probing. If that works, then my hypothesis would be confirmed. Otherwise, it's something else.

Note this digipot has a large tempco:

enter image description here

The temperature range for a portable device with an accelerometer should be limited by the LiIon battery, so let's go with 0°C-50°C. That's 3.75% variation on the resistance.

If it is used as a pot, both sides of the pot will have the same temperature and the same tempco, so it doesn't matter. But if it is used as a resistor for calibration, it will drift a lot. So make sure you're aware of that.

  • 1
    \$\begingroup\$ Grounding the multimeter lead worked perfectly and there is now no variation while measuring at all, though I'm not sure if this will be a permanent solution or not. The pot doesn't necessarily need to terribly accurate, consistency is more important though and if there is constant drifting over a short time frame I'll have to try out a different pot. \$\endgroup\$
    – Vin
    Oct 15, 2021 at 13:39
  • \$\begingroup\$ so it was a CM noise issue as I suspected. \$\endgroup\$ Oct 15, 2021 at 17:21
  • \$\begingroup\$ Most digipots I've used required that the potential on the three pot-pins remains between VCC and VSS. This means they are not to be understood as galvanically isolated! \$\endgroup\$
    – datenheim
    Dec 24, 2022 at 17:04

There is a maximum BW spec for each DS1803 determined by the suffix.

  • Adding a cap ought to suppress the pickup noise which may be getting rectified into a current and thus changing the high resistance values.
  • Decouple supply near chip with suitable 0.1 uF cap or more if necessary.

This digital pot has a linear resolution of 8 bits and a linear accuracy of 7 bits while the total range accuracy is only +/-20% max or ~3 bits for absolute.

To measure resistance with no load use a small RF capacitor across the meter to suppress noise as it injects a small +ve xxx uA constant current and then it measures the resistance as voltage with some scale factor.

Use twisted pairs such as magnet wire , UTP or STP with breadboard to reduce interference. I would suggest >> 100pf or > 1nF leaded cap between the DMM terminals. The cap must have low leakage and may be tested for open circuit on it's own for interference with CM noise on ground to identify if any more problems.

  • \$\begingroup\$ I tried adding a 0.1µF decoupling capacitor and tried a few different small value capacitors across the measurement leads but this didn't seem to affect the resistance reading variance. The measure still drifted in the range of around 5kΩ with occasional even larger jumps in measurement. I will probably do some more testing in this line though and I'll update to see if this works as well. \$\endgroup\$
    – Vin
    Oct 15, 2021 at 13:43
  • \$\begingroup\$ the resistance of these devices is of the order of 100k, not that high. If any of this was the issue, why wouldn't the same happen measuring a 470k resistor on the end of normal unshielded test leads? (It doesn't of course.) \$\endgroup\$
    – danmcb
    Oct 15, 2021 at 14:15
  • \$\begingroup\$ the cap must be across the DMM terminals to suppress DM noise caused by CM from balanced impedance measurements. \$\endgroup\$ Oct 15, 2021 at 17:22

These things are basically analogue switches and lots of resistors. A multimeter is designed to measure a pure resistance and typically does so with very small voltages and currents. There is nothing that I could see in the datasheet to explain the lack of stability of your readings, but I would guess that for some reason (perhaps stray currents in the switching circuits) they are not that great when the current/voltage is very small.

I would try tying one end of the "resistor" to ground, the other to a voltage source and multimeter on uA in series, and then see what voltage you need for (say) 100uA. (The absolute maximum wiper current is spec'd at 1mA, so you want to stay well below that!)

This might also give you a way to roughly investigate whether or not the lack of stability you see is really down to the magnitude of current, as I suspect. There's only one way to know, the datasheet doesn't mention it (as far as I could see).

I'd be curious to know what you find, by the way, as this behaviour would have clear implications for suitability for some applications (e.g. audio volume control).


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.