How I made my nanovoltmeter - Page 1
Forum section: electronics / general

author: jaromir
author_rank: Unknown
timestamp: May 16, 2022, 03:41:43 pm
content: it is nearly 256 days since TiN released his call for nanovoltmeter designs  and it trigerred quite a few responses here .I tinkered with DIY test gear before, but dedicated micro- and nano-voltmeters were always too niche and mysterious for me, so this contest didn't resonate with me too much at first. In fact, I never operated any nanovoltmeter before, had zero practical experience in low-level voltage measurement and it took me a few days to pluck up the courage for this voltnuttery area.I will not repeat all the stuff I already wrote into public repository here . so perhaps just small recap of the design process. As usual, the major starting problem was getting single piece of metal enclosure of right size that doesn't cost an arm and leg. I found some enclosures at Modushop , but it still needed some minor adjustments, like workarounding weird decision of using self-taper screws.Electrical design was centered around finding good low noise amplifier. I went through half a dozen of test designs to finally settle on paralleled MCP6V51 opamps as good compromise between price, parameters and "time to market" (which is always major constraint in contests). The rest of analog circuitry wasn't that complicated - main amplifier with switchable gain, plus few MUXes and relays to connect the respective amplifiers where needed. I implemented automatic calibration (ACAL) which is not that complicated for voltmeters - it takes resistor divider string and way to attach one of divider outputs to amplifier input. Assuming good ADC linearity and known one voltage on the string, ACAL algorithm can measure voltages by more than one measurement range and calculate gains and offsets of amplifiers. One those are known, each range gain and offset can be adjusted.ADC is of integrating charge balance type, with now rundown and residual integrator voltage readout. I could have perfectly used integrated sigma-delta ADC, but this was more fun.One of funny aspects of this design was PSU - at first I was aiming at 50Hz dual back-to-back transformer type, but halfway through I realized I can feed the transformer by audio amplifier and local oscillator. That enables both DC power operation as well as AC line power (by using appropriate AC/DC power module).Also, this project is GPIB playground. I never implemented any GPIB device, so I thought like this is good opportunity before this interface slowly fades into history. Unfortunately, deadline approached earlier than I expected, so I postponed it for later. But ethernet interface works and talks via SCPI-like commands.The major design goals set up by the contest - 30nV p-p noise@10Hz, nV/10V combined inputs and two switchable inputs - were met and I'm happy to learn a thing or two, with byproduct of gaining an actual nanovoltmeter (NVM). It could be improved by many ways, a few major TODO points are also included in the repository and I'll try to address them as soon as possible.While working on this project I realized it's probably quite complex and I really felt like it could be done in simpler way, albeit with less stringent design criteria. I cherrypicked some parts of this NVM and integrated then into much cheaper and simpler instrument. I really hoped to finish it until deadline, so I can present both full blown and budget versions of NVM, but unfortunately I had to focus more on the large one, so NVM junior has to wait a bit. Surely I'll share the design publicly and announce it here, too.Attached are pictures of a whole device, short term noise measurement and 1uV steps provided by Keithley 260 source. Also, you may take a look into imgur album with random photo dump https://xdevs.com/article/nvm_comp/https://www.eevblog.com/forum/metrology/nanovolt-design-challenge-build-and-show-your-own-nv-meter-in-256-days/https://github.com/jaromir-sukuba/nvmhttps://modushop.biz/site/https://imgur.com/a/fnK1Evj

author: macaba
author_rank: Regular Contributor
timestamp: May 16, 2022, 03:48:52 pm
content: Great work Jaromir, you're an inspiration to us all.

author: RoGeorge
author_rank: Super Contributor
timestamp: May 16, 2022, 04:15:37 pm
content: Wow!

author: mawyatt
author_rank: Super Contributor
timestamp: May 16, 2022, 04:30:36 pm
content: Superb work, and stunning effortReally like the way you approached this task, the selection of the MCP6V51, and clever use of audio amp to drive the power transformerPlease post more details and images if you can, and thanks again.Edit: Forgot to ask if you noticed any artifacts from the chopping action of the MCP6V51? Since you are using 100 devices, do they show a subtle beat against each other, or maybe injection lock to each other? Didn't notice the chopping frequency mentioned in the data sheet, but appears from some of the graphs to be ~50KHz.Best,

author: DH7DN
author_rank: Regular Contributor
timestamp: May 16, 2022, 06:37:58 pm
content: Congrats for completing the challenge. Thanks for sharing!

author: branadic
author_rank: Super Contributor
timestamp: May 17, 2022, 05:26:32 am
content: Maybe you would like to add third input channel to the wish list, which allows for 3-cornered hat method measurement without rearranging the connections?Where do I have to send money to get one of this units?-branadic-

author: tggzzz
author_rank: Super Contributor
timestamp: May 17, 2022, 07:18:06 am
content: Apart from anything else, congratulations on the superb documentation. That does you a great deal of credit!

author: Kleinstein
author_rank: Super Contributor
timestamp: May 17, 2022, 04:11:53 pm
content: A really nice project. The nV preamplifier is a bit brute force, but doing its job.There are a few points I find a little odd - some could be due to the tight deadline:1) The AZ switching may have quite some charge pulse at the input and could this effect the low pass filter. So I would consider to combine the AZ switching an filter selection and not share R1 for the filter and direct path. This way the filter + AZ combination could use the normal path as a kind of pre-charge.2) The amplification for the residual charge amplification is very low (~1/10). With a rundown phase the residual charge left is expected to be quite small. A gain of some 5-10 could be useful to reduce the quantization noise below the noise of the residual charge.3) The overflow detection would only detect gross overlaod, but not occasional clipping from superimosed hum.Quote from: branadic on May 17, 2022, 05:26:32 amI think the 3 cornered hat (and a few other tests) would need additional switching at the low side. So another relay from ground to 2 more terminals, not so much a 3rd normal input.

author: jaromir
author_rank: Unknown
timestamp: May 18, 2022, 09:59:12 am
content: Thank you guys for your feedback, it's very appreciated.Quote from: Kleinstein on May 17, 2022, 04:11:53 pmI probably know what you mean, but I did not completely understand how would you modify the AZ switching/filter part. Moving pin 6 of U1B to other side of R1?Quote from: Kleinstein on May 17, 2022, 04:11:53 pmCurrent prototype of the ADC doesn't use rundown, just residual reading after runup, so that I scaled down full integrator swing to fit ADC range. This simple approach is fine for this application.I'm planning to play around with rundown, though, in that case I can change the amplifier gain.Quote from: Kleinstein on May 17, 2022, 04:11:53 pmYes, this serves to sense gross overload, to keep LNA safer from user error - determined person will always find a way to destroy a thing, though.Quote from: mawyatt on May 16, 2022, 04:30:36 pmIt's quite a task to document the instrument in very detailed way, but I can try. Are there any specific details you are interested in or you found lacking?Quote from: mawyatt on May 16, 2022, 04:30:36 pmI did not see much of an chopping artifacts, but I can take more detailed look, thanks for this suggestion.

author: Kleinstein
author_rank: Super Contributor
timestamp: May 18, 2022, 11:51:45 am
content: Quote from: jaromir on May 18, 2022, 09:59:12 amMoving pin6 of U1B to the other side of R1 would be a way, though with still an additonal resistor in series. This way reading the path withput the fitler would than no longer disturb the filter.I would than also eliminate U1A and thus have the filter input side always connected. The filter has no gain and should not effect the other path.The no longer needed U1A part could than be used to substitude U3 (DG419) for the AZ switching. So there are 3 paths to chose: zero, the direct path with a new 16 K resistor or the filter. AZ mode with the filter should than use a short (e.g. a few µs) phase with the direct path as a precharge to reduce the charge spike towards the filter.When running the ADC similar to the 34401, without rundown, the low gain for the resual charge makes sense. With a rundown one should get better resolution, which can be a big plus for the ACAL part. The quatization noise could still be a relevant part of the noise, expecially for the faster conversions.With the MS-3 like ADC I still see an uncertainty in the exact timing of the auxiliary ADC reading and thus kowning how much of the last feedback step is before or after the residual charge reading.Without the filter the AZ mode samples the input only half the time and this gives additional noise bandwidth or aliasing from noise in the 25 Hz band (for 1 PLC). So filtering out that band helps to reduce the extra noise from sampling the input only half the time. The 10 Hz low pass filter would especially make sense together with the 1 PLC AZ mode. For suppressing mains hum the filter can also help.The non AZ mode seems to work quite well, as the ADC can be low dirft and the front amplifier is an AZ type anyway. So it looks like it is real option to use the ADC in the non AZ mode, up to 6 digit resolution. It may still help to have AZ mode, as there can be long time drift in the ADC. This is not only the amplifiers, but also the resistor networks and a change in the charge injection of the 4053 or just leakage currents.I just saw one more easy improvement near the ADC. Especially with the LM399 reference it makes sense to have some filtering between the reference and the ref. amplifier (U16). This would be for noise in the frequency band around 1/4-1/2 the runup modulation. So some 50-200 kHz, and thus not much RC filtering (e.g. 1 K and 100 nF) needed to reduce the noise of the reference effecting the ADC.For a lower const ("junior" version) it should be OK to use MORN resistor networks instead of the LT5400. They should even fit on the same foot-print (just no substrate pad).

author: jaromir
author_rank: Unknown
timestamp: May 18, 2022, 01:26:34 pm
content: Thanks Kleinstein, I see now.Switches rearranging and optimization sounds good. I'll consider it for next PCB revision.

