AD584 Voltage References

3 voltage references based on the
     AD584Recently I built a simple DVM reference using LM4040As as an interesting alternative to the (astonishingly) cheap eBay offerings, and was very pleased with the results. However, curiosity got the better of me, and I so ordered some of the units based on the venerable AD584 to see how they performed.

This is a quick survey of the 3 units that I ordered, including measurements and schematic diagrams.

Introduction to the AD584

The AD584 contains a precision bandgap voltage reference, an op-amp, and a laser-trimmed resistor network around the op-amp. By default, these resistors provide the required gain to step up the 1.215V from the reference to 10V. However, by shorting together pins, 2.5V, 5V or 7.5V can be obtained. Also, external resistors can be used to achieve other voltages.

Inside the AD584

As the diagram (courtesy of Analog Devices) points out, we can't alter pin 3, but we can connect pin 3 to 1 - that gives an output of 2.5V. To get 5V, join pins 1 and 2. Finally, 7.5V can be had by joining 2 and 3. Neat!

If you needed multiple reference voltages at once, you could take the outputs from the resistor divider, but you'd have to be very careful not to load them down.

Voltages greater than 10V can be obtained by adding R3. The supply to the IC needs to be ~2.5V greater than the output voltage, up to 30V. It is possible to operate it in 2-terminal shunt mode under some conditions. When in 3-terminal mode, it can source 10mA.

The basic specifications are quite impressive, though naturally, it depends on the exact variant you have. Here is a summary of the key specifications:

Table 1 - Basic specifications of the AD584
  AD584JH AD584KH AD584LH
10V output ±30mV (±0.3%) ±10mV (±0.1%) ±5mV (±0.05%)
7.5V output ±20mV (±0.267%) ±8mV (±0.1067%) ±4mV (±0.053%)
5V output ±15mV (±0.3%) ±6mV (±0.12%) ±3mV (±0.06%)
2.5V output ±7.5mV (±0.3%) ±3.5mV (±0.14%) ±2.5mV (±0.1%)
Temperature coefficient 30ppm/°C 15ppm/°C 5ppm/°C
Long-term stability 25ppm/1000Hrs 25ppm/1000Hrs 25ppm/1000Hrs

The "H" suffix indicates the TO99 metal package, which is what all the eBay units seem to use. Plastic DIP packages have "N" at the end, but I'm not sure if there are performance differences.

In terms of the variants, I've seen "J", "K", and "L" for sale, and clearly L is the best one, but it was discontinued back in 2012. And in practice, it's not always easy to be sure which version you'll be getting from the adverts. But check carefully, and if promised a certain grade, make sure you complain if you don't receive it!

Given the new price of these ICs, people often wonder if they are fakes. Well, nothing is impossible, but it appears that the ICs are actually reclaimed from old equipment, the clue being that they all come with old date codes. This has an advantage - at least someone else has aged the reference for you, and as a result they should prove to be very stable in use.

Unit #1 - The KKMOON

This is the "Rolls Royce" of the group - a self-contained unit containing a lithium-ion battery (and charging/protection circuitry), and a microcontroller that provides a single push-button interface. It's built into a lovely little plastic case that comes apart easily for maintenance, and includes 4mm output terminals. Take care when using these, as full length plugs can go through to components on the PCB if you insert them all the way. It's known as the "KKMOON", but mine is labelled "Volt Ref. Hao Qi Xin". The PCB has "2015" on the copper pattern - I mention this because I've seen slightly different PCB versions in other photos...

There is a long thread on the EEVBlog forum about these - generally, the feeling is very positive. Also, it has been positively reviewed by Martin Lorton and Scullcom Hobby Electronics.

The KKMOON voltage reference

On the bottom is a "calibration certificate" which details the output voltages as measured after assembly. From reports I've seen, a variety of meters are used for this, but mine was apparently measured with a HP 3458A, which is a bit of a beast, to put it mildly! The ambient temperature was recorded as 21°C.

The KKMOON voltage
      reference has the calibration recorded underneath

So how do the numbers compare to what I see with my Keithley 2015THD?

Table 2 - Measurements of unit #1
Setting Measured Claimed Discrepancy Absolute error
2.5V 2.49926V 2.49917V 0.0036% -0.0296%
5V 5.00218V 5.00196V 0.0044% 0.0436%
7.5V 7.50171V 7.50138V 0.0044% 0.0228%
10V 10.00420V 10.00374V 0.0046% 0.042%

I'm pretty happy with these measurements. There were taken at 20.6°C after a reasonable warm-up period (about 3 hours). The "absolute error" column is, rather presumptuously, based on my measurements.

The device - the K variant (date code 0619) - is comfortably in-spec. In fact, it meets the L-grade. I like the corrolation between their measurements and mine, which suggests that my unit was indeed measured before dispatch (some doubt about this was raised on a forum discussion), and this certainly raises my confidence in my Keithley, which hasn't been calibrated for a good while, but still agrees nicely with other meters I have access to that are in calibration. Good meters don't drift!

Electrically, this is a complex unit - they have fitted a lot into the box:

The PCB inside the KKMOON voltage

I had a go at reverse-engineering the schematic diagram. There will no-doubt be errors, and of course most of the capacitors are unlabelled - and there are no component designations on the silk-screen - but here's what I came up with. Click the thumbnail for a larger version.

Schematic of the KKMOON voltage

The left third of the diagram is concerned with battery charging and protection, the middle section is the boost converter and microcontroller, and the AD584 itself is on the right hand side.

An LTC4054 deals with charging the battery. The negative end of the battery goes via the dual MOS-FET (FS8205A) to ground. These MOS-FETs are controlled by a DW01-P protection IC. However, note that the MOS-FETs have been shorted out in my example by quite deliberate blobs of solder, so perhaps they had problems with the scheme?

The KKMOON voltage
      reference - my sample has protection MOS-FETs shorted

The boost converter is an AP34063, which is a flexible IC that can be configured in a number of ways. It produces 13.5V at the output for the AD584.

The microcontroller lacks any markings, so it's hard to guess what it might be. It doesn't look like it's had the markings scraped off - instead it simply looks like it was never marked.

This IC is powered from the battery, and is able to turn on the boost converter via a MOS-FET (all MOS-FETs on this unit are the Si2301DS). It also lights the LEDs directly from output ports - these LEDs also supply base current to 3 transistors (the ubiquitous S9014), which in turn are connected to 3 MOS-FETs strapped around the AD584 to perform the voltage selection.

The implementation of the AD584 is straightforward. There is no output protection beyond a decoupling capacitor, so watch out for static and externally applied reverse voltages.


Overall, I'm impressed with this little unit. The fact it's calibrated, cased and ready to go is brilliant, and the price - just £10.54 delivered from China - is astonishing.

There are one or two mechanical issues to be aware of. I've already mentioned the output terminals, but also be aware of the battery being a tight fit - it pushes against the bottom of the PCB, and mine had a couple of dents caused by the DC input jack terminals. To fix this, I did 2 things: I threw away the thick pad that was holding the battery to the bottom, and replaced it with a much thinner version. Then I added a sheet of insulating plastic (from an old SMPSU), which sits between the top of the battery and the bottom of the PCB. A corner was cut away to allow the wires to pass through:

Additional insulator
      between PCB and battery

Some of the soldering wasn't brilliant. The SMT stuff was fine - presumably reflowed professionally - but the through-hole components and wiring to the battery and output terminals was clearly done by hand, and needed quite a bit of tidying up. In particular, one pin of the AD584 hadn't been soldered at all - luckily this seemed to be making good contact as the measurements didn't change after attending to this.

There is some switching noise at the output. The average level is quite low - less than a millivolt RMS on my Fluke 8920A (thermal sensing, 20MHz BW) - but on a 100MHz 'scope, the narrow pulses are some 30mV peak to peak. That's the downside of using a boost converter, of course, but against that, it's why the package is so small and convenient.

Overall, highly recommended.

Unit #2

Moving down the price scale, this unit is a PCB with no enclosure. But what do you expect for just £3.78?

The second of the AD584 references

