In this Section

↩ Return Home

# Power Consumption

How much power PyCubed mainboard draws greatly depends on what sensors are enabled and how they're operating. The estimates below were measured on a mainboardv05 with radio1 in sleep mode.

1. everything on: 104mW (13mA at 8V from Vbatt)
2. everything off: ~48mW (6mA at 8V from Vbatt)
3. everything off + deep sleep: 8mW (1mA at 8V from Vbatt)

## Battery Life

You can estimate how long your board can remain powered from a battery pack (like the PyCubed Battery Board Overview) by determining power capacity and consumption.

We like to use LG INR18650-MJ1 "18650" cells which have a capacity of 3500mAh. Since the battery board holds 6, that's a total of 21000mAh.

<aside> ☝ Recall that 1 ampere = 1 coulomb per second (C/s)

so 1Ah = 3600 coulombs (C)

</aside>

Therefore, our pack store a total of 75600C.

• If we were to keep the board in the lowest power state (everything off + deep sleep), that correlates to a current consumption of 1mA = 0.001A = 0.001 C/s.
• Meaning it would take 75600C/0.001C/s = 75600000s = 875 days to completely deplete the batteries without any energy harvesting.

Now this is only an estimate! In reality, there are many factors that will impact this such as the battery voltage dropping as charge is removed, temperature, how often the board is awake, etc... This also doesn't account for any radio transmissions, which (can) consume a lot of power. To know with some level of certainty, you must test!

Below are some easy ways to decrease PyCubed's power consumption beyond the "stock" configuration.

• [ ] Replace the current sense resistor (R8) with a lower value. Don't forget to update the power monitor setting to reflect the proper value. (lower values will provide less resolution)
• [ ] ...

# Deep Sleep

When placed into deep sleep from CircuitPython, PyCubed's microcontroller (ATSAMD51) enters `BACKUP` mode, which is the lowest power consumption mode for the device. But be careful! When exiting `BACKUP` mode, the SAMD always resets (like pressing the reset button)! You can use a timer or pin to bring the SAMD out of this mode.

Therefore, each time you exit deep sleep, it will be like the board is turning on for the first time. This means your software must account for this and store configuration variables somewhere accessible (SD card, NVM, etc...).

📅 Jan 2022

Below is a quick main.py file to test your board’s power consumption. This script will initialize the board, blink the RGB LED blue/green a few times, then deep-sleep for 60 seconds. To measure power consumption, make sure to note the comments at the top of the file.

main.py