• 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 | Contact | Calculators-online
You are here: Home / Arduino Projects / Transformerless AC Voltmeter Circuit Using Arduino

Transformerless AC Voltmeter Circuit Using Arduino

Last Updated on December 5, 2024 by Swagatam 13 Comments

In this article I have explained how to make a transformerless AC voltmeter using Arduino.

Table of Contents
  • Why this AC Voltmeter circuit is different?
  • OBJECTIVE OF ARDUINO::
  • VOLTAGE DIVIDER CIRCUIT:

Making an analog voltmeter is not an easy task as to build one you must have good knowledge of physical quantities like torque, speed; which can be very difficult when it comes to their practical applications.

By Ankit Negi

But a digital voltmeter in comparison to analog voltmeter can be made quickly and that too with very little effort. Now a day’s digital voltmeter can be made using a microcontroller or development board like arduino by using 4-5 line code.

Why this AC Voltmeter circuit is different?

If you go to Google and search “AC voltmeter using arduino”; you will find many circuits all over the internet. But in almost all those circuits you will find a transformer being used.

Now using a transformer is not a good idea if you want to make a reliable and efficient voltmeter since it makes circuit bulky and heavy.

Circuit in this project solves this problem completely by replacing the transformer from a high watt voltage divider circuit. This circuit can be easily made on a small breadboard within minutes.Components required:

For making this project you need following components:

1. Arduino

2. 100k ohm resistor (2 watt)

1002Bk2B22Bwatt

3. 1k ohm resistor (2 watt)

1k2Bohm2B22Bwatt

4. 1N4007 diode

1n4007 1

5. One zener diode 5 volts

zener2Bdiode

6. 1 uf capacitor

12Bujf

7. Connecting wires

CIRCUIT DIAGRAM:

circuit2Bdiagram

Make connections as shown in circuit diagram.

A) Make a voltage divider using resistors keeping in mind that 1 k ohm resistor should be connected to ground.

B) Connect diode’s p- terminal directly after 1 k ohm resistor as shown in fig. and its n- terminal to 1 uf capacitor.

C) Don’t forget to connect zener diode in parallel to the capacitor( I have explained below)

D) Connect a wire from positive terminal of capacitor to the analog pin A0 of arduino.

E) ** do connect the ground pin of arduino to the overall ground else circuit will not work.

OBJECTIVE OF ARDUINO::

Well you can use any microcontroller, but I have used arduino due to its easy IDE. Basically function of arduino or any microcontroller here is to take voltage across 1 k ohm resistor as analog input and convert that value into mains a.c. voltage value by using a formula (explained in working section). Arduino further print this mains value on serial monitor or laptop screen.

VOLTAGE DIVIDER CIRCUIT:

As already mentioned in component section, resistors (which makes up a voltage divider circuit) must be of high power rating as we are going to connect them directly to mains a.c supply.

And hence this voltage divider circuit replaces the transformer. Since arduino can take maximum of 5v as analog input, voltage divider circuit is used to split mains high voltage into low voltage (less than 5v).Let’s make an assumption that mains supply voltage is 350 volts ( r.m.s )

Which gives maximum or peak voltage = 300*1.414= 494.2 volts

So peak voltage across 1 k ohm resistor is = (494.2volts/101k)*1k = 4.9volts ( maximum )

Note:* but even for 350 r.m.s this 4.9 volts is not r.m.s that means in reality voltage on analog pin of arduino will be less than 4.9 v.

Hence from these calculations it is observed that this circuit can safely measure a.c voltage around 385 r.m.s.

WHY DIODE?

Since arduino cannot take negative voltage as input, it’s very important to remove negative part of input a.c sin wave across 1 k ohm resistor. And to do so it is rectified using a diode. You can also use a bridge rectifier for better results.

WHY CAPACITOR?
Even after rectification there are ripples present in wave and to remove such ripples, a capacitor is being used. Capacitor smooth out the voltage before feeding it to arduino.

WHY ZENER DIODE

Voltage greater than 5 volts can damage arduino. Hence to protect it, a 5 v zener diode is used. If a.c mains voltage increases beyond 380 volts i.e. greater than 5 volts on analog pin, breakdown of zener diode will occur. Thus shorting the capacitor to ground. This ensures safety of arduino.

CODE:

Burn this code in your arduino:

