PIC32 Sleep current

In this post I will investigate what is the possible theoretical minimum current for diverse boards from Olimex. Then based on this information I will do a test with the boards.
First of all lets select some boards which I will investigate:
- PIC32-HMZ144 https://www.olimex.com/Products/PIC/Development/PIC32-HMZ144/open-source...
- PIC32-PINGUINO-MICRO https://www.olimex.com/Products/Duino/PIC32/PIC32-PINGUINO-MICRO/open-so...
- PIC32-PINGUINO-OTG https://www.olimex.com/Products/Duino/PIC32/PIC32-PINGUINO-OTG/open-sour...

The sleep current is depending on several things:
One of this is the sleep current from the uC self. Picking a Power down current from the data sheet of the PIC32MX440F256H show a value about 25uA. Plus additional 10uA-s if the Watchdog module is enabled. Temperature is taken as 25C and Voltage supply as 3V3. So 35uA is not a worst case scenario but good enough to start a calculation. Same for the PIC32MZ2048ECG144 is 12mA. Of course the actual value depend on the real used configuration. The values here chosen are based on some assumption. Hopefully the magnitude does not change, when the theory become reality :)
Other thing is the circuit where the uC resides. For this the simplest thing is to check every part of the schematic and try to identify what part will draw how much current.

So lets check first the PIC32-PINGUINO-MICRO schematic. A good place to start is the power supply. Since the power supply is necessary for the uC to run, but other parts might be switched off. The board have the LM1117. Here since it is an adjustable version a minimum current of 5mA is required to maintain regulation. On the board there is also a LM3526M, which have a switch off current of 2uA. Assuming there is no SD Card in the socket and that every other circuit can be switched of by driving the PIC32s IO pins with a level that will fit, the expected current drawing is about 5mA.

The PIC32-PINGUINO-OTG hardware have a MCP1700 where the Input Quiescent Current is just 4uA. Just note that the TPS783 data sheet claims it requires only 500nA, but even 4uA is still better than the 5mA from the previous board. Since we are investigating a low power application we can assume that the board will be driven from a battery. Therefore the 5V power line wont be powered, so the LiPo charger wont draw any current. LM3526M is same as previous, assume that it will draw 2uA. The expected current draw is about 4uA+2uA+35uA = 41uA. Even if it is 100uA this board offers a better chance than the previous with 5mA.

The last one is PIC32-HMZ144. Here we start with 12mA. Does it make any sense to analyze this further? I think no, but lets see. The SY8009AAAC have a quiescent current of 80uA. SY6280 can be shut down and take then only 1uA. Assume SD Card is empty and every other parts can be switched off. Expected sleep current is about 12mA.

Lets assume we have a LiPo battery with 1000mAh. Drawing 5 mA means a run time of 200 hours, so around 8,3 days.
Q = 1000mAh //charge
I = 5mA
t = Q/I = 1000mAh / 5mA = 200 h
Drawing 41uA means a run time of about 1016 days, nearly 3 years.
Assuming that a real life application requires that the uC is doing something cyclically, but between them is in sleep mode. Lets take 95% percent of the time a current drawing of 5mA, and for the rest of the time 100mA. So for example every 100ms the uC wake up for a maximal time of 5 ms and does something.
Iaverage = (Isleep * percentWake) * (Irun* percentRun) / 100
This would be an average current draw of 9,75mA where a 1000mAh battery would last for 4,2 days. The same task but with a sleep current of 41uA would last for 8,3 days. If the wake up time can be further reduced, like to 1ms, then 41uA sleep current would give 40 days of run time.
So if we want to increase the battery life:
- use bigger battery (would be too easy)
- reduce time spent in not sleep, so increase time spent in sleep
- reduce sleep current (if possible also run current)

The most promising board is the PIC32-PINGUINO-OTG with about 41uA. Sadly I do not have this board at hand, but the PIC32-PINGUINO-MICRO with an expected current of 5mA. So in the next part, I will do a real measurement on the board to see if the expected 5mA can be achieved or even better (hopefully worser)! Maybe I did somewhere an error is misinterpretation of the data sheet. So if the expected value and the measured value is too far away, then there was an error from me.
Since I am curious about the PIC32-PINGUINO-OTG, I will order one meanwhile one and do a real measurement also on that board to see if the 41uA can be reached.

To Be Continued