Deep sleep power on the new Global Dash

I read the new email about the Global Dash. The line about “deep sleep operations for 10x longer battery life” caught my attention because that was the issue preventing me from using the original product.

Can you give me some details on the low power modes? I am specifically interested in being able to shut down the radio and only bring it back up when needed.

What is your lowest deep sleep power draw?

2 Likes

Hello Andrew,

I recommend checking out the new Dash’s Data Sheet because it contains the whole picture, but the short answer to your question is that the new Dash has three different power operating modes that are configurable via API:

Normal (default): Both microcontrollers are running at standard clock rates (48MHz and 120MHz for the System and User microcontrollers, respectively) and the u-blox modem is on. The User modem can be configured for 120MHz, 100MHz, or 48MHz.

Sleep: Instruction clock is paused and peripherals and interrupts remain active.

deepSleep: Lowest possible power mode on the Dash. Most peripherals and interrupts are disabled, only select wake-up interrupts can wake from deepSleep (select I/O pins, alarm) when configured. The system microcontroller, user microcontroller, and u-blox modem can be placed into deepSleep independently. Hologram has verified, lab-observed deepSleep current of 350uA.

Best,
Maiky

I assume the datasheet should read “the user microcontroller can be configured” instead of “the user modem can be configured”, right?

Is my understanding of the API correct:

To change the user clock rate, change Arduino IDE -> Tools -> CPU Speed. There isn’t a way to change this dynamically during program execution. It’s possible that a lower CPU speed will consume more energy if a CPU-intensive task takes longer, preventing more time from being spent in sleep. CPU speed doesn’t have an effect during sleep.

To enter user sleep, call Dash.snooze or Dash.sleep.

To enter user deepSleep, call Dash.deepSleep,Dash.deepSleepSec (and the other time options), or Dash.shutdown.

To enter modem deepSleep, call HologramCloud.disconnect. To enter modem and system deepSleep, call HologramCloud.powerDown.

The 350uA reading is when user, modem, and system are all in deepSleep, e.g., calling HologramCloud.powerDown and then Dash.deepSleep.

Your summary looks correct to me. You’ll have to do some profiling on your specific application as to how much reducing the system clock will reduce your total power consumption. I agree it could be possible that it would increase with a slower clock speed.

It is technically possible to change the system clock dynamically during execution, but this isn’t included in our Arduino package. Changing the system clock affects other peripheral clocks and would require re-initializing some peripherals.

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.