An updated version of the Millivolt Meter project from May 2016, with dual range selection, calibration selection, improved software, and updated board layout.
After three years, I decided it was time for a refresh of my original Millivolt Meter version 1.51, based on the Scullcom Hobby Electronics Millivolt Meter on Youtube.
The original board was designed to loosely match the original Scullcom Hobby Electronics thru-hole board using a mix of surface mount and thru-hole devices instead. The major changes in version 1.5 were the addition of the Caddock voltage divider in place of the discrete resistors, the Arduino Pro Mini instead of the Nano, and using an I2C connected display instead of the directly connected parallel display.
The Version 1.51 board was featured in a later video by Scullcom Hobby Electronics as the Millivolt Meter MK2, with several other updates.
Paul Versteeg made several modifications to the board such as battery voltage monitoring and refined the software to include filtering, and improved calibration. Paul’s Blog
The new version 2 board is now larger to support the additional components.
One of the first changes was to replace the TO220 voltage regulator with a surface mount low quiescent current / low dropout version. Also added was a PTC fuse on the 9 volt input. The board will now work with a supply down to 5.4 volts which allows the 1.5 volt batteries to be drained all the way to 0.9 volts each.
A MAX14931 digital isolator was added between the digital and analog sections of the board for communications with the LTC2400 ADC, and isolates the SPI bus and relay control.
The ADR4540 voltage reference remains the same, but now has mechanical and thermal isolation slots around it along with additional filtering on the vref out using film capacitors.
The input voltage divider still uses the Caddock precision decade resistor divider, but it is now configured as a 10 meg Ohm 10:1 divider on the 40 volt range. A shielded COTO relay with a 5 volt coil is now included to switch to a 4 volt range, which bypasses the divider still keeping a 9 meg Ohm input resistance.
I added an over-range check in software to automatically switch to the 40 volt range from the 4 volt range if the voltage is greater than 4.01 volts or the ADC sets the over-range bit, along with setting the backlight to violet to warn of the range change.
Some other new items are an input protection board, a ZeptoBit isolated USB-UART adapter, Multi-input I2C LCD display adapter with EEPROM, battery voltage monitor, and back panel calibration selection switch.
To connect the USB isolator to the back panel I used an Adafruit panel mount extension USB Cable — Micro B Male to Micro B Female #3258.
For the calibration switch, I used a C&K MA00L1NZQD rotary switch and pinned it for 5 positions with the fifth position being OFF to prevent accidental calibration from the front panel.
I was originally going to use 4 single calibration points, but ended up using a 2‑point cal for each range at 10% and 90%.
Cal‑A and B are used for the low (0.4096) and high (3.6864) cal for the 4 volt range, with Cal‑C and D used for the low (4.096) and high (36.864) cal on the 40 volt range.
The calibrations for each range must be done with A before B, and C before D, as the high cal for each range uses data from the low cal for it’s calculations.
The 2‑point cal doesn’t use a zero cal, so that front panel switch is currently unused.
I used a 6‑cell AA battery pack for normal operation of the meter, but added an external power jack for testing and burn-in purposes. I kept the unit powered continuously for over 1,000 hours / 45 days to allow the voltage reference drift to settle, before my final calibration.
Overall I am pleased with the updates, but feel that there is still room for improvement especially with the software to reduce some non-linear errors with the ADC.
I would like to utilize the EEPROM on the I2C display board to map out the non-linear errors in the ADC circuit, but that will be a future project.
Millivolt Meter Ver. 2.11 BOM
Eagle CAD board and schematic files RGB I2C Display with EEPROM
Eagle CAD board and schematic files Input Protection board
Front Panel Designer front and back panel files for Hammond 1455N1601BU box
Arduino sketch files for software version 3.34
Modified Adafruit_RGBLCDShield library for additional input I/O