Are there any preliminary measurements or data on the quiescent current of the Muon while it is in various sleep modes, such as hibernate and stop modes?
Additionally, I would like to know the quiescent current and voltage values needed to calculate the power demand in milliwatts (mW) during these sleep modes, assuming a typical Li-Po battery voltage range.
If you use setup.particle.io to set up your Muon, it will be enabled automatically.
If you want to do it manually through code, the instructions are here.
The explanation from that page is:
Devices using the Particle Power Module include a 3V3_AUX power output that can be controlled by a GPIO. On the M.2 SoM breakout board, this powers the Feather connector. On the Muon, it powers the Ethernet port and LoRaWAN module.
The main reason for this is that until the PMIC is configured, the input current with no battery connected is limited to 100 mA. This is insufficient for the M-SoM to boot when using a peripheral that requires a lot of current, like the WIZnet W5500 Ethernet module. The system power manager prevents turning on 3V3_AUX until after the PMIC is configured and the PMIC has negotiated a higher current from the USB host (if powered by USB).
This setting is persistent and only needs to be set once. In fact, the PMIC initialization normally occurs before user firmware is run. This is also necessary because if you are using Ethernet and enter safe mode (breathing magenta), it's necessary to enable 3V3_AUX so if you are using Ethernet, you can still get OTA updates while in safe mode.
After changing the auxiliary power configuration you must reset the device.
For a specific project where I'm not using LoRa or Ethernet, I’m looking to power them down. I couldn’t find a way to do this in the documentation—could you provide some guidance?
Follow the manual instructions for setting, but set auxiliaryPowerControlPin(PIN_INVALID). You'll need to reset the device then it will not turn on the power at boot.
Note that this will also make the 40-pin expansion connector 3V3 not powered.
I went to the datasheet and the power consumption of the ethernet chip WIZnet W5500 in POWER DOWN MODE (sleeping) doesn't look good for low power devices: 13 mA .
For low power setups with Muons, I believe the best approach would be to deactivate the 3v3_AUX, which unfortunately means we won't be able to use the QWIIC connector. Additionally, the 3v3 on the 40-pin expansion can't be used either.
You can still use 3V3_AUX peripherals, just not during sleep, if you want to conserve power.
Disable system management of the pin using auxiliaryPowerControlPin(PIN_INVALID).
Then just treat D7 as a regular GPIO. Set pinMode(D7, OUTPUT). Doing a digitalWrite(D7, 1) will turn on 3V3_AUX and 0 will turn it off.
If you're only awake for a short period of time such as to read a sensor and go back to sleep, the added power consumption during wake time will probably not be that significant.
The reason a reset is required after changing the power manager setting is that the power manager enables 3V3_AUX at boot, before user firmware runs, and also in safe mode.
However if you are not letting the power manager control 3V3_AUX, you can turn it on and off as desired, because it's just a GPIO (D7 on the Muon, D24 on the M.2 SoM breakout board) that controls a load switch (TPS22918) on the power module.
is there a way to find out if a device has already deactivated 3v3_AUX and reset?
This will help a program to decide whether it needs to execute the disable 3v3_AUX routine at boot or not. Otherwise I need to go use flag stored in nonvolatile memory for this, which I prefer not to.