Introduction: Make Your Own Power Meter/Logger

Picture of Make Your Own Power Meter/Logger

In this project I will show you how I combined an Arduino, an INA219 power monitor IC, an OLED LCD and a Micro SD Card PCB in order to create a power meter/logger that has more functions than the popular USB Power Meter. Let's get started!

Step 1: Watch the Video!

The video gives you a good overview on how to create your own power meter. In the next steps though I will present you some additional information to make this project even simpler.

Step 2: Order Your Parts!

Here you can find a parts list with example seller for the portable version of this project.

1x LiPo Battery:

1x TP4056 Board:

1x Arduino Pro Mini:

1x INA219 Board:


1x SD Card PCB:

1x Switch:

1x TP4056 Board:

1x Arduino Pro Mini:

1x INA219 Board:


1x SD Card PCB:

1x Switch:

1x LiPo Battery:

1x TP4056 Board:

1x Arduino Pro Mini:

1x INA219 Board:


1x SD Card PCB:

Step 3: Create the Circuit!

Picture of Create the Circuit!

Here you can find the schematic for the Arduino Nano version and the portable version of this project. You can also find those schematic on the EasyEDA website:

You can also use the pictures of my finished board as a reference for your own.

Step 4: Upload the Code!

Now that your circuit is complete, it is time to upload the code. You can download it here. But don't forget to download and include the following libraries before uploading:

Step 5: Success!

Picture of Success!

You did it! You just created your own Power Meter/Logger

Feel free to check out my YouTube channel for more awesome projects:

You can also follow me on Facebook, Twitter and Google+ for news about upcoming projects and behind the scenes information:


MuhammadI34 (author)2017-11-20

can this project use the arduino UNO instead of arduino Pro Mini?

BelenH2 (author)2017-09-12

Hello Scott

Sorry but I do not know how you manage to power a 5V Arduino with a 3.7 lipo battery. There should be a boost coverter in the middle right?
Thanks for all your support

PardeepK11 made it! (author)2017-08-24

Thanks Scott :) This Circuit is very awesome, I did some modifications to the code though, Accidently bought OLED display with SPI instead of I2C :P

kenneyrsw (author)2017-08-01

Hi Scott,

Thank you very much for your DIY presentations. and can you explain how to convert this for AC (Home power monitoring)

Lofty1960 (author)2017-07-20

Hi Great Scott and all,

WHen compiling code I get this error. I am using Pro Mini, Arduino IDE 1.6.13 and the librabies that are listed on this site.

Any help would be appreciated.

Sketch uses 22,302 bytes (72%) of program storage space. Maximum is 30,720 bytes.
Global variables use 2,216 bytes (108%) of dynamic memory, leaving -168 bytes for local variables. Maximum is 2,048 bytes. Not enough memory; see for tips on reducing your footprint.

Premiumkind1 (author)2017-03-20

What should I follow if I use a power consumption of 48V or maybe 72V?

robotic mayank (author)2016-12-09


CelioS (author)2016-12-08

WOw! you have read my mind! its just what i will need for a new project, will post my build soon. Thanks a LOT! keep posting good ideias on Instructables

murfmv (author)2016-12-07

The video is such a great addition to this build. Congratulations with this instructional article!

russ_hensel (author)2016-12-06

If you view your log files how do you know what time a current ( for example ) is logged? Much better to put all 3 values in one file. What do you think?

rpotts2 (author)2016-11-27

LOL! I see you've already published this from your YouTube video. already liked it!

russ_hensel (author)rpotts22016-12-06

I always favorite my own projects. What would TP ( Twitter President ) do?

sskrynnik (author)2016-12-03

Standart charging board is heating too much in beginnig of charging of battery (default current is 1A). In your cinfiguration it's too dangerous:
- big temperature from charging board can demage battery - set lower charging current

- move charging board from battery and add heatsink on IC TP4056

sskrynnik (author)sskrynnik2016-12-03

In your board it is Resistor R3.

Jacks how2s (author)2016-12-01

I love your projects so much it would mean the world to me if you subscribed to my page and website:) Jackshow2s

smooth_jamie (author)2016-11-29

Hi there, nice project. I'm curious as to what the lowest measured current is possible on this project and what the accuracy is?

Check the INA219 datasheet.

Done what you've suggested, datasheet gives ADC resolution, and accuracy (fair enough), but doesn't really answer the first part of my question. I'd like to know with regards to the way this is setup, what is the lowest current you have managed to measure? A approximate idea would be very helpful.

ttlog (author)2016-11-27

Could you please, recheck the .ino file you uploaded. It is completely different. It's how to connect a led and control it via ir. Thank you

GreatScottLab (author)ttlog2016-11-28

I checked it. It is the correct one.

ttlog (author)GreatScottLab2016-11-28

Thank you very much.

stateit (author)2016-11-27

So this isn't a domestic or commercial power logger...

About This Instructable




Bio: Awesome Electronics Tutorials, Projects and How To´s
More by GreatScottLab:Make Your Own Solid State RelayMake Your Own Simple ThereminDIY WiFi RGB LED Lamp
Add instructable to: