Tag Archives: Debasish Dutta

Video: Designing an Uno-based energy meter

Electrical engineer Debasish Dutta has designed an energy meter built around an Atmel-powered Arduino Uno (ATmega328 MCU).


“I [come from the] village of Odisha, India, where frequent power cut are very common. Continuing studies after dusk was a real challenge [so] I designed a solar system for my home on a experimental basis,” Dutta explained in a recent Instructables blog post.

“I used a solar panel of 10 Watt, 6V for lighting few bright LEDs. Then I decided to monitor the voltage, current, power and energy involved in the system, [which inspired] the idea of designing an energy meter.”

Dutta said he chose Arduino as “the heart” of his energy meter due to the numerous available open source libraries and intuitive IDE environment.

Aside from the Arduino Uno, key project features and specs include:

  • 16×2 character LCD display
  • Arduino Ethernet shield
  • ACS 712 current sensor
  • Resistors (10K,330ohm)
  • Potentiometer (10K)
  • Jumper wires
  • Ethernet cable (CAT-5E)
  • Bread board
  • Supports Xively upload
  • SD card data logging

The energy meter uses three primary parameters to measure energy consumption: voltage, current and time.

“Voltage is measured by the help of a voltage divider circuit. As the Arduino analog pin input voltage is restricted to 5V I designed the voltage divider in such a way that the output voltage from it should be less than 5V. My battery used for storing the power from the solar panel is rated 6v, 5.5Ah. So I have to step down the 6.5v to a voltage lower than 5V,” said Dutta.

“I used R1=10k and R2 =10K. The value of R1 and R2 can be lower (one), but the problem is that when resistance is low, higher current flow through it. As a result, a large amount of power (P = I^2R) is dissipated in the form of heat. So different resistance value can be chosen but care should be taken to minimize the power loss across the resistance.”

For current measurement, Dutta used a Hall Effect current sensor ACS 712 (20 A), while leveraging the Uno’s built-in timer. The collected data is then uploaded to Xively.com for additional analysis.

Interested in learning more? You can check out the project’s official Instructables page here.