Perhaps I should mention what I was doing before porting to the M5Unified API. I was using the M5.Axp API to read the input power status register and decoding it. That told me directly what I wanted to know, but it doesn't seem to be available in the current iteration of the M5Unified API.
Latest posts made by wjcarpenter
-
RE: Unexpected Vbus readings for M5StickC-Plus
-
Unexpected Vbus readings for M5StickC-Plus
I came across a mystery (well, at least a mystery to me) while porting some code to the M5Unified API. In trying to see if the USB power was unplugged, I came across the undocumented M5.Power.getVBUSVoltage() method. In following the source code all they way down, I can see that it's reading the VBus voltage from the AXP192 and then scaling it to return a value in millivolts.
I expected to be able to compare that result against 0 to decide if the USB cable was plugged in. When it is plugged in, I get readings a little above 5000 mV. However, when the cable is unplugged, I get readings around 830 mV. That's with the internal battery nearly fully charged. I don't know if the unplugged reading changes with the internal battery charge or with the M5StickC-Plus workload or whatever.
As a workaround, I'm comparing against 2000 mV instead of 0 mV to decide if the device is unplugged.
Where do those 830 mV come from?
-
RE: M5StickC &18650C Hat
@ckuehnel Did you ever figure this out? I just got my 18650 hat. I took it apart and also don't see any control circuitry. I'm now guessing that the USB connector on the hat simply feeds into the 5V input of the M5StickC, and the AXP192 inside the M5StickC controls the charge of the 18650 cell. There is some info in the AXP192 data sheet about a back-up battery, but it's been a while since I read it, and I'm not sure it's relevant.
One interesting thing ... I'm working on a project where I turn the display off after a few seconds if the M5StickC is not plugged in. Either by shrewd design or by my dumb luck, that works when the M5StickC is on the hat. ("It works" means the display turns off after a few seconds.)