Skip to main content

Reducing Power Usage

These are strategies you can use in order to maximize your project's battery life.

Use ESP32-S3 deep sleep​

The lowest sleep state ESP32-S3 can be in is deep-sleep. At this state, PowerFeather's current consumption can be under 20 μA. One common strategy to save power is for ESP32-S3 to be in deep-sleep most of the time, only waking up to do processing at set intervals or from a trigger signal on a pin - then going back to deep-sleep.

Turn off 3.3V outputs​

PowerFeather has two 3.3 V outputs: 3V3 and VSQT. Each of them can be individually enabled or disabled using Mainboard::enable3V3 and Mainboard::enableVSQT. This is useful for turning off loads to save power, and only turning them on when necessary.

Board.enable3V3(false); // cut power to connected loads on 3V3
// ...
Board.enable3V3(true); // restore power to connected loads on 3V3
Board.enableVSQT(false); // cut power to connected STEMMA QT modules
// ...
Board.enableVSQT(true); // restore power to connected STEMMA QT modules

The set state persists across deep sleep. That is, if 3V3 or VSQT is enabled prior to deep-sleep, it remains enabled during deep-sleep and after wake-up. Consequently, if 3V3 or VSQT is disabled prior to deep-sleep, it remains disabled during deep-sleep and after wake-up.

Disable Feather Wings using EN​

Feather Wings connected to the board can be enabled or disabled by using the function Mainboard::setEN. Much like the 3.3 V outputs 3V3 and VSQT, the set EN state persists across deep sleep.

Borad.setEN(false); // disable connected Feather Wings
// ...
Board.setEN(true); // enable connected Feather Wings

Use ship or shutdown mode​

Ship and shutdown mode are special power modes in which the battery is as good as cut off from the board. Use Mainboard::enterShipMode and Mainboard::enterShutdownMode to enter these modes.

Board.enterShipMode(); // enter ship mode
Board.enterShutdownMode(); // enter shutdown mode

There are entry and exit conditions for these modes. Read about these conditions in the documentation for Mainboard::enterShipMode and Mainboard::enterShutdownMode.