Warning: Illegal string offset 'height' in /home/customer/www/aonemobiles.com.au/public_html/wp-content/plugins/visualizer/classes/Visualizer/Module/Frontend.php on line 318
Warning: Invalid argument supplied for foreach() in /home/customer/www/aonemobiles.com.au/public_html/wp-content/plugins/visualizer/classes/Visualizer/Module.php on line 730
For many years we have observed iPhone Batteries in a multitude of qualities.
Right now, the trending term that everyone seems to be buying into is “0 cycle”. But what exactly does this mean? And why wouldn’t you want one?
A mobile phone’s battery can vary in characteristics quite a lot. One if the biggest factors is the charge/discharge “curve” of the cell itself.
There’s an abundance of cell chemistry available, and thousands of pages of information explaining each. Rather than writing a book however, we wanted to explain what’s important when it comes your common lithium iPhone battery.
Most commonly, a 3.7v lithium cell, is 100% charged at 4.2v, and 3.7v at 0% (this isn’t completely true, but assume it is for now). A 3.8v cell might be 4.3v at 100%. In newer devices we are seeing 3.85v cells that charge up to 4.35v.
Its easy to assume based on this, that a 3.7v cell charged to 3.95v has 50% charge. However, this would only be true if the cells discharge curve was completely linear.
Not only is this not the case, but there are so many variables that come into play. The curve varies because:
- Every cell is different,
- It changes with temperature,
- It varies with load.
- Capacity changes over time with usage.
- Capacity degrades over time in storage.
Just to name a few.
So how does a manufacturer track all of this and provide the correct information to the device about how charged your device is, and how long it will last, if it’s unpredictable? They build a gas gauge and battery management system into the device (system side) or the battery assembly itself (cell side).
Texas Instruments is a leader in this field, and Apple chose to use their gas gauge ICs, and HDQ protocol from the very beginning (known internally as SWI, Single Wire Interface).
The gas gauge IC is capable of handling all of this information and reporting it to the device, right down to the live temperature. The data has proven to be so accurate, that Apple deprecated their own NTC thermistor as of the iPhone 5S. iPhones now rely solely on the HDQ protocol to determine a cells temperature, State Of Charge, Actual Capacity, Design Capacity, Time To Empty, and much more. This IC is able to monitor the cell during charging and discharging, at different temperatures, and record and adjust this data over time as it changes.
The HDQ protocol is so easy to implement, we now see it in a variety of devices used worldwide. This is how we are able to determine the health and capacity of a devices battery using simple software (like 3u tools).
Unfortunately, the ease of implementation, the widespread use, lack of understanding, and the constant chase for “cheaper parts” in the consumer electronics repair industry has introduced a new problem.
Fake Gas Gauge ICs
For a fraction of the cost of a real TI gas gauge IC, China can produce an ic that provides the information the device requests, except that its static. It doesn’t change, it isn’t smart, it isn’t safe, and it isn’t accurate.
With these ICs installed in a battery, the battery could indefinitely report an actual capacity that is 100% of the design capacity. It could indefinitely report a temperature of 25C, when the temperature is actually 80C, and the device should be shut down for safety. It could report having charge when there is none, or report no charge when the battery has plenty of usable power left.
In other words, China has been pulling the wool over everyone’s eyes, and many people have been fooled, in the quest for more profitable parts. But here’s where it gets interesting. This isn’t new information, in fact the awareness of these fake gas gauge ics is now fairly widespread. Technicians know what to “look for”.
Introducing problem 2..
Reprogrammed Gas Gauge ICs
The original Texas Instruments gas gauge ICs, such as the BQ27541(Datasheet), are so smart, they have their own firmware.
Suppliers have worked out that technicians don’t want fake gas gauge ICs, so the new trick is to take an original gas gauge IC, and put custom firmware on it.
This means the temperature reported could actually be correct, and there is no visual differences, making it very hard to spot a fake (although large batches often have the same serial number, so that’s the first indication you have one).
The other data reported could be completely fabricated. It could be pre-programmed with a fixed actual capacity, the reported state of charge could be a rough estimate, and the cycle counter may never increase beyond 0.
Introducing problem 3..
0 cycle batteries
The new trend. These are batteries that the supplier reports are “never used”. They have had 0 usage. They are completely “brand new”.
This sounds great right? Everyone should want these. And they do. Technicians all over the world are buying “premium, brand new, 0 cycle batteries”.
Unfortunately, it’s not great at all. Not only is this a possible indication of custom firmware designed to trick the consumer, but its also a massive red flag.
In a best case scenario, this super intelligent gas gauge IC has been given amnesia.
Remember how the gas gauge IC learns over time? It does this over a period of charge and discharge cycles. So what 0 cycles actually means is, “I have no idea. I’m just guessing at this point”.
This is why a brand new iPhone should actually have some charge cycles already. Foxconn bench test these devices, and one of those tests is to charge and discharge the device. This means that out of the box, the battery knows its own chemistry, and there is no need for the consumer to perform these cycles themselves.
0 cycle batteries, are liars. The gas gauge IC is reporting a capacity it has never seen. A state of charge when its never been full or empty. Even if the firmware is completely original, and only the cycle counter has been reset, at best it might remember the chemistry of the old cell that was previously attached, prior to refurbishment.
So where do we go from here? And what do we do about it?
We could stop purchasing these 0 cycle batteries, and start telling suppliers we want new cells, with original TI gas gauges, with unmodified firmware, that have had 3 cycles, so we know they are calibrated before we use them.
This would take the suppliers many hours per cell, and the likely hood is that they will introduce a new workaround, programming 3 cycles into the batteries to fool the consumer once again.
We can use one of the many battery testers available that read the HDQ data, to see if we do in fact have what we think we have, but where do they usually come from? The same suppliers that sell the batteries.. What stops them from programming the testers to say their modified batteries are actually great quality?
A New Solution
We need a new solution. A battery tester that is unbiased, and open source. One that we can program ourselves to test our batteries, without any chance we are being lied to.
Transparency is key.
You’ll be pleased to know that finally, one is on its way.
A One Mobiles and Repairs staff, associates, and friends have been working on a new DIY battery tester project, with features that have previously not been seen. The project is a continuation of one started by Ben Duffy.
The best part is, it’s completely open source. The device is based on the Arduino Nano (ATmega328P), completely customisable, upgradeable, modular, and the source code will be available for anyone who wants to see how it works. We wont be hiding a single piece of information. You can even build it yourself!
- Comparison – Compare a range of data against original
- Report – Note suspicious information
- Health – Provide health report and battery grade based on full charge capacity, cycle count, ect
- Charge – Allow Charging, Discharging of the Battery
- Refresh – Cycle the battery, allowing gas gauge to learn
- Thermal Printing. Print hard copies of battery reports for your customers!
- Modular – Link multiple units together in a chain for batch processing with one power source/printer
- Prototype – Add your own features and modifications
We are almost ready to release it. If you want to be one of the first to find out more, subscribe to the email list below.
We will be ordering and providing the project kits in both pre-assembled and DIY assembly, based on the statistics we gather from this list.
As soon as pre-order is available you will be notified.
UPDATE 21 Jun 2018
The project now has a name! Progress will be updated here as required.
|Project Naming, Logo (CommBatt)|
|Domain Registration (commbatt.org)|
|Design Development PCB|
|Order Development PCB|
|Build Development PCB|
|Hardware Test Software Development|
|Development PCB Testing|
|Release Software Development|
|Final Hardware/Software Testing|
|Media Release (Photos, Videos)|
Get Updated on this project:
Don’t Worry, we won’t send you spam 🙂
Special Thanks & Sources
- Jason Gin – ripitapart.com for his extensive research into fake batteries, and HDQ. Check out his blog articles here, here, and here, to name a few.
- Ben Duffy – the board level repair technician who started this project.
- Michael Ollis – iPhone Repairs Geelong for providing a bunch of cells from various devices used to gather comparison data.
- Micro soldering, micro BGA, and component level diagnostics group (the original) – for funding the initial interface that was never shipped out, and holding out for a lifetime for this project to be finished. The original interface was an adaptation of Jason Gins HDQ-Serial interface. Ben wanted to apologise and inform everyone your name is still on a list to receive the new testers.
- The “Knitting Group” – Jessa Jones, Mark Shaffer, Jason Gan, Rany Saba, Davide Menegalli – for providing feedback throughout development.
- mozzwald – for writing a HDQ Library for the ATmega328P, which both saved time and took this project in a new direction, from a PC dependant interface, to a Standalone device. See his blog post here.