Super-voltage divider

I’m working on a quick side project at the moment to build a high accuracy self-logging gyroscope module, and I have a little problem. The gyroscope I want to use outputs 0V to 5V, while the DAQ board I want to use only reads 0V to 3.3V.

The obvious solution is to build a simple voltage divider, but I’m worried about loosing some accuracy. I’m using a 10-bit A-to-D converter, so lets say that I want to keep the voltage accurate to within one measurement bit (in the right circumstances this could bump the reading up or down by one bit, but never two):


So, (I’m probably not doing this exactly right) I need the two resistors to have a combined maximum error of 0.097%, so each one has to be accurate within 0.049% (I didn’t just divide by two, I took 100*(sqrt(1+0.00097)-1), which happens to be very close to 0.097%/2 !). Such things exist, but they are a bit more than I want to spend (~$30 for a 10 pack on Digikey when I only need one of each).

But that’s actually the manufacturing tolerance I would need to have that kind of accuracy right out of the box. I’m going to be calibrating the gyroscope anyway, so what I really need are resistors whose values won’t drift over time/temperature by more than 0.049% (more precisely, 488 ppm). I don’t have a good sense of this kind of resistor accuracy, or even if the temperature dependent drift is within the manufacturing tolerance (although I would hope it is).

So, does anyone have any thoughts? Recommendations for a type of resistor or supplier? Or is this a silly idea, and I should throw in an AVR running at 5V to do the actual sampling?


Hi, Adam;

We don’t know much about really accurate resistors, but your post alone makes it seem like the voltage divider approach will be a pain. Another thing I wonder about is what your references for the two analog parts are: if you have independent references for the 5V and 3.3V systems, those two moving relative to each other will also introduce some error. I suppose you could divide the 5V line and measure it to calibrate your real reading, but if it were my project, I think I would seriously consider using an external ADC (perhaps even a higher-quality one that what you get on an AVR).

- Jan

I’m not supposed to be devoting much time at all to this project, but that doesn’t mean I want to do a bad job. I asked around work today too, and someone pointed out to me that you can buy resistors of various values manufactured together in a single package, specifically designed so that as the package temperature changes, the ratio of the resistances, and thus the voltage division, stays constant. It would be a lot easier if they were called something like “voltage divider chips” (which was the first thing I searched for) but oh well.

I just ordered a couple of these. They’re little surface mount packages with a 1K and 2K resistor tied together at one end for $1.60 each (5 pack minimum, but still very good). They’re manufactured with a 0.1% tolerance, but the resistance ratio (and thus the devided voltage) stays within 1 PPM per degree centigrade!

Thanks for the idea of measuring the reference voltage, I hadn’t even thought about that yet, but I’m totally going to do that too.


I figured something like that ought to exist, but I didn’t know what they were called. Good to know!

- Jan

Actually, rather than logging both the reference voltage and the gyro voltage, my plan right now is to try to hack a divided reference voltage to the Vref pin (or whatever they call it) of the ARM microcontroller on the data logging board for slightly more precision.

Silly Sparkfun with all their 3.3v devices. The world runs on 0 to 5V!