battery % (mobile phone)

For a school project i have to monitor the battery level of a mobile phone with an arduino.
i have no idea how i can read in at what percentage the mobile phone already is, how far it is in its charging circuit and everything.

So basicly, how can i read in a phone battery % with an arduino ?

maybe i have to let the phones have a serial communication with the arduino, but then how do i "ask" the phone for its battery% ? and how do i even connect them through serial communication & charge the phone at the same time

I do not know. I would maybe look at some of the Arduino home security systems controlled by a phone.
Are there any phone app that will transmit battery/any information about the phone?
You got a girl/boyfriend , then brain storm with them.
sounds like a good project.

The phone knows the battery level and whether it's charging or not. So you need an app to send that information to the Arduino. An app may already exist but if not something like MIT's AppInventor might help you to write your own. You'll probably want to send it to the Arduino using Bluetooth.

Then when you get it into the Arduino what are you going to do with it? What does "monitor the battery level" mean to you?


To explain what “monitoring the battery level” means to me in this project. Let me first explain the project short.

For the project i will be charging 4 phones with a single battery(solar powerd).
I have 4 lockers (one for each phone) and a display.
On this display i want to project the % of each phone.
This is wat monitoring the battery level/% means to me. To get the information from the phone and send it to the arduino.

If we assume the battery is empty(since this project is like a sollution for empty batterys) having an app/bluethoot wount help me. I wonder if this is even possible with just arduino

the only thing i have found so far is an Ah meter, which is usefull as a Plan C or D since i wount know how much % an ah is for the phone. And most phone users dont know how big their battery is, it would be useless to display “+1200mAh”

So i have no idea how to do this

AFAIK batteries charge slower when they are more full. Measuring charging current may give you some estimate of state of charge. But I doubt you will get something more than nearly empty - somewhat charged - nearly full.

You've probably noticed that the batteries on most phones have more than two gold contacts on the battery. The batteries are "smart" with a small amount of electronics inside the battery which communicates with the phone. That's how the phone really gets the %full from the battery. Without the smart stuff closely tied to the battery you cannot make any estimate of the % left in the battery.

From the point of view of the USB port charging a flat phone, you can detect that the phone is sucking a lot of power. By a process of elimination, you know that there's no combination of radio/screen/sound which can emit that amount of power so it must be going into the battery. As the battery gets to full, the current drops off. The other power uses are still the same, so you don't know how much is going to the battery.

For a "public phone charge station" you can't rely on apps on the phone or any other co-operation. You can probably tell that the phones are above 80% charged when the current drops below a simple threshold value. Look for an Arduino current sensor that will measure 0-2 amps.

So basicly, how can i read in a phone battery % with an arduino ?

You will have to install an app on the phone, which then relays this info to your Arduino.

Not that straightforward.
Most phones do not have USB host functionality, so you can't connect them directly over USB.
Probably your best bet is Bluetooth, but you'll have to manually pair each phone with your Android's Bluetooth module before you can get the battery data off of it.
For a school project that's probably OK because you'll be dealing with a small set of phones, and it's feasible to tell the people that want to try it out to go through the effort of installing your app and pairing their phones with your system.

I am just curious .. are you able to succeed in this