For those who don't know, there are "old" Li-Ion cells rated at 3.7V avg/4.2V max, and "new" cells rated at 3.8V avg/4.35V max. Both Pisen and original Samsung batteries use new cells.
I've measured and found out that DX90 charges a battery up to 4.2V, while Samsung Galaxy S3 charges it up to 4.3V. It means, DX90 works with the battery like it has an old cell, and, as such, does not utilize its full capacity.
Here are results of measurements to show the difference for original Samsung battery:
If discharged from 4.35V to 3.2V, the capacity is 2060-2090mAh
If discharged from 4.20V to 3.2V, the capacity is 1785-1820mAh
iBasso, please rebuild the kernel for 3.8V batteries!
Edit: more experiments showed that the kernel level is OK, and it charges the Samsung battery up to 4.36V. But, under Mango player, when it reaches 100%, the charging process immediatelly stops and then the battery discharges, which is not as good as expected. E.g. when I put SGS3 on a charger, I take it off at 100%, regardless of how long it was connected to the charger, providing it has reached the 100% once. The experiment was done with the power from PC USB port and "Charge only" setting for USB, and "Never" for auto power turn off. The voltages were read from /sys/class/power_supply/battery/voltage* via adb.
Edit 2: From a wall charger, when DX90 is turned off, the charger application displayes "Charged" with full green circle when the battery has reached 4.2V. The charging process continues, but there is no a way to know when the battery is fully (4.36V for Samsung) charged.
If I disconnect the device from the charger at the level of 4.2V, and connect it back, there is a big chance of small discharge in between, and the charging process starts. It shows the green cycle shortly, but the charging process continues, with a chance for the full charge.
If I disconnect the device from the charger at the level greater than 4.2V, and connect it back with such a level, the green circle is shown immediatelly, and the charging process does not start at all.
So, I see the only way to reach the full capacity. It is to:
- Charge only turned off DX90, and
- Don't disconnect from the charger for at least XXX minutes after it says "Charged".
which is quite tricky!
The expected behaviour is that the charger application turns the green circle only when the battery has reached its 100% capacity, and then it keeps charging in small increments, to be almost 100% at any time.