With the Help of 2 Arduinos, too low LiPo Batteries will never be a problem again.

I made this project for this particular reason:

Many people can't view their LiPo-Battery-Volatage, bacause their Radio for the RC-Stuff hasn't got telemetry or can't handle such high voltages.

Step 1: Let's Connect the Speaker to Your Receiver.

First, connect some piezoelectric speaker to your Arduino, in my case it's an Arduino UNO.

- > GND

+ > Any PWM Pin you like, be careful when programming.

Step 2: Connect the 433 MHz Receiver-Module to Your Arduino.

Be sure to connect the DATA-Pin to Pin #2, that's Interrupt #0 on your Arduino UNO.


VCC > 5v

DATA > Pin 2

Most Receiver-Units today come with only 4 Pins, unlike in the picture.

Connect these the same way as above.

Step 3: Connect the 433 MHz Transmitter-Module to Your Transmitting Arduino.


VCC > 5v

DATA > Any pin you like, be careful to choose the right pin when programming.

Step 4: Connect 2 Wires to Your Transmitting Arduino.

The first wire goes from the GND Pin of your Arduino to the Ground of the balancer-Connection on your LiPo-Battery.

The second one goes from any Analog Input Pin of your Arduino to the first cell on your balancer-port on your LiPo-Battery.

DO NOT connect this wire to any other cell on your LiPo-Battery then to the first one!

Step 5: Give the Transmitting Arduino Some Power.

Because the voltage-regulator on the original Arduino MICRO isn't the best one you can get, the Arduino MICRO will read some wrong values out of your LiPo-Battery.

Therefore, the Arduino MICRO gets it's power from an external, 5 Volt UBEC.

If you're a bit into that kind of RC-Stuff, you will know what a UBEC is.

If not, just google it.

Basically, it's a power regulator that converts, for example, 5 - 20 Volts to constantly 5v.

+ 5v from UBEC > +5v on your Arduino MICRO

- from UBEC > GND on your Arduino MICRO

When you're using an Arduino UNO, you can connect voltages anywhere between 7 - max. 20 Volts directly on your Vin Pin on your Arduino UNO.

Ground goes to GND.

Step 6: Add Coil Loaded Antennas to Your 433 RF-Modules.

The Antenna should look like in the images above.

Solder them onto the ANT-Connection directly to the PCB of the RF-Modules.

You will notice. that you'll get WAAAAY more range out of these small electronic parts!

Do the same thing on both your transmitter and your receiver modules.

Step 7: Give the Receiving Arduino Something to Eat

Take a battery, 7 - max. 20 Volts, and connect it to your Arduino UNO.

+ of your battery > Vin Pin on Arduino UNO

- of your battery > GND on your Arduino UNO

A switch probably wouldn't be bad, either... ;)

Step 8: Program the Transmitter.

You can find the scetch on codebender.cc.


Step 9: Program the Receiver-unit.

You can find the sketch on codebender.cc.


Step 10: Mount the Transmitter on Your RC-Stuff and Enjoy ;)

You have sucessfully build your LiPo-Watcher.

Now, you can take this one step further and add a LCD-Display, or all kind of stuff to it.

Don't forget to mount in onto your RC Multicopter/Plane/Car/Boat/...

In my case it's a Hexacopter.

<p>Great instructable! I understand you use this to avoid under-voltage while flying. If you also want to watch your battery under a tiny load, you might want to put a lot of emphasis on extreme low power usage and avoid a separate power supply, so actually self-measuring Vcc. Here is an example. Mind you, same idea, but different application.</p><p>https://www.instructables.com/id/Lithium-Cell-Protection-in-Arduino-Projects/</p>
Question about Sender:<br>You make 4 Measurements and divide the result by 4 to get the average of the values. But what is dividing by 197.0 or any other value for. Btw, nice instructable
<p>Hi @Raffi120,</p><p>Thank you for your comment.<br><br>It's a short answer:</p><p>Let's say, You have a LiPo-battery that's fully charged @4.2v.<br>In your code, remove the &quot; / 197.0&quot;, so the Arduino won't divide through anything.<br>Connect your battery to the Arduino, power it, and have a look on your serial monitor.</p><p><br>You will see, that the Arduino will display a number that equals ~827.4.</p><p>BUT: 827.4 divided by 197.0 is 4.2.</p><p>There you have it, your 4.2v that the Arduino should read!</p><p>This is, because the Arduino on the analog input pins gives out<br></p><p>0 when the voltage on the analog pin is 0v, </p><p>1023 when the voltage on the analog pin is 5v.</p><p>So, in order to get the voltage and not some &quot;high&quot; number, I divide it by 197.0.<br><br>If your Arduino reads, for example, 3.8v, but the battery has 4.2v, just decrease the 197.0 to another value, until the Arduino reads the right voltage.</p>
Thank you very much for your fast reply, your words sound logic absolutely!!!
<p>Thank you for commenting, appriciate it!<br><br>You're welcome!</p>
<p>Very nice!</p>

About This Instructable




Bio: After reading this, you won't be more clever then before!
More by Tedd'scherB:Arduino & Visual Studio - Serial Communication Arduino LiPo Battery Watcher 
Add instructable to: