chipKIT® Development Platform

Inspired by Arduino™

WF32 Low Power Current

Created Tue, 15 Jul 2014 00:17:50 +0000 by briandpc


Tue, 15 Jul 2014 00:17:50 +0000

Assuming I can fix the sleep issue from my other post,

How low can expect the WF32 board to go current wise with every thing turned off??

I am currently seeing about 50 ma from a 7.2 volt battery pack

I am trying to do a battery powered device where the unit sleeps and only does some processing every minute.




Tue, 15 Jul 2014 01:49:24 +0000

I solved the sleep problem and now current looks closer

Still a little high but I have not optimized it yet

drops from 50 m amps to 3 m amps


Tue, 15 Jul 2014 15:31:08 +0000

I have manage to work the power consumption down to about 2.5 m amps

Turned off Uart and 5 volt LDO

Now have a every short wakeup time, just enough to process null interrupt

full current draw is not making it all the way to the batteries, capacitors must be absorbing the load

Processor only awake 6 msec per wakeup every one sec

will still try an track down the stray currents




Tue, 15 Jul 2014 16:12:36 +0000

3.3V regulator quiescent current?


Mon, 17 Aug 2015 19:47:59 +0000

Just to follow this up...

I am currently working on a low-power (battery powered) monitoring system. Absolute lowest power is critical.

I have Microchip TC105 regulators, lots of N/P-channel MOSFET pairs to turn off power to any external peripherals, and an MX150 as the core.

When sleeping it consumes just 800µA from a 7.2V battery pack.


Mon, 17 Aug 2015 22:42:27 +0000

That is still 1.89mA at 3.3V..


Tue, 18 Aug 2015 09:12:27 +0000

That is still 1.89mA at 3.3V..

And that is relevant how...?


Tue, 18 Aug 2015 20:25:31 +0000

..relevant to "absolutely lowest power is critical".. 1.8mA in sleep mode (provided sleeping means sleep mode) is huge. With cpu halted and sysclk off? What drains such current then? Or is it the Idd current of the step-down chip? My bet is you can go to 100uA at 3.3V (40uA from 7.2V but not sure the step-down will work with such small load) with some peripherals running (ie. 32khz timer).


Tue, 18 Aug 2015 21:41:53 +0000

The 3.3V current is irrelevant. When you're running from a battery it's the current that's drawn from the battery that you care about. That is why selection of the switching regulator is critical for highest efficiency.

I have the main chip running at absolute minimum - all that is running is the RTCC, UART 2, and Timer1. Everything else is turned off and even has its clock sources isolated (so when not sleeping it's still using minimum power). While it's sleeping the only thing that is active is the RTCC and very occasionally Timer1, both of which run from an external 32.768kHz crystal. Everything else (including the main system clock and the peripheral bus) are stopped.

I probably could get even less power if I turned off the RTCC, but then it'd never wake up. I could get even less power if I removed the PIC32 chip from the PCB, which would be about as useful as turning off the RTCC...

In fact, if I were to disconnect the battery the current would be even less still.

The clue here is: Absolute minimum power consumption while it is still able to do a useful job.


Tue, 18 Aug 2015 21:52:58 +0000

Current at 3.3V is relevant here as you discuss the power consumption of the pic32mx, what would be difficult when talking battery current and using step-down converter (like how much current draws my i7 cpu from its 1.375V Vcc when battery is 12V and battery current is 10A and efficiency of the step-down conv is 87%). Mx150 takes 80uA when sleeping I saw somewhere. Btw sleeping is an useful job of mine :) PS: energy harvesting is a nice topic. I've seen somewhere they power some useful gadgets from the energy of a local mobile network BTS. What about a challenge sponsored by companies we know well for a mcu based design with the lowest power consumption when still providing a useful job..


Tue, 18 Aug 2015 22:15:08 +0000

Sleep is overrated. I try to avoid it when I can.

I don't care about just the PIC32's current - I care about the current of the whole system, so that then I can calculate how long a battery will last running the system. That is why my board is littered with MOSFETs that completely turn the power off to all external peripherals. That even includes disconnecting a voltage divider from the battery that is used to measure the battery voltage. Even the 5V regulator gets switched into standby mode where it consumes just 0.5µA.

So really all that is now drawing current is the PIC32, the quiescent current of the one TC105, and a minuscule amount of leakage current through the MOSFETs.

The TC105 is typically 92% efficient, and has a special low-power mode where it switches from PWM to PFM to be even more efficient, which is great when everything else is sleeping and current draw is minimal.

So doing the math:

800µA - 57µA (active TC105) - 0.5µA (sleeping TC105) = 742.5µA. 7.2/3.3 = 2.181818... (742.5 * 2.181818...) * 92 / 100 = 1490.4µA

So it's actually nearer 1.5mA for the entire 3.3V portion of the circuit - which is mainly the PIC32, including powering and running the RTCC and its oscillator and watching for external interrupts on 4 IO pins.


Wed, 02 Sep 2015 17:07:43 +0000

Ok, small update... I have made some tweaks in both hardware and software...

It now idles at just 50 microamps.


Watch the value of pull up resistors where they are normally pulled low by a MOSFET while idling.

Disable clocks to all internal peripherals.

Disable the ADC after doing any analogue reading (consumes 120ua just by being turned on even with the clock turned off)


Sat, 05 Sep 2015 07:21:49 +0000

..relevant to "absolutely lowest power is critical".. ... My bet is you can go to 100uA at 3.3V (40uA from 7.2V but not sure the step-down will work with such small load) with some peripherals running (ie. 32khz timer).