Low-level

SPM

The SPM (Smart Power Management) is an embedded system that controls the low-level power cycle of the device. It interacts with a number of subsystems that can initiate power state changes:

SubsystemDescription
AccelerometerBuilt-in accelerometer is capable of triggering wake up based on physical movement events.
ModemInstalled modem module can trigger wake up on received SMS or dial up call.
STNBuilt-in chipset triggers power on and off based on voltage level changes.

Finally the Raspberry Pi communicates directly with the SPM and performs power state changes based on more high-level decisions.

States

Below diagram shows an overview of all possible SPM states and the transitions between.

StatesOFFOFFBOOTINGBOOTINGOFF->BOOTINGHIBERNATINGHIBERNATINGOFF->HIBERNATINGBOOTING->OFFONONBOOTING->ONHIBERNATING->BOOTINGON->OFFON->HIBERNATINGSLEEPINGSLEEPINGON->SLEEPINGSLEEPING->BOOTING

OFF

Everything is powered off.

Transitions
StateCondition
BOOTINGThe device is plugged in.
HIBERNATINGMaximum number of boot attempts reached. Default is 10 attempts.

BOOTING

Everything is powered on and the Raspberry Pi is booting up.

Transitions
StateCondition
ONSuccessfully communicated with the Raspberry Pi.
OFFNo communication with the Raspberry Pi within a given time limit. Default boot timeout is 10 minutes.

ON

Everything is powered on and there is regular communication with the Raspberry Pi.

Transitions
StateCondition
SLEEPINGThe Raspberry Pi decided to sleep for a given period of time.
HIBERNATINGThe Raspberry Pi decided to hibernate or the STN chip powered off according to its triggers.
OFFNo communication with the Raspberry Pi within a given time limit. Default heartbeat timeout is 3 minutes.

SLEEPING

The Raspberry Pi is powered off. Modem and GPS is kept on in low power mode.

Wake up will happen after a specified period of sleep time or earlier if:

  • STN is powered on.
  • Received wake signal from modem.
  • Received wake signal from accelerometer.
Transitions
StateCondition
BOOTINGSee the above criteria.

HIBERNATING

Everything is shut down for maximum power saving.

Transitions
StateCondition
BOOTINGThe STN powers on (when transitions from off to on).

STN

See the STN command for available power trigger options here.