We are working on an application using T-SOM. Our application needs the T-SOM to continuously monitor two sensors, one on the I2C bus and one using the UART of the NRF52840, as well as the IMU onboard the T-SOM. Our power budget does not permit an always-on cellular connection!
Is it possible to (using the user firmware on the T-SOM) to get into a low power state (ideally under 1 mA) without relying on the sleep function that is configured through the web console?
There's no easy way to get to 1 mA, but with the nRF52 in normal operating mode, peripherals and cellular disabled, it's 3.38 mA. Add in a little for the IMU, you'll be under 4 mA, much less than with cellular on.
Parameter
Symbol
Min
Typ
Peak
Unit
Operating Current (uC on, peripherals and radio disabled)
Iidle
3.35
3.38
4.39
mA
Operating Current (uC on, cellular connected but idle)
Icell_cloud_idle
19.2
21.2
97.1
mA
Operating Current (uC on, cellular connected and transmitting)
Icell_cloud_tx
19.5
63.6
280
mA
Technically the nRF52 can operate in a mode where it microsleeps in sub-milliseconds increments, for example between transactions to poll your sensors, but there's no way to access that from Device OS.
4 mA is not too bad, especially because by "continuously" I mean "at least once every five seconds". How would I modify the tracker source code to keep the I2C and usart peripheral on?
Is there an app note or example of how to do that properly, ideally while allowing the Tracker software to continue to provide motion, GNSS, state of charge, etc?
I've figured out how to put the Tracker into a low power (300-400 uA) state that can wake from time or IMU events, but now I am trying to prevent the Tracker from reconnecting to the cell network when it wakes. Any advice?