Voltmeter Reborn

Digging up an older idea to fill a newer void

Buzzing along my electronics wave, hot off the success of my nixie tube clock, and dummy load projects, I looked at what else I had going on and found that several of them were in need of panel meters, something I’ve had a really hard time finding at a decent price. You’d figure in this day and age they’d be easier to acquire, not harder.

Anyway, so I dug up my original idea of using an ICL7107 based 7-segment panel meter. I always loved this idea, mainly because I love meters but in particular I love LED 7-seg displays over LCD just for readability and sheer cool factor.

The font view, note the crappy soldering

My earlier attempt at a panel meter

What had I done

So, previously, when I was not so proficient and eager to get going, I whacked together a panel meter using the ICL7107, the latter part of the sordid tales can be found in the earliest posts of this blog. I remember there being lots of problems, stability and calibration for example, as well as a lot of unaswered questions.

After spending several days reading over every data sheet and application note intersil had to offer, plus whacking together a new version on a breadboard, I finally came up with a solid schematic but also a solid way to properly use the thing. Here it is

old and new meters on my bench

old and new meters on my bench


I had a lot of trouble with this, as did many other budding electronics hobbyists, and for good reason. The datasheets, and supplementary application note documents from Intersil are quite awesome and they should be commended for being so helpful. Unfortunately, to a novice, much of it is incomprehensible and we rely upon those more knowledgeable than us (hopefully) to light the way.

Enter the unfortunate schematic post on hobby websites. I was working my original design from one of those, that coincidentally a lot of other people were having problems with, and wonder why – the schematic was wrong. It is quite disappointing to build a circuit just as the schematic suggests only to have it be haywire and unusable with little recourse.

Things I had learned in experimenting

Through careful research and tinkering, I figured out the common problems people were having with the circuit, including myself, and their solutions. Which I will itemize below.

  • Make on a PCB not a breadboard – this one is only partially true. Yes, the stray capacitance and inductance and cause serious trouble for such projects, and I saw it as often the first suggestion to someone asking in the forums for help. However, I’ve found, with a semi-decent breadboard and assembling it properly, it will work just fine despite the last count flickering because of above mentioned stray capacitance in the breadboard. I have it running mostly stable now and I know it will be solid when I solder it up. Basically the circuit should mostly work on a breadboard, if it doesn’t, something else is wrong.
  • Auto-zero – one may freak out when one sees the display going mental, displaying random numbers but this is actually normal with no shunt resistor (i.e. range resistor, see below) between the inputs. They are floating with respect to each other (more on that later). If you short the inputs to each other – it should read 000 with the negative sign displaying 50% of the time (as per the datasheet). That is your guaranteed auto-zero. If that doesn’t happen, something else is wrong.
  • Setting your voltage reference – if using the internal voltage reference, which most of us will be, two things must be observed: 1) that REF LO is not tied to ground, and 2) the voltage between the REF HI and REF LO pins should be adjusted using the pot R4 (see datasheet) to read exactly 100mV for a 200mV full scale, or 1V for a 2V full scale. I also advise keeping it to 200mV scale to have more usable ranges, more on that later. I had problems with this due to my multimeter not correctly displaying a decimal point, so I was setting it to 10mV and getting a lot of noisy readings! 100mV works just dandy.
  • Single ended OR Differential – correct, that’s one or the other, can’t be both. Tie IN LO either to ANALOG COMMON or GROUND. Not both, not neither. The former is differential input, separated from the power supply, and the latter single-ended or referenced to the power supply. More on the usefulness of that in a bit.
  • Use the correct caps – this is fairly simple. Not many components in the circuit are crucial in terms of tolerance excepting those dealing with the oscillator and the integrator. For the capacitors, ceramic disc is fine for all except the integrating caps for which it is recemended to use polypropylene (plastic film) caps. Don’t use polarized electrolytics or otherwise. Tantalums always scare me so I avoid them.
  • Follow the datasheet – this should go without saying, but so many, including myself, didn’t. The datasheet is correct and the circuit example there does work, and work well at that.



After all that experimentation, I’ve come up with a much improved version of the panel meter with a new schematic and all. Here it is.

This should replace anything I posted here before on it as this is very nicely tuned and stable. I made a number of improvements, and added a lot of flexibility in the package to be suitable for almost any application. I’m actually kind of impressed. Even though dual-slope integrating ADCs is the “old way ” to build a panel meter, this is pretty sharp and useful. It remains relatively stable and accurate.

A few notes on function

I had added a few extras to this project to make it flexible and configurable, as I plan to make at least five of them. For one, the REFSET 3-pin connector you see on the schematic will just be a header to which one could add a jumper between two pins. This has the effect of setting it differential (completely separate power supply) or single-ended (can measure its own supply). Also, instead of making one massive header for the range selection functions, I broke them down into “poles” allowing them to be configured for a variety of projects. In some cases, we’ll want them set to ranges other than what the meter is reading for different intentions. So setting the rage resistors (note, they are recalculated from earlier also) is separate from the decimal point. I also included a provision for a pair of LEDs to indicate units (V or mV for example). Also included is everything needed for its +5/0/-5 power supply, mounting for a 7805, and a 7660 charge pump. Alternatively, one could use the REG5/0/-5 connector to feed in the appropriate regulated supply externally.

I tried to organize the headers to that one doesn’t have to use all the pins, depending on application. It also goes without saying (yet I’m saying it anyway) that unused features of the board needn’t be populated.

I also removed a few unnecessary things, most notably the current limiting resistors on the segments. I found that, surprisingly, they aren’t necessary. Other designs had diode droppers on the anode side, I included one of which in the above design, but that isn’t really necessary either. I found a neat feature of the ICL7107 – it is a LED display driver and thus handles its own current limiting internally. It sinks about 8mA per segment which is more than enough, but by controlling the current (via controlling its own resistance, but like my dummy load) it changes the voltage drop across itself by virtue of it. In testing with various setups: with diodes, without, with resistors, without – the segments all drop 3.37V across them and consume about 3mA. The IC itself is regulating that, so I don’t have to. Say goodbye to 24 resistors from the design. I left in provision for a diode/resistor on the anode just in case. I might leave a IN4148 in there just to help prolong the life of the display. As far as I can tell, however, they are in no danger whatsoever.


Well, as it happens I have 5 of these ICL7107s kicking about, and a working circuit (and solid understanding) of them now. The next step is obvious – make some boards and get them assembled! The answer to that is of course a yes. This time around, I’m going to group a bunch of projects together so hopefully I can save a bit on shipping this time.

Incidentally, my dummy load PCB is undergoing final inspection as I write this. Next step is they pack it and ship it. It has barely been 48 hours since I submitted the file. I have to say I’m impressed. I can’t wait to receive the boards and check them out. In the meantime, I’ll design this panel meter up, and probably a couple of other small boards for my next order.

Comments are closed.