Skip to main content

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.

OFFBOOTINGHIBERNATINGONSLEEPING

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.