Voltmeter + Ammeter LCD panel



This multimeter was designed to measure output voltage and current in a PSU, where the current sense shunt resistor is connected in series with load at the negative voltage rail. It needs only one supply voltage that can be acquired from main PSU.

An additional function of the multimeter is that it can control (switch on and off) an electric fan used to cool the main heatsink. The power threshold at which the fan switches on can be adjusted using One Touch Button Setup.


  • single uC ATMEL ATmega8 used to handle all the multimeter functions.
  • voltage range 0-30V.
  • voltage measure resolution 10mV.
  • current measure resolution 10mA (depended on current sense resistor value).
  • single, non isolated voltage supply.
  • one side PCB.
  • compact construction allowed to use the multimeter as panel meter.
  • compatibility with standard LCDs based on HD44780 controller.


Bellow you can see the multimeter schematic. There are some components in the parts list marked as “Do Not Assemble”. That components was needed in a previous software edition. Current software version doesn’t need them, so you just don’t add them. Maybe in a future version of the multimeter there will be a simpler PCB with simpler electronic diagram too.



PCB files are available on the download section below. There are two version of PCB – normal and mirrored. I think, that anyone who makes PCBs will know which one should be used to produce right PCB.

After soldering all the parts on PCB:

  • make two cross connection on PCB (see “Layout – bottom side”).
  • short L1 pads.
  • place U2 element (+12V voltage regulator) on heatsink .
  • pay attention on right polarity of D1 and D2 elements. Wider side of silk screen layout, where part number is placed, is CATHODE.


Element Value/Type Case Remarks
R1 100k 1206
R2 100k 1206
R3 10k Potentiometer
R4 30k 1206
R5 10k 1206
R6 10k 1206
R7 7k5 1206
R8 7k5 1206
R9 500R Potentiometer
R10 500R Potentiometer
R11 5k1 1206
C1 100n 1206
C2 100n 1206
C3 100n 1206
C4 100n 1206 Do Not Assemble
C5 100n 1206 Do Not Assemble
C6 100n 1206 Do Not Assemble
C7 100n 1206 Do Not Assemble
C8 100n 1206 Do Not Assemble
C9 100n 1206 Do Not Assemble
C10 22u/6V SMD A
C11 10n 1206 Optional element – protect Q1 against voltage peek after switch off fan. Most of the computer type fans which I tested didn’t produce  voltage peeks dangerous for Q1
C12 10u/50V
L1 47u 1210 Do Not Assemble – cross PCB pads
D1 DIODE SMD A Optional element – protect Q1 against voltage peek after switch off fan. Most of the computer type fans which I tested didn’t produce  voltage peeks dangerous for Q1
D2 DIODE SMD A e.g. SK310A
U1 7805 TO-252 Voltage regulator +5V, e.g. LM7805
U2 7812 TO220 Voltage regulator +12V, e.g. LM7812
J1 GOLDPIN 1×2 FAN_CON – fan connector
J2 GOLDPIN 1×1 +12V_CON – optional +12V supply connector
J3 GOLDPIN 1×1 +35V_CON  – main supply connector
J4 GOLDPIN 1×3 ground and measured signals
Q1 MOSFET N SOT-23 e.g. BSS-138 (fan current lees than 200mA)


Because uC is in TQFP package, we can program it after soldering all components on PCB. After that, programming is quite easy to perform. Programming signals are delivered through LCD connector. To make the programming cable, you can use an old PC HDD cable. Picture of my programming cable is shown here:


Remembered, that during programming, the circuit must be supplied with +5V. Depending on your programmer, supply voltage is provided either by programmer, or from separate power supply unit.

Programming cable connection list

LCD Pin number LCD signal uC signal/Pin Prog signal

After connecting uC to prog, you should check, if uC is “visible” for prog. When everything is fine, you can upload  code to uC. The code is available in the “Downloads” below .It is assumed that uC is new and works with its internal RC clock at 1MHz. If not, set appropriate fuse bits to achieve above mentioned conditions. In addition Brown-out detector should be turned on by enabling BODEN fuse. Recommended Brown-out Reset Threshold Voltage is 4V.

The next thing to do is to cross LCD soldering pads number 1 and 5. That’s necessary to provide ground for LCD RW signal. After all, connect LCD module with the multimeter PCB. It is recommended to use a detachable connector for further expandability e.g. software upgrading.

Installation in PSU and Regulation

Mount multimeter to PSU according to the diagram below:


Connectors and regulation elements