int x;// initialise variable x
float y;//initialise variable y
void setup()
{
pinMode(A0,INPUT); // set pin a0 as input pin
Serial.begin(9600);// begin serial communication between arduino and pc
}
void loop()
{
x=analogRead(A0);// read analog values from pin A0 across capacitor
y=(x*.380156);// converts analog value(x) into input ac supply value using this formula ( explained in woeking section)
Serial.print(" analaog input " ) ; // specify name to the corresponding value to be printed
Serial.print(x) ; // print input analog value on serial monitor
Serial.print(" ac voltage ") ; // specify name to the corresponding value to be printed
Serial.print(y) ; // prints the ac value on Serial monitor
Serial.println();
}

Understanding code:

1. VARIABLE x:

X is the input analog value received (voltage) from pin A0 as specified in the code i.e.,

x = pinMode (A0,INPUT) ; // set pin a0 as input pin

2. VARIABLE Y:

To arrive at this formula y=(x*.380156), first we have to do some sort of calculations:

This circuit here always provides voltage less than the actual value on pin A0 of arduino due to capacitor and diode. Which means voltage on analog pin is always less than the voltage across 1 k ohm resistor.

Hence we have to find out that value of input ac voltage at which we get 5 volts or 1023 analog value on pin A0. By hit and trial method, that value is around 550 volts (peak) as shown in simulation.

simulation2B1 1

In r.m.s 550 peak volts = 550/1.414= 388.96 volts r.m.s. Hence for this r.m.s value we obtain 5 volts on pin A0. So this circuit can measure maximum of 389 volts.

Now for 1023 analog value on pin A0 --- 389 a.c volts = y

Which gives, for any analog value(x); y = (389/1023)*x a.c volts

OR y =.38015*x a.c volts

You can clearly observe in fig that printed a.c value on serial monitor is also 389 volts

Printing required values on screen::

We require two values to be printed on serial monitor as shown in the simulation picture:

1. Analog input value received by analog pin A0 as specified in the code:

Serial.print(" analaog input ") ; // specify name to the corresponding value to be printed

Serial.print(x) ; // print input analog value on serial monitor

2. Actual value of ac voltage from mains as specified in the code:

Serial.print(" ac voltage ") ; // specify name to the corresponding value to be printed

Serial.print(y) ; // prints the ac value on Serial monitor

WORKING OF THIS TRANSFORMERLESS AC VOLTMETER USING ARDUINO 

1. Voltage divider circuit converts or step down the mains ac voltage into corresponding low voltage value.

2. This voltage after rectification is taken by analog pin of arduino and by using formula

y = 0.38015*x a.c volts is converted into actual mains a.c value voltage.

3. This converted value is then printed on serial monitor of arduino IDE.

SIMULATION:

To see how close the printed value on screen to the actual a.c value, simulation is run for different values of a.c voltages :

A) 220 volts or 311 amplitude

simulation2B2 1

B) 235 volts or 332.9 amplitude

simulation2B3 1

C) 300 volts or 424.2

simulation2B4 1

Hence from the following results it is observed that for 220 a.c supply, arduino shows 217 volts. And as this a.c value increases, results of simulation become more accurate that is more close to the input a.c value.

You'll also like:

  • 1.  Color Detector Circuit with Arduino Code
  • 2.  Over Current Cut-off Power Supply Using Arduino
  • 3.  Arduino Tachometer Circuit for Precise Readings
  • 4.  Monitoring State of a Switch (Digital Read Serial) – Arduino Basics
  • 5.  Wireless Office Call Bell Circuit
  • 6.  Buck Converter Circuit Using Arduino

About Swagatam

I am an electronics engineer with over 15 years of hands-on experience. I am passionate about inventing, designing electronic circuits and PCBs, and helping hobbyists bring their projects to life. That is why I founded homemade-circuits.com, a website where I share innovative circuit ideas and tutorials. Have a circuit related question? Leave a comment.... I guarantee a reply!

Previous Post: « LCD 220V Mains Timer Circuit – Plug and Play Timer
Next Post: Inverter Voltage Drop Issue – How to Solve »

Reader Interactions

Comments

  1. Oluwadamilare says

    January 9, 2019 at 8:32 pm

    Sir I did this type of circuit, but I added a little function to it. And the function is that when the voltage is above or below certain value the relay switch should be energised, but once the relay energies the LCD give error display,but if the relay is not connected the LCD and the reading is correct. Pls help me out with this problem sir

    Reply
    • Swagatam says

      January 10, 2019 at 6:21 am

      Hi Oluwadamilare, how did you connect the relay? This type of power supply will not be able to drive a relay directly. Please show me your schematic I’ll try to help

      Reply
  2. Bevis says

    August 21, 2018 at 10:04 pm

    Can you use a 1N4007 diode instead of a zener diode?

    Reply
    • Swagatam says

      August 22, 2018 at 6:32 am

      zener is placed to create 5V for the Arduino…

      Reply
  3. rahul says

    December 15, 2017 at 4:20 pm

    Sir, How to measure 3 phase voltage .For 3 phase 3 wire system.

    Reply
    • Swagatam says

      December 15, 2017 at 5:32 pm

      According to me, you can measure the AC voltage across any one of the 3 lines, that will be the voltage reading for all the 3 phase system.

      Reply
      • rahul says

        December 16, 2017 at 8:32 pm

        But I have to measure 3 voltages individually to measure unbalanced or not. So can you please tell me how to measure?

        Reply
        • Swagatam says

          December 16, 2017 at 9:11 pm

          measure them across an earthing or ground line. Temporary ground line can be obtained from your bathroom metal pipes and taps

          Reply
          • rahul says

            December 17, 2017 at 1:57 pm

            Sir, Is it possible if I short 4.7 k resistors across three phases (star connection) and make use of that as ground point?

            Reply
            • Swagatam says

              December 17, 2017 at 3:03 pm

              yes that can be tried..

              Reply
  4. Swagatam says

    July 30, 2017 at 1:23 pm

    it is PROTEUS

    Reply
  5. RAJESH GAUR says

    July 28, 2017 at 8:36 am

    can i change the value of resistors of voltage divider circuit??? if yes then what changes i will have to do in prgm or ckt?

    Reply
    • Swagatam says

      July 28, 2017 at 11:04 am

      you can change, but it must proportionate to the shown ratio (100:1 as per the author), and preferably the 100K value should not be reduced

      Reply

Need Help? Please Leave a Comment! We value your input—Kindly keep it relevant to the above topic! Cancel reply

Your email address will not be published. Required fields are marked *

Primary Sidebar

Subscribe to New Circuit Ideas

Categories

  • Arduino Projects (87)
  • Audio and Amplifier Projects (132)
  • Automation Projects (17)
  • Automobile Electronics (101)
  • Battery Charger Circuits (83)
  • Datasheets and Components (104)
  • Electronics Theory (143)
  • Free Energy (37)
  • Games and Sports Projects (11)
  • Grid and 3-Phase (19)
  • Health related Projects (25)
  • Home Electrical Circuits (12)
  • Indicator Circuits (14)
  • Inverter Circuits (87)
  • Lamps and Lights (142)
  • Meters and Testers (69)
  • Mini Projects (46)
  • Motor Controller (64)
  • Oscillator Circuits (27)
  • Pets and Pests (15)
  • Power Supply Circuits (108)
  • Remote Control Circuits (50)
  • Security and Alarm (64)
  • Sensors and Detectors (101)
  • Solar Controller Circuits (59)
  • Temperature Controllers (42)
  • Timer and Delay Relay (49)
  • Transmitter Circuits (29)
  • Voltage Control and Protection (37)
  • Water Controller (36)

Calculators

  • Battery Back up Time Calculator
  • Capacitance Reactance Calculator
  • IC 555 Astable Calculator
  • IC 555 Monostable Calculator
  • Inductance Calculator
  • LC Resonance Calculator
  • LM317, LM338, LM396 Calculator
  • Ohm’s Law Calculator
  • Phase Angle Phase Shift Calculator
  • Power Factor (PF) Calculator
  • Reactance Calculator
  • Transistor Astable Calculator
  • Transistor base Resistor Calculator
  • Voltage Divider Calculator
  • Wire Current Calculator
  • Zener Diode Calculator
  • Filter Capacitor Calculator
  • Buck Converter Calculator
  • Boost Converter Calculator
  • Solar Panel, Inverter, Battery Calculator
  • Wire Current Calculator
  • SMPS Transformer Calculator
  • IC SG3525, SG3524 Calculator
  • Inverter LC Filter Calculator

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 How to Make Dog Barking Preventer Circuit using High Frequency Deterrence
  • Swagatam on How to Buy and Use RF Remote Control Modules – Control Any Electrical Gadget Remotely
  • Swagatam on How to Generate PWM Using IC 555 (2 Methods Explored)
  • Swagatam on Understanding SG3525 IC Pinouts
  • Dan on Understanding SG3525 IC Pinouts

Company

  • Privacy Policy
  • Cookie Policy
  • About Me
  • Contact
  • Disclaimer
  • Copyright
  • Videos
  • Sitemap

Social Profiles

  • Twitter
  • YouTube
  • Instagram
  • Pinterest
  • My Facebook-Page
  • Quora
  • Stack Exchange
  • Linkedin
  • © 2025 · Swagatam Innovations