author: Kleinstein
author_rank: Super Contributor
timestamp: May 18, 2022, 06:29:03 pm
content: For reducing the power consumption one could save a little with the +-8/9 V supply for the 100 MCP6V51. Best would be a lower votlage transformer tap. A small improvement could be done with a separate recitifer and choke or more resistor before the filter cap to improve on the power factor. Ideally this may reduce the power by some 30%, with a resistor more like 10% maybe 15% of an improvement.Another possible saving could be possible by using simple passive averaging instead of inverting summing amplifiers, at least for the first step. This could save 10 of the MCP6V51.I don't think one would really need the offset compensation for the input. The input offset should be pretty small (e.g. 10 µV range or less) and thus even in the 100 µV range only 10% of the range lost. If really needed a single selected resistor could be good enough, but I would expect it to end up not populated.The bias current compensation could likely also get away with a simpler DAC. This may than eliminate the +-2.8 V reference levels.For the 9 mV test signal one should get away with MOSFET / DG419 switching instead of the Reed relays. A pair of 2N7002 should do the job nearly as good and with less power. At least the one that is active when not in used could be replaced.With the ADC good for +-10 V, why are the test signal for ACAL using 700 mV and 70 mV and not 900 mV or 1 V, so closer to the full scale ?To improve on the ACAL procedure, one could also use additional negative test points (needs however extra HW). This would provide more points for self testing (the gain for the positive and negative side should be the same) and make ACAL a little less sensitive to the INL.I don't know if it is already used, but there may be the option to improve on the ADC noise: the auxiliary ADC could read the residual charge a few times over consecutive cycles, and not just once for the start and stop. Thus would result in an slightly extended input aperture and modified frequency response (more attenuation of higher frequencies). In addition the oversampling of the auxiliary ADC could reduce the noise, especially if still limited by the quantization noise at shorter integration.If crazy for very low noise also in the AZ mode, there would be a possible upgrade of the main amplifier to give not only a +10 / +100 fold gain, but also a negative output to create a differential signal. This way one could get an AZ mode with nearly 100% sampling of the input and thus the lower effective bandwidth of the no AZ mode. It would mainly be a thing for the 10 PLC AZ mode, for 1 PLC the 10 Hz fitler could do much of the job.

author: Jeff eelcr
author_rank: Frequent Contributor
timestamp: May 19, 2022, 02:47:58 pm
content: Very, very nicely designed and lay out is fantastic.Jeff

author: ZhuraYuk
author_rank: Regular Contributor
timestamp: May 26, 2022, 08:14:49 am
content: jaromir Did you conducted any testing or measurements of thermal EMF for your selected relays G6KU-2? Also did you considered using AD8428 in the input amplifier, they has filter outputs and averaging noise seems to be better when you using them.

author: Kleinstein
author_rank: Super Contributor
timestamp: May 26, 2022, 09:02:22 am
content: Latching relays often have a reasonable low thermal EMF. With essentially no power from the relay itself chances are that thermal gradients are small and constant. It still depends on the layout and surrounding - often more than the relay type.The AD8428 has low voltage noise, but quite some current noise and drift in the input bias. So it is not that attractive, especially if you combine several in parallel. The real world time scale of interrest is usually slower than 0.1 - 10 Hz and more like 100-1000 seconds. So the relevant noise is more like the noise at 0.01 or 0.1 Hz. At 0.1 Hz the AD8428 has comparable voltage noise to a single MCP6V51 and it gets wose with lower frequency. Possible chopping with a relay in front would be slow and with relatively frequent switching could cause thermal problems even with latching relays.So the AD8428 (3 or 4 or them in parallel) may be a cheap way to meet the 0.1-10 Hz target of the contest. However it is not suitable for a nV meter input.

author: jaromir
author_rank: Unknown
timestamp: May 26, 2022, 11:50:02 am
content: Quote from: ZhuraYuk on May 26, 2022, 08:14:49 amIt is difficult to differentiate between TEMF of relays and rest of test setup. PCB layouts and wiring definitely comes into play here.I did input switching test - that is switching between both inputs, with shorting plug connected to the input terminal. This way I'm measuring not just relays, but the difference between TEMF from 'relay - PCB - internal wiring - front panel terminal - contacts - shorting plug' paths of both channels.The difference seems to be around 40nV.

author: MegaVolt
author_rank: Frequent Contributor
timestamp: September 12, 2022, 04:28:47 pm
content: What kind of solder was used in the input part?

author: maxwell3e10
author_rank: Frequent Contributor
timestamp: July 25, 2023, 06:21:51 pm
content: It's an old post, but I am hoping jaromir is still willing to answer questions about this impressive design. I am wondering if you ever tried to measure the current noise of the nanovoltmeter, measure it with a high input resistor across. The spec sheet of MCP6V51 says it's only a few fA/sqrt(Hz), but some measurements mentioned indicate it maybe orders of magnitude higher.

author: aronake
author_rank: Frequent Contributor
timestamp: July 26, 2023, 09:57:11 pm
content: Extremely impressive project!Has anyone else build one who can share some expreiences?

author: miro123
author_rank: Frequent Contributor
timestamp: June 22, 2025, 06:20:18 pm
content: The reason why I reopened old thread is that sow some changes in Github repo1. Pre-anoucement on Github page - "Please note this nanovoltmeter design was superseded by a new and better design, which will go public in..... "2. It was also nice to see that the contributors list is increased. Nice to see that people start to colaborate