Xiao nRF52840 still too high consumption

Hi There

And welcome here…SO, Radek

Jovelyn is absolutely right on the money here! It is a very common trap. Using the standard delay(10000) just pauses your sketch while leaving the main CPU spinning its wheels in a high-power active state.

While the Nordic SoftDevice is incredibly efficient at automatically waking up the radio, firing off the BLE advertisement, and shutting the radio back down, it does not automatically put the main CPU to sleep.

:face_with_hand_over_mouth: using a standard Arduino delay(10000), the MCU is essentially just sitting there twiddling its thumbs :hand_with_index_finger_and_thumb_crossed: in a high-power active state for 10 seconds. The CPU clocks keep running, which is exactly why they are seeing a constant 6mA draw.

To actually tap into the microamp range that Nordic hardware is famous for, your application loop has to explicitly yield to the power management API (using commands like sd_app_evt_wait() or __WFE()). This tells the CPU to suspend its operations and go into a true sleep state until the next RTC timer or BLE event wakes it up.

If you want to see this in action, check out our [[e-paper nRF52840 “NO-power” (🏆 Winner Winner... Microamp Dinner!™ 1.54" E-Paper & Xiao). It shows exactly how to leverage these sleep states with some Nordic PPKII Graphs :+1: to drop the power floor down to the low microamp range while still running peripherals!

Keep at it! Once you swap out those delays for proper sleep APIs, you will absolutely hit those magic microamp numbers.

HTH
GL :slight_smile: PJ :v:

BTW , you want this :crossed_fingers:


not this one… :squinting_face_with_tongue: