• Skip to main content
  • Skip to primary sidebar

Homemade Circuit Projects

Need circuit help? Post them in the comments! I've answered over 50,000!

Blog | Categories | About | Hire Me | Contact | Calculators-online
You are here: Home / Meters and Testers / Arduino based DC Voltmeter Circuit – Construction Details and Testing

Arduino based DC Voltmeter Circuit – Construction Details and Testing

Last Updated on June 8, 2026 by Swagatam 10 Comments

In this post, I will show how to construct a DC voltmeter using Arduino where the readings are displayed in 16x2 LCD.

Table of Contents
  • How it Works
  • Author’s prototype: 
  • Circuit diagram:
    • Program:
    • Important:

The proposed voltmeter design can read up to 30V with tolerance of +/- 0.5 volt. We are going to see how this setup functions and explore other possibilities we can accomplish other than measuring voltage.

This project is fairly simple, even beginners can accomplish with ease, but care must be taken while prototyping the circuit as we are going to apply external voltage, any misconnection to Arduino can lead to fatal damage to your board.

Let the warning be a side, let’s explore how it functions.

Here, we are using analogue to digital conversion process. Voltage from any source is analogue function; the readings displayed on 16x2 LCD is a digital function.

The challenge is converting those analogue functions to digital function. Fortunately, Arduino has functionality to read analogue functions and convert them to discrete function.

Arduino microcontroller equipped with 10-bit analogue to digital converter (ADC). This means Arduino can read 2^10=1024 discrete voltage levels.

In other words, the voltage applied to analogue pin of Arduino is sampled 1024 discrete voltage levels with respect to a reference voltage; the sampled value gets displayed in the LCD. This is the principle behind this voltmeter or almost any digital voltmeter.

However, the applied external voltage is not directly measured by Arduino. The voltage is step down with help of voltage dividers and some math is done in the program in order to get actual voltage reading.

How it Works

The circuit consists of two resistors, one LCD display and an Arduino which is brain of the digital voltmeter. The two resistor acts as voltage divider, the node of the divider is connected to analogue pin # A0 of the Arduino, which reads the input voltage. Ground connection is established between Arduino and external voltage source.

The minimum voltage which can measure by this voltmeter is 0.1V, this threshold is set in the program, so that it reads 0.00 volt after disconnecting the voltage source and does not display readings due to static charge around the measuring probe.

Author’s prototype: 

Arduino based DC Voltmeter Test Results

Don’t reverse the polarity while measuring the voltage, it won’t harm the circuit but, it does not read any voltage and displays 0.00 V, until you correct the polarity. Adjust the contrast of LCD display to optimum level by rotating the potentiometer.

Make sure you don’t apply any voltage source which could spike higher than 30V; it may damage your Arduino board. Technically you can bump up the maximum measuring voltage of this circuit by changing resistor values and modifying the program, but for the illustrated setup 30V is limit.

For accurate reading, choose fixed resistors with minimum tolerance value, resistors play an important role in calibrating the voltage reading.

Circuit diagram:

 

Arduino based DC Voltmeter Circuit

The other possibility of this voltmeter is that we can modify the program to automate some tasks.

For instance, detect full battery voltage and disconnect the battery from its charger or disconnect battery if voltage goes below preset voltage level and so on, these task can be accomplished even without LCD display. However this is subject of another article.

Program:

//--------Program developed by R.Girish (Optimized)---------//
#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

const int analogInput = A0; // Clearly defining it as an Analog pin
float vout = 0.0;
float vin = 0.0;
float R1 = 100000.0; // 100k Resistor
float R2 = 10000.0;  // 10k Resistor
int value = 0;

void setup()
{
  pinMode(analogInput, INPUT);
  lcd.begin(16, 2);
  lcd.print("DC VOLTMETER");
}

void loop()
{
  value = analogRead(analogInput);
  
  // Using 1023.0 for exact max ADC step
  vout = (value * 5.0) / 1023.0; 
  vin = vout / (R2 / (R1 + R2));
  
  if (vin < 0.10) {
    vin = 0.0;
  }
  
  // Update only the second row
  lcd.setCursor(0, 1);
  lcd.print("INPUT V= ");
  lcd.print(vin);
  lcd.print("V  "); // Extra spaces clear out old characters if the number shrinks
  
  delay(500);
}
//--------Program developed by R.Girish---------//

Please check the readings with a good voltmeter/multimeter.

Important:

Since you are using a 100k ohm (R1) and 10k ohm (R2) voltage divider, so please keep the following in mind:

First the maximum voltage you can measure is 55V. Do not supply more than 55V into this circuit, or the voltage hitting the Arduino pin will exceed 5V and cause permanently damage to the board.

Second you must connect the ground (GND) of the external voltage source you are measuring to the Arduino's GND pin. Without a shared ground reference, your readings will be completely erratic and inaccurate.

You'll also like:

  • transistor matching tester compressedMatch Transistor Pairs Quickly using this Circuit
  • satelite signal meter circuitSatellite Signal Strength Meter Circuit
  • Simple Arduino Digital Ohmmeter Circuit
  • function generator circuit10 Useful Function Generator Circuit Diagrams Explained

Filed Under: Meters and Testers Tagged With: Arduino, Based, Construction, DC, Details, Voltmeter

About Swagatam

I am an electronics engineer and doing practical hands-on work from more than 15 years now. Building real circuits, testing them and also making PCB layouts by myself. I really love doing all these things like inventing something new, designing electronics and also helping other people like hobby guys who want to make their own cool circuits at home.

