Puya PY32F003 undervoltage behavior from run mode¶
I decided to check how the PY32F003 behaves in under-voltage conditions since this does not seem to be listed in the specification. To be thorough, I ramped up the supply voltage from 0 to 3.8 V, then back down from 3.8 V to 0 V in case there would be different behavior that depends on whether the chip was initialized or not.
The software configures the micro to run at 24 MHz from the internal oscillator, no sleep or stop mode is used. The BOR or PVD features are not used.
Below is a graph showing current in μA versus supply voltage. The top graph is the full view, while the bottom zooms in on the transition behavior.
As expected, the chip is in run mode above 1.7 V. After a little initial hump, the supply current is pretty steady around 1.28 mA, a little lower than the typical value of 1.5 mA in the specification. That's only about 53 μA / MHz, which is pretty nice!
Less nice is the 1.3 V to 1.6 V region where the current is unfortunately higher than hoped. Below 1.3 V it is nice and low, just a couple of micro amps, but the 1.3 V to 1.6 V region shows an elevated consumption of around 77 μA. Not ideal.
Now in priciple the battery voltage should never get that low, even when using an LTO cell. But if the battery would get that low, this 77 μA would accelerate the battery discharge from 1.6 V down to 1.3 V.
Next I should test if this behavior also exists with BOR and/or PVD features enabled, and what happens when the micro is in stop mode while the supply voltage decreases.