Try again with a battery of high internal resistance.
The state of the cell makes no difference. Zero current is still zero current.
The state of the cell absolutely does make a difference. If you put in a good battery and put a scope on it (or a good instantaneous current monitor), then plug in usb to the pico, you will see the voltage/current shoot up for a moment before something cuts it off (U102/WAS4603 is set to trip at 2A). Put in a “bad” high internal resistance battery (or perhaps any full battery) and the voltage stays at near-usb levels.
I also checked the axp stats while plugging power into picocalc and then pico. Top one is picocalc, followed by pico. The axp doesn’t see any voltage input, but the battery is still getting pulled up to 4.14v (from 3.8v).
Copy-pasting the exact same analysis that I already claimed was flawed is not a rebuttal. I’m explicitly telling you Kuroneko was wrong here (and I have full respect for his technical capabilities; we went to university together and I’ve known him for over 25 years.)
I’ve done all the bench testing with all the appropriate equipment, not just looking at schematics or going off “vibes”.
“The AXP doesn’t see any voltage input” is flat wrong, because the only path to the batteries goes through the AXP. Unless you deliberately put an extra wire from Vbus to Vbat…
Now just looking at the voltages is completely misleading, because you can have any voltage you like with zero current flowing and it will do precisely nothing - you already have infinite resistance so the internal resistance of the cell is irrelevant. It’s only when current flows that you see the true voltage at a particular node.
Your test actually proves that the circuit is performing as I described it - if you’d measured anything over 4.2V then certainly there would be cause for concern, but 4.14 is a perfectly normal voltage and exactly what I would expect to see for a cell with some significant internal resistance (a lower resistance cell would pull the voltage down to it’s open circuit voltage much harder.)
What you need to do is put a fully charged cell (i.e. already reading 4.2V) in series with a multimeter measuring current flow, with the pico connected to 5v. Seeing 5v on the battery holder terminals without a cell present doesn’t mean anything, you have to show that current is still flowing into the cell.
I have tested it with a full cell too, where it was pulled up to 4.43v. I forgot what exact current it pulled but it was greater than 600mA.
On the test where I plugged power into the pico, I would expect the battery voltage to be 3.8v as the axp was indicating that it was not charging the battery.
I had already reported the problem to clockworkpi, and they could not find the problem the first time. Then I explained the conditions for it to occur, and got this pretty vague response:
The R&D says that please use the USB-C on the mainboard for charging and debugging.
It will allow the PMU to work so the current wouldn’t be an issue.
Meanwhile, we will be working on optimizing the design to make other compatible cores to work safely.
If you’re actually seeing it on your unit, then by all means avoid poking the bear.
I’ve seen it on two of my units and someone else’s too.
If anyone has ever had the fast blink orange led (overcharged battery), they’ve probably hit the problem.