This unit measures around 56mm square and has space for a 15V battery (a 10F20, which is not a battery I've used before), plus a DC input jack. Voltage selection is done using pairs of standard 0.1" headers - the idea behind using 2 is to minimise errors caused by contact resistance. The output voltage is presented on 2mm sockets and loops. It uses the L-grade part (date code 1015).

This unit also comes with a calibration certificate, which is a printed slip rather than the hand-written sticker used above. But while this might seem to be somewhat professional on the face of it, the truth is a little different. Basically, my certificate is completely identical to 2 others found on this thread - see posts #55 and #87 - and I bet that many others will have the same piece of paper. Hmm...

Calibration certificate for the
      second of the AD584 references

Let's see how it performs. Measurement conditions as above. Power was from a bench PSU set to 15.00V:

Table 3 - Measurements of unit #2
Setting Measured Claimed Discrepancy Absolute error
2.5V 2.49969V 2.49942V 0.0108% -0.0124%
5V 5.00156V 5.00037V 0.0238% 0.0312%
7.5V 7.50213V 7.50042V 0.0228% 0.0284%
10V 10.00333V 10.00066V 0.0267% 0.0333%

And this proves that the "calibration certificate" is fictitious - just look at the discrepancy between my measurements and the claimed values. With the earlier unit, that discrepancy was pretty consistent at all voltages, whereas here there is no pattern, and the difference is an order of magnitude greater.

That aside, the unit clearly meets the "L" specification, so no worries there. Let's take a look at the schematic:

Schematic of the voltage reference
      (unit #2)

Pretty simple. But note the capacitor between pins 6 and 7. The datasheet advises a maximum value here of 100n. This needs a closer look...

The stability problem

Some problems were noted in the forum discussion mentioned earlier. In post #82, a lack of stability during startup is mentioned, and subsequently this was also observed by another forum member (post #90). I didn't observe this behaviour at first, but it appeared during more detailed testing. I found that the most reliable way to invoke it was to set the output to 10V, and then dab the shorting link on the 2.5V pins. Watching the output on a 'scope, you could see the slow rise from 2.5V begin, and then after a few seconds, the voltage would suddenly "snap" to the correct value. No oscillation or similar could be seen - it was just a slowly moving DC output.

Based on the advice in the latter post, I changed the capacitor from 330n to 100n. This shortened the time the unit spent drifting, but it didn't reduce the occurance of the slow drift. So I changed the capacitor to 10n, and this meant that the "drift period" was reduced to less than half a second.


For the money, this is a great unit - not least because it comes with the top-grade IC. Well, mine did, at least. If I didn't already have the first unit, I'd want to mount this in a box - or at least attach some spacers to the corner of the PCB and mount it on an insulating sheet of Paxolin or similar. The start-up behaviour needs addressing, but that is just a case of changing a capacitor. I'd be tempted to build it into a box with a pair of PP3s as those 15V batteries are a bit unusual. The line regulation is pretty good on these ICs - reducing the input voltage from 18V down to 12.5V causes the 10V output to fall by 200µV, which won't be noticeable on most meters - so regulation is probably not needed.

Really, the only negative is the fake calibration certificate - perhaps not a problem for many, but anyone who is able to measure their unit with a similar level of precision will quickly spot the same thing I did. For people who own this unit, please feel free to get in touch with details of their "certificate".

Unit #3

Finally, the cheapest of the lot - just £2.89. It's the smallest of the lot, at just 32mm square, and lends itself to being fitted inside a project as a module, although it's fine as a stand-alone DVM checker too, provided you've got a decent collection of 4mm to crocodile-clip test leads.

The 3rd AD584 reference

This uses the "J" grade part - my example has a date code of 9148, which should be thoroughly aged! Surrounding it is a minimal set of parts - all through-hole types - and the soldering is better than the TH parts in the previous modules to the extent that it could be wave-soldered. The input and output voltages are on 0.1" pin headers, and the voltage selection is made by moving a link along a row of pins. A series diode to protect against reverse polarity is included, plus a power LED. And that's pretty much it.

No calibration data was supplied with this one. Let's see how it performs - naturally all measurement conditions were the same as the earlier ones.

Table 4 - Measurements of unit #3
Setting Measured Absolute error
2.5V 2.49857V -0.057%
5V 5.00159V 0.032%
7.5V 7.49998V -0.0003%
10V 10.00259V 0.026%

Bearing in mind the J-grade version is only specified to 0.3%, I'm pretty happy with those results.

Schematic of the voltage reference
      (unit #3)

This is about as simple as it gets! Not even an output capacitor - which might leave this unit more vulnerable to damage from static discharge. There are a pair of spare pads by the output terminals, so you could add an output capacitor if you wish.

The capacitor around the IC is 100n. I did note exactly the same startup problems with this module, so as before, I changed it for 10n.


Astonishingly cheap, and the smallest of the bunch - the best one to choose for incorporation into a project. Or put it in a diecast box with a pair of PP3s, and a 4 position, 2 pole switch and you've got a handy little DVM reference!


I must admit that buying from China on eBay is a good experience these days. So far, I've never had anything go missing in the post, and the items always exceed my expectations. OK, sometimes details like the soldering leaves a bit to be desired, but that can easily be sorted if needed. Often, you can improve things by making minor modifications, but that's sometimes true of products sourced in the west for a lot more money! Given the price of a new AD584, it's astonishing to think that a fraction of that price buys you a complete PCB and ancillary components, plus a chip that has already been aged for you.

Unit #1 is clearly the most complete, stand-alone product, and that's the one to buy if you don't want to spend time building the unit into a case. The calibration appears to be genuine and useful. The only downside is the small amount of switching noise at the output.

Unit #2 has the best IC, but I've no idea if all boards come with that grade. The fake calibration certificate is a shame, and the unusual battery counts against it. Do check the capacitor surrounding the IC, as this causes problems. The soldering was rather poor on my sample. But, worth it to get your hands on the now obsolete "L" grade IC.

Finally, unit #3 is likeable because of the compact size. Less convenient to use it on the bench as supplied, but build it into a project box. Add an output capacitor though...

I hope this brief survey is of interest.