I have been having some fun trying to minimize the current required for a battery powered application using an MSP430FR2433. I chose the MSP430 since it has a stellar reputation for low power, I really like the orthogonal instruction set, any MSP430 launchpad board can program and debug them, and they seem to have more availability right now than other similar low power MCUs.
There seem to be very few published real world measurements of the current used in the low power modes for this series of MCUs. I ran some quick tests to show the current draw at 3.3V in LPM3, LPM4, LPM3.5, and LPM4.5 with and without the RTC using the VLO and with and without the SVS enabled. All measurements were completed with a calibrated Fluke 87V that has a resolution down to 100nA.
Power Mode | Current (uA) |
---|---|
LPM3 with SVS and RTC using VLO | 17.4 |
LPM3 with SVS, no RTC | 17.2 |
LPM3 no SVS, no RTC | 17.1 |
LPM4 with SVS | 0.6 |
LPM4 no SVS | 0.4 |
LPM3.5 with SVS and RTC using VLO | 0.4 |
LPM3.5 with RTC using VLO, no SVS | 0.2 |
LPM4.5 with SVS | 0.2 |
LPM4.5 no SVS | <0.1 |
ACLK uses REFO and stays active in LPM3, thus why LPM3 shows considerably higher current than LPM4. Using XT1 for ACLK should drastically reduce the LPM3 current. I plan on testing this at some point.
LPM3.5 and LPM4.5 shut down the voltage regulator, losing all RAM and register contents. The application must initialize the complete device after a wakeup from these modes. However, the inclusion of backup memory and FRAM on this MSP430 allows one to easily save state and restore it on reset. This makes these modes quite useful in practice.
Operating mostly in a low power mode using a 235mAh CR2023 allows for some impressive runtime using this MCU.