XIAO NRF52840 10ma power usage when in sleep

Hello,

I’m trying to test out the power consumption of XIAO SEEED NRF52840 in sleep mode, but I’m always getting 10ma using PPK2.

I’ve uploaded the code from Getting Started with Seeed Studio XIAO nRF52840 Series | Seeed Studio Wiki to the module, and then plugged to PPK2.

I’ve used PPK2 in source meter, and connected the VOUT + GND of the PPK2 to the battery pins on the XIAO NRF52840.

In the PPK2 software, it always shows 10ma usage consistently.

I’ve also noticed the charge led (green tiny led) is occasionally on.

Also tried: powering from the 3v3 and GND pins. Now, it’s using 6ma, but still very far from the advertised power usage.

Am I doing something wrong?

Thank you.

You measure board current, not chip sleep. XIAO includes charger and regulator circuits. These consume milliamps even in sleep. BAT pin powers charger section continuously. This explains the approximately 10 mA reading.

If you’re getting 10mA while in sleep, you’re not actually going to sleep. My XIAO nRF52840s idle around 40uA and in deep sleep go down to below 10uA. This is measured board power using a external current shunt, not chip power.

TL;DR: you’re doing something wrong. Try disconnecting any peripherals and doing an erase-flash and re-flashing the deep sleep example script and measuring again in the PPK. even at full load, my 52840s don’t go above 10mA so either your module is horribly broken, your code is horribly wrong, or your ppk isn’t accurately measuring things.

I think you’ll find this link helpful.

Hello,

Thank you all for the replies.

I’ve tried erasing the flash, and uploaded the code again, I see some improvements, but still not the expected.

What I did:

Downloaded zml_clear.uf2 from Bootloader · joric/nrfmicro Wiki · GitHub and put it on the folder from xiao nrf52840. The device then rebooted. Then I uploaded the code from msfujino example. First I got a compiler error:

C:\Users\Babado\Downloads\Flash_Light_Deep_Sleep\Flash_Light_Deep_Sleep.ino:12:33: error: expected unqualified-id before ‘{’ token
12 | SPIFlash_Device_t const P25Q16H {

I then erased the definition that caused the error, and uploaded it.

BSP: Seed nRF52 Boards v1.1.1

Adafruit_SPIFlash: 5.1.1 (also tried others)

Result: The Average current usage got a bit better, to 3~5mA, but still far from the desired.

To measure power, I put PPK2 on Source meter, and set it to 3.3v, and linked the pins to 3v3 + GND on XIAO nRF52840. I noticed that if I used the battery pins instead, the current usage would always be 10mA (in Ampere Meter mode of PPK2).

Keep in mind, I don’t have anything connected to the XIAO nRF52840 beides the PPK2 for measuring the power consumption. No USB too.

I am still new to this world of XIAO, so I don’t know if I’m missing a step or doing something wrong. My only goal for now is to get the lowest power consumption possible, since I’m trying to achieve something that will be battery powered.

Please try the sketch for the nRF52840 available at the link below. At the very least, it should not produce any compilation errors. Please use BSP version 1.1.12.

Connect the brown lead of the PPK2 to the + terminal of the battery pad and the black lead to the – terminal of the battery pad, then apply 3.8V.

Is there a while(!Serial) statement in the sketch?

Why not start by testing whether the XIAO is working properly using Blink.ino?

XIAO

Hello, I’ve uploaded the blink program, and it works. For reference, the measured current is ~12mA (measuring exactly how you mentioned, using the battery pads, and applying 3.8v).

Then, I’ve uploaded the code in the link you provided, also updated by BSP to 1.1.12.

When linking PPK2 at 3.3v to 3v3 + GND => 1.36mA current usage:

When linking PPK2 to the battery pads, the current usage goes higher, to ~12mA:

In both scenarios (battery pads / 3v3 + gnd), the green charge light was always ON in the Xiao module.

Here’s a picture of my setup:

Based on the situation, I suspect it might be a hardware issue. Are the solder joints secure?

If you had a spare XIAO, you could figure it out right away.

EDIT:I gave it a try, and it reads uA without any issues. Also, the LED isn’t lit.

This seems to be the issue. I tried testing with an unsoldered xiao nRF module, and it’s pointing at 2~3uA usage with your code.

I’m sorry for this issue, i’ll pay more attention to the soldering.

Thank you all for the help

1 Like