And that is the main reason why I started this website homemade-circuits.com, to share different types of circuit ideas..

If you are having any kind of doubt or question related to circuits then just write down your question in the comment box below, I am like always checking, so I guarantee I will reply you for sure!

Previous Post: « Bluetooth Car Ignition Lock Circuit – Keyless Car Protection
Next Post: Door Security Alarm Circuit for Alerting if Door was Opened »

Have a question or feedback? Feel free to ask below—just make sure it relates to the post above!

Subscribe
Notify of
guest
guest
10 Comments

Primary Sidebar

My YouTube Channel

Circuit Simulator: Draw and Simulate Schematics

circuit simulator image

Categories

  • Arduino Projects (95)
  • Audio and Amplifier Projects (134)
  • Automation Projects (18)
  • Automobile Electronics (104)
  • Battery Charger Circuits (90)
  • Datasheets and Components (109)
  • Electronics Theory (151)
  • Energy from Magnets and Earth (43)
  • Games and Sports Projects (11)
  • Grid and 3-Phase (20)
  • Health related Projects (27)
  • Home Electrical Circuits (13)
  • Indicator Circuits (16)
  • Inverter Circuits (98)
  • Lamps and Lights (161)
  • Meters and Testers (72)
  • Mini Projects (28)
  • Motor Controller (68)
  • Oscillator Circuits (30)
  • Pets and Pests (15)
  • Power Supply Circuits (91)
  • Remote Control Circuits (50)
  • Security and Alarm (65)
  • Sensors and Detectors (107)
  • SMPS and Converters (46)
  • Solar Controller Circuits (62)
  • Temperature Controllers (44)
  • Timer and Delay Relay (51)
  • Voltage Control and Protection (44)
  • Water Controller (37)
  • Wireless Circuits (31)

Subscribe to get New Circuits in your Email

Other Links

  • Privacy Policy
  • Cookie Policy
  • Disclaimer
  • Copyright
  • Videos
  • Sitemap

People also Search

555 Circuits | 741 Circuits | LM324 Circuits | LM338 Circuits | 4017 Circuits | Ultrasonic Projects | SMPS Projects | Christmas Projects | MOSFETs | Radio Circuits | Laser Circuits | PIR Projects |

Recent Comments

  • Swagatam on High Voltage Meter Circuit [for Measuring 10kV]
  • Swagatam on About Me
  • chukwuamaka on About Me
  • Brian Harding on High Voltage Meter Circuit [for Measuring 10kV]
  • Swagatam on Police/Ambulance Siren Circuit with Rotating Beacon Light

Social Profiles

  • Twitter
  • YouTube
  • Instagram
  • Pinterest
  • My Facebook-Page
  • Stack Exchange
  • Linkedin

Calculators

  • ZVS Induction Heater + Tank Calculator Tool
  • Zener Diode Calculator
  • Wire Current and Thickness Calculator (Ampacity Calculator)
  • Voltage Divider Calculator
  • Transistor Base Resistor Calculator
  • Transistor Astable Multivibrator Calculator
  • TL431 Calculator
  • Solar Panel, Inverter, Battery Calculator
  • Ferrite Core Air Gap Calculator Tool
  • Parallel MOSFET Calculator Tool: How to Connect MOSFETs in Parallel Safely
  • LC Resonance Calculator for EV Battery Charger Circuits
  • LED String Series Resistor Calculator
  • PFC (Power Factor Correction) Calculator Tool: 3kW
  • Passive Power Factor Correction (PFC) Calculator
  • LM567 IC Calculator Tool
  • SMPS Flyback Boost Converter Calculator
  • Shunt Resistor Calculator for Ammeters
  • SCR and Triac Gate Resistor Calculator
  • Battery Back up Time Calculator
  • Boost Converter Calculator (Non-Isolated)
  • Bootstrap Capacitor Calculator
  • Buck Converter Calculator
  • Buck-Boost Converter Calculator
  • Capacitance Reactance Calculator
  • DCM Flyback Transformer & Wire Gauge Wire Size Calculator Tool
  • Filter Capacitor Calculator
  • IC 4047 Calculator (Frequency and PWM)
  • IC 4060 Calculator
  • IC 555 Astable Calculator
  • IC 555 Monostable Calculator
  • IC SG3525, SG3524 Calculator
  • Inductance Calculator
  • Induction Heater Inductor and Resonant Frequency Calculator
  • Induction Heater Work Coil Calculator
  • Inverter LC Filter Calculator
  • LC Resonance Calculator
  • LED Current Calculator
  • LM317, LM338, LM396 Calculator
  • NAND/NOT Gate RC Values Calculator
  • NOT, NAND Gate Frequency Calculator
  • Notch Filter Calculator Tool
  • Ohm’s Law Calculator
  • Phase Angle Phase Shift Calculator
  • Power Factor (PF) Calculator
  • RC Filter Calculator
  • Reactance Calculator
  • Sine Table Calculator for SPWM Arduino Code
  • Small Signal Transistor(BJT) and Diode Quick Datasheet
  • SMPS Calculator for Toroidal Ferrite Transformers
  • SMPS Flyback Transformer Calculator – Design by Target Duty Cycle
  • TL431 Calculator
  • Op-Amp Hysteresis Resistor Calculator

© 2026 · Swagatam Innovations