S1 Setup button
When pushing this button the shunt resistor value appears. If the resistor value is known, repeat button pushing until correct value reached. If resistor value is unknown (e.g. self made resistor), short PSU output by ammeter, set some current by PSU current limit regulator and then, push button,  lead to equal current indication on ammeter and multimeter.After  resistor value setup, button must not be pressed for about 5 seconds. The next parameter to set up is fan switch-on power threshold. It is not the real power loosed on output transistor (transistors), because multimeter has information on voltage drop on transistor and driving current. To avoid instability switch-off threshold is automatically set to 20% less than switch-on one.
R9 Fine voltage circuit regulation potentiometer.
To reduce ADC conversion errors like un-linearity, gain factor etc. measuring range is divided into two sub-ranges 0-10V and 10-30V (switch threshold can be between 7-13V depend on sourcing current and elements tolerance).
To regulate fine sub-range connect voltmeter to PSU output, set up voltage at about 9V and turn R9 until voltmeter and multimeter indications are equal.
R10 Coarse voltage circuit regulation potentiometer..
There is over-sampling applied in multimeter software, so measuring resolution is the same in fine and coarse circuit and is 10mV. Because of the reason described above multimeter has two measuring circuits.
To regulate coarse sub-range connect voltmeter to PSU output, set up voltage at about 19V and turn R10 until voltmeter and multimeter indication are equal. (If  you posses 4.5 digit voltmeter, you could regulate at voltage 30V)
R3 LCD contrast potentiometer. Turn that potentiometer first, if nothing is visible on LCD.
J1 Fan connector.
Pin no. 1: Fan “+”
Pin no. 2: Fan “-“
J2 +12V
If +12V DC is available in your PSU, connect it to that pin. In that case you shouldn’t assemble +12V voltage regulator U2 on PCB.
That solution is convenient for multimeter, because eliminates U2 heating and permit to connect fan and LCD with higher current consumption.
If you haven’t got +12V DC in your PSU, left that pin unconnected.
J3 +35V
Rectifier bridge voltage. See U2 element you used data sheet to know about maximum voltage it can work properly. On the other hand the minimum voltage on that pin mustn’t drop bellow c.a. 9V, or 6.5V if low drop type U2 and U3 voltage regulators were used.
That pin should be connected even if +12V DC is connected to J2 pin. Voltage from that pin deliver information for fan switching.
J4 Measuring signal connector.
Multimeter is suitable for voltage and current measurement in PSU, where current sense shunt resistor is connected in series with load and is in negative rail.Pin no.1: voltage measurement U – connect to “+” PSU output, best directly to output terminal;Pin no.2: current measurement I – connect to “-” PSU output, best directly to output terminal;Pin no.3: ground – connect to shunt resistor terminal opposite to that connected to “-” PSU output.
LCD LCD connector.
Multimeter works properly with LCD’s 1×16 logical controlled as 2×8 (most of LCD’s available on the market).Because of linear voltage regulators used in multimeter, sourcing current is limited. Main current consumption elements are fan and LCD backlight, so:
– use LCD with LED backlight (typically current consumption is less than 15mA);
– use low speed, low current fan. Additional advantage of that solution will be silence.









This circuit itself doesn’t work off the mains and there are not 220 VAC present, but PSU does.
Voltages above 50 V are DANGEROUS and could even be LETHAL.
In order to avoid accidents that could be fatal to you or members of your family please observe the following rules:

DO NOT work if you are tired or in a hurry, double check every thing before connecting your circuit to the mains and be ready to disconnect it if something looks wrong.
DO NOT touch any part of the circuit when it is under power.
DO NOT leave mains leads exposed. All mains leads should be well insulated.
DO NOT change the fuses with others of higher rating or replace them with wire or aluminium foil.
DO NOT work with wet hands.
If you are wearing a chain, necklace or anything that may be hanging and touch an exposed part of the circuit BE CAREFUL.
ALWAYS use a proper mains lead with the correct plug and earth your circuit properly.
If the case of your project is made of metal make sure that it is properly earthen.
If it is possible use a mains transformer with a 1:1 ratio to isolate your circuit from the mains.
When you are testing a circuit that works off the mains wear shoes with rubber soles, stand on dry non conductive floor and keep one hand in your pocket or behind your back.
If you take all the above precautions you are reducing the risks you are taking to a minimum and this way you are protecting yourself and those around you.
A carefully built and well insulated device does not constitute any danger for its user.


Please follow and like us:
Pin Share


Notify of

Inline Feedbacks
View all comments

Hello! Can you give me code in text? because I’m new with atmega, I need to understand the code so I can write a few changes output in LCD. Thanks.

Devina Aprilia

Hello! Can you give me code in text? because I’m new with atmega, I need to understand the code so I can write a few changes output in LCD. Thanks.

Devina Aprilia

where is the source that I have to find to understand this program?

Devina Aprilia

OK, but do you know the reference to compiling the program language for this project? so that I can understand or make the program myself

Andy Santosa

Hello, I succesfully made this , thank you for the great project, i combined with 0-30 VDC STABILIZED POWER SUPPLY WITH CURRENT CONTROL 0.002-3 A, just want to ask you about current sense resistor , you mentioned “current measure resolution 10mA (depended on current sense resistor value)”, what is the best value for this resistor, because I am using 0.47 ohm but the difference with ampmeter (in my fluke) about 20-30 mA.


TOP PCB Companies