One more thing: Check that the 5Vout goes off when the M5dial is sleeping and when it is powered off.
Cognitive5525
@Cognitive5525
Posts made by Cognitive5525
-
RE: M5Dial, high power consumption during deep sleep.
-
RE: M5Dial, high power consumption during deep sleep.
I haven't studied all the details of the M5Dial schematic and I don't have one for testing myself so these are just some suggestions shot from the hip:
Check what the power consumption is when it is powered down. There should be a similar function called powerOff(). Referring to my previous explanations in your other thread about the RTC, the power consumption after powerOff() and timerSleep() should the same. If you see a difference there might be a problem with the timerSleep() in the firmware.
You could also try to cycle the 12V externally and see what the consumption is before the M5Dial is switched on. This however, will only work if the power logic is not made so that the device switch on as soon as external power is applied.
Above tests should be done without an "internal" Li-Ion battery attached, but you could also try to measure the consumption from this battery without the external 12V power source. This will tell you whether the power consumption is from the power circuit for external power (buck conv. and Li-Ion Chg.) or from the main part of the M5Dial (ESP, display etc). Again you should measure the same three things as above: powerOff(), timerSleep() and just after having connected the battery.
-
RE: M5Dial, high power consumption during deep sleep.
Try to supply it with a battery (disconnect the source from the Vin green conn.) and measure the consumption from the battery while having the unit in sleep mode.
-
RE: M5Dial, high power consumption during deep sleep.
Further..... your are measuring the current consumption on the Vin (I assume the green connector you mentioned) which seems to be connected directly to a buck converter (ME3116....) which in turn supplies also directly( i.e. always) the board battery charger (TP4057).
So:
- The Buck converter will have some kind of idle consumption (I haven't checked the data sheet.)
- if the battery is being charged it could draw some significant current..
-
RE: M5Dial, high power consumption during deep sleep.
In think my last reply in your other thread about the RTC might give some insight to why you (probably) can't do it like this with the M5dial
-
RE: M5Dial generate interrupt from RTC?
@happyuser said in M5Dial generate interrupt from RTC?:
I assume your conclusion is then also : no wake-up with RTC interrupt?
Uhm no, or yes.... maybe.... depending of how you define "wake-up"🤔 ☺️
When Q3 goes on the hole board including the ESP32 is switched on so in my book the RTC can "wake up" the hole board. Of course you could say that this is more like "switching on" than "waking up".
But in fact, when ESP32 is in its "native" deep-sleep the main CPU is also effectively switched off which means it needs to boot completely from scratch when it "wakes up" from that state. Now, it is correct that there are some build in features to test for the reason of the boot and then have the program act on that, but that is actually also possible with the circuit M5Stack built. There is a signal called "wake" connected to GPIO42 which will indicate for the ESP32 whether it was started by the push button (S1) or by the INT signal from the RTC chip.
I can only speculate in why M5Stack has chosen not to use the build in ESP32 RTC/deep sleep functionality but here is two reasons:
- If the board as a hole needs to have a very low power consumption in (deep)sleep mode it is not enough to just have ESP sleep there are other chips or circuits that may still consume "a lot" just by having Vcc applied. So you need the MOSFET switches any way for a "good sleeping" board and
- the BM8563 seems to consume less than the ESP32 built-in RTC about ~2-3µA vs 10µA
-
RE: M5Dial generate interrupt from RTC?
The hole board including the ESP32 but except the RTC is switched off when "sleeping" and INT draws Q3 on to connect Vbat to the main power circuit. Short after boot the ESP32 must draw GPIO46 (HOLD) high to hold/keep the board powered on.
-
RE: BUG: in Power.timerSleep() UIFlow2.0 for Core-INK
@felmue said in BUG: in Power.timerSleep() UIFlow2.0 for Core-INK:
If you revert your change do the two 'bad' boards start to fail again or are they 'cured' now?
They start to fail again. At least some kind of consistence 😏
We have 30+ Core INK running on battery as "IoT-devices". The program is written in Micropython on the UiFlow 1.x firmware but also here some devices does not always work well with the old/current m5stack.power.restart_after_seconds(sec)
So I had hoped this would be better in UIFlow2.0 so we could port the program - but no.Now my dilemma is whether to stay on UIFlow 1.x or wait for M5Stack to maybe solve this issue in UIFlow2.0 (I hope you are reading this thread M5Stack😉) or to port the hole thing to C++ where I have some more freedom to fix "low-level" issues like this.
-
RE: Centering A Label in M5Stack Core S3
Statically you can center a label in the UI-editor.
Dynamically not so easy as far as I can see, because there is no way to get the width and height of a particular string. If your program is only outputting a known set of strings you could make a small table (dictionary or similar) with the "center coordinates" for each string....