[Update 2022-07-05: Replaced older 3-reference/4-voltage design with newer single reference/3-voltage design.

Why am I doing this?:

I'm waiting for delivery of my Keysight 34461A 6.5-digit digital multimeter (DMM). I got to thinking that this would be the perfect time to build a precision voltage reference to check the DMM for parameter drift. This is a bit daunting. The voltage accuracy of the meter is specified as:

After 1 year the meter should measure a 100mV reference with an error of less than ±8.5µV, 1V±47µV and 10V±1mV. The real question is which is correct -- the meter or the reference?

Wandering through the reference wilderness:

There is a lot of passion about this subject. The absolute best ever reference is a Josephson Voltage Standard, but expect to pay ~$300k for one.

The next best thing is a heated buried zener diode, ala LTZ1000. This voltage output of the diode can hardly be called a reference since it is usually somewhere around 7.1 V. You don’t build one of these for accuracy. Its claim to fame is low temperature drift and incredible stability (i.e. it doesn’t change much with time). But the LTZ1000 is a bit pricey as well — around $60 just for the hermetically sealed metal can that encloses it. And the surrounding circuitry is a nightmare of concern. Not for me with just my lowly 6.5-digit DMM.

After you discard the top two, you’re left with a bazillion choices in a more reasonable price range: $1-$12. The problem is to choose wisely. In order to do that I had to decide what is important for my purposes. Here’s a list of primary specifications:

Other Stuff to Worry About:

My Bright Idea:

After wading through EEVBlog forums, reading ancient articles about reference design, and reading countless voltage reference component data sheets, I came to one overriding conclusion: It's all about temperature! If the temperature variation went away, there would be very little challenge left: circuit layout effects and stability. This is, of course, the trick that the LTZ1000 uses, but on a component level scale. 

I am thinking of applying it to the entire unit. If everything inside the box was the same temperature, it would not matter how good the temperature performance of the component is, or the tempco matching, or the thermoelectric voltages in the connections. If the box never varied more than say 1°C then all of that stuff can be trimmed to nearly zero.

The only remaining important reference characteristic is then Stability: the lower the better.

How am I going to do this? Add a uniform heater under the main PCB to generate around 100°F constant temperature, evenly across the PCB. Then insulate the two PCBs inside the box, preventing temperature differentials inside the box and helping to keep the inside temperature at the design value. So now the electronic design must include the mechanical design in order to succeed.

The Current Design Approach:

There is now only a single 10V voltage reference IC -- the  LT1021-10 because it has better aging specs and better initial tolerance.  The stability of the LT1021C is better than the ref102c -- 15ppm/1khr vs 20ppm/1khr. There is only one trimmer potentiometer -- to trim the 10V reference to within 100uV.

The 1V and 100mV references are divided down from the 10V reference using 56 resistors.  The resistors I used are 20KΩ 0.1% 25ppm/C tempco. This will be the proper reference voltage for the 34461A DMM when set to the 1V and 100mV range.

My fat finger estimation of the overall tolerance of this resistor divider is 0.016%(max)-- six times lower than 0.1%. The distribution is Gaussian, so I figure it will be better than that.

The input voltage source is a 15V wall wart that can provide at least 10W of power. This should not be hard to find.

Lastly, the opamp surrounded by some passive R's and C's is a temperature PID controller. The LM34 IC generates a voltage equal to 10mV x T (in degrees F). The control point is 0.99V = 99F.

The output of the PID controller drives the gate of a power MOSFET that generates heat from the heater PCB. If all goes as planned the PID controller should maintain the internal temperature of the container at 99°F(37°C) and the effects of temperature drift should diminish.

The PCB layout:

Here's the top layer of the PCB:

The 1:10 and 1:100 resistor divider occupies the entire center of the board. I devoted two logs to just the voltage divider so check them out.

 The 10V reference is in the lower left corner. There is a slot cut out of the PCB to relieve stress and the LT1021 sits on its own little PCB that is cantilevered off of the main board. All the connections to GND and VOUT are kelvin to prevent any interaction. The GND connection for the reference is a single via to the ground plane very near the GND pad of the LT1021. The LT1021 will use a socket to avoid errors created by soldering the component into the PCB.

The top half is the PID temperature controller. There is nothing special about the way this was laid out.

The top right corner contains the input power supply filter. The 10x22mm 1000µF radial capacitor is laid on its side. I expect to use hot glue to keep this monster in place. 

There are no large currents on this board so the trace widths are near minimum, except for the large trace widths in the resistor divider.

The Heater:

It's pretty easy to generate heat. The purpose of the heater is to provide even heat beneath the reference board and try to maintain a constant temperature across the reference board. The heater is just an array of resistors driven by an array of FETs.

I decided to split the resistors into the source and drain of the FETs to keep the gain to a minimum while still allowing the FETs to drive the full supply voltage across the resistors. Each of the 9 resistor columns will generate a maximum of 341mW for a total of 3W. This should allow the heater to drive the enclosure to 33°C above the surrounding ambient. The 2512 resistors are rated for 1W, and I calculate that the thermal resistance is 80°C/W, so they will not get more than about 5°C warmer than the board itself. Each FET will have a maximum dissipation of 85mW, with a similar thermal resistance of 80-100°C/W, and they will rise a maximum of 8.5°C above the board temperature. 

The layout follows the schematic exactly.

The heat will concentrate where the FETs line up on the board, but since the top of the board will be facing away from the reference board I'm hoping there won't be much of a gradient. If there is a gradient it will be near the center of the reference board where no sensitive circuitry resides. 

The heater is sort of a crap shoot. I ordered boards and paid for fast delivery because I need to test out the breadboard of the heater PID control loop, and make sure it works, before ordering PCBs for the reference circuitry.

The Current Reference:

The requirements for the current reference are a bit more relaxed than the voltage reference: 0.07%, or thereabouts.

I figured that since I was going to the trouble to make a voltage reference that a current reference wouldn't be that much more difficult. Well...yes and no. It's the same difficulty, but different concerns.  I came up with a circuit approach that I think will do the job. There are three current references: 10mA, 1mA, and 100µA. This will cover my most used ranges for the projects that have historically been of interest to me.

In addition to worrying about microvolts there is the additional worry about pA of stray currents. The components are a bit pricier since the design must rely on the absolute error of a component instead of the relative matching error. I went to Digikey to find the 0.01% tolerance resistors. I got the cheaper ones -- only $7/each instead of $25/each for 1ppm/C drift. 

The current from each terminal is determined by the accuracy of the voltage reference -- an LT1021C-10 trimmed to 10V ±0.1mV -- as well as the absolute tolerance of the resistor -- 0.01% in this case. If you use opamps with low Vos and Ib, then those errors can be reduced to the point where they're negligible. If all goes well then the accuracy of the current reference should be twice as good as the DMM.

I'm not planning to regulate the temperature of this board. It should meet the less strict requirements over the range of temperatures expected in my shop environment.

The top layers of the PCB show the guard rings placed (on both sides if there are through-holes) around the node that are sensitive to leakage currents. The large holes for the current output terminals are for test pins to make it easier for the meter to attach probes.