Circuit Lake

Electronic Project and Circuit Collection

Mains Voltage Monitor

03/10/2010 Category: AVR, Monitoring, Project, USB

The purpose of mains monitor project is to record mains fluctuations with an autonomous device and upload measurement to a PC for analysis. The monitor plugs into an ordinary mains outlet and records (time stamps) the voltage amplitude and the frequency at defined time interval. It transmits data through an USB interface. It can be run in an autonomous way, storing measurements into a flash device, or be connected to PC for real time display of mains parameters.


The project hardware is based on an AVR ATMega16 MCU with a 50 ppm crystal oscillator. The controller’s tasks consists of: time keeping, frequency and voltage measurement and conversion, display on a L.C.D., alarm indication, interface with a flash memory and data transfers through an USB slave port.

Visualization of the voltage and frequency evolution is showed by PC software which is written in Visual Basic. The software uses a communication object (MSComm) and a charting object (MSChart). A Virtual COM Port (VCP) driver for USB has been installed; with it, the USB port can be used like a conventional COM port. The mains monitor project is developed by Philippe Camus and Pierre Vignisse.

Main Voltage Monitor
Project Detail and Documentation