P1 Deep Sleep Current measure value vs spec? Sparkfun Photon RedBoard


In the spec P1 in deep sleep:

Deep Sleep Current (5V @ VIN) IQds Typ 80 Max 100 uA

My set up measurement:

I am getting about 5.5mA @ 3v in deep sleep. I have disconnect everything except the P1 and the regulator on the Sparkfun photon Readboard.

Test code:

bool isleep = true;

// setup() runs once, when the device is first turned on.
void setup() {
  // Put initialization like pinMode and begin functions here.


// loop() runs over and over again, as quickly as it can execute.
void loop() {
  // The core of your code will likely live here.
  if (isleep){

   isleep = false;

I was expecting uA for the current, anyone could put some light on this issue or refer me to get more information? I am building a battery power device and every mA counts. Thanks

I am unsure why you are seeing those results, but I ran some tests on a P1 here and got 161.3 uA, which is about the expected value. It only varied by about 0.1 uA while in SLEEP_MODE_DEEP.

I ran this code on the P1:

#include "Particle.h"

void buttonHandler();

bool doSleep = false;

void setup() {
    System.on(button_click, buttonHandler);

void loop() {

    if (doSleep) {
        doSleep = false;
        System.sleep(SLEEP_MODE_DEEP, 120);

void buttonHandler() {
    doSleep = true;

Pressing the MODE button goes into SLEEP_MODE_DEEP for 2 minutes.

The P1 is powered by 5V, which is converted to 3.3V by the regulator on the board.

I connected the 5V supply through both the inexpensive DMM and also a shunt switch. The switch is important, because in uA scale, the meter will not supply enough power for the P1 to successfully fully power up, and this can cause the Wi-Fi module to not go into sleep mode properly.

The process I used was:

  • Close the switch, bypassing the meter.
  • Supply 5V power from a bench supply.
  • Let the P1 boot to breathing cyan.
  • Press the MODE button to go into SLEEP_MODE_DEEP.
  • Open the switch, causing all of the power to come through the meter

That’s where I took the picture of the current usage.

There are some more tips on meter-related issues here:

It’s also possible for a P1 to draw too much current if there are connections on the NC pins. These really must be left unconnected, though that’s not the problem you’re seeing with the Redboard, but it’s something to be careful of in your own designs.

Also beware: there are pull-up resistors to 3V3 on D0 and D1 on the P1 within the module (under the can). If you are pulling this low, you will draw current you normally wouldn’t on the Electron or Photon, even in sleep.

1 Like

You can also look at the Redboard Schematic to see if any components, external to the P1, are “leaking” current. I see a voltage divider on the 3.3v regulator that will consume approx 5mA (3.3V/630ohms). There is a power LED on 3.3v that will consume approx. 1mA ( (3.3V-2.1V)/1000ohms ) assuming a typical LED forward voltage of 2.1V.

Unfortunately, I don’t see a component list on the Sparkfun Github Repo for the Photon Redboard so I can’t verify the quiescent current on the regulator. Looking at my Photon vs the RedBoard picture, the Redboard does not use the same voltage regulator and so you should verify it is a low quiescent regulator. By the looks of it, it is not.

@rickkas7, I am puzzle myself. I would think the Redboard is build to spec. What you measure at your end is what I was expecting for the P1 module. Could you provide me your firmware build target version? I used the 0.7.0 version. Not sure that would affect anything. I will try your flow and see if I can get the correct value out. Thanks

I actually ran that test in April 2018, so it would have been 0.7.0.

I downloaded the .sch files for Eagle and it looks like they are using a LM1117 for the voltage regulator. On Mouser.com, the LM1117 seems to be only from TI so I just grabbed the TI LM1117 Datasheet… the quiescent current is 5mA at normal temp. With all that going on, it seems that the expected sleep current should be about 11mA with those external components.

@ninjatill, I cut the power routing to the LED and put the current meter directly to the output of the 3.3v regulator to the P1 module, my thought was to just measure the current to the P1 module from the regulator to bypass all external leaking current. Do I still need to account for the regulator quiescent current by doing this way?

I believe the quiescent current still comes into play in your test setup… so that’s 5mA of current in Deep Sleep. It’s unclear to me if the TI LM1117 datasheet accounts for the voltage divider for the regulator adjust or that the voltage divider should be accounted for separately. Your test seems to indicate the datasheet accounts for the adjusting voltage divider.

@ninjatill, if we account for the 5mA Quiescent from the regulator then my measure value make more sense. I will see if I can find a low quiescent regulator and repeat the measurement for peace of mind. Thanks.