⚠️ M5Stack Core2 v1.3 - Ouroboros-like power loop -
-
Hi all, I’m investigating a power management issue on the M5Stack Core2 (AXP192 + external SY7088 boost) and I’m looking for confirmation or a proper solution.
🔧 System Architecture (as implemented)
From schematic analysis and testing:AXP192 IPSOUT powers the system and the boost converter
// VBUS ALWAYS INPUT ENABLED writeAxpReg(0x30, 0x80);SY7088 generates 5V (when EXTEN = 1)
SY7088 output is directly connected to VBUS
VBUS is also connected back into the AXP192 as an input
ACIN is the real USB 5V inputSo effectively:
BAT → IPSOUT → SY7088 → VBUS → AXP192 → IPSOUT❗ Observed Problem
When running on battery:-Enable 5V output (EXTEN = 1)
-Disconnect USB cable
-Immediately, battery current jumps to ~450 mA
-System enters a self-sustained power loop🔍 Key Observations
EXTEN is correctly set (verified via register dumps, Reg 0x12 bit 6)
VBUS input is permanently enabled (Reg 0x30 = 0x80)
Boost converter behaves normally
Loop appears only when USB is disconnected💡 Root Cause
SY7088 output is physically tied to VBUS
AXP192 does not fully isolate VBUS internally
The supposed N_VBUSEN mechanism does NOT break the electrical path🔥 As a result:
BAT → boost → VBUS → AXP internal path → IPSOUT → boost...This leads to:
continuous energy circulation
high battery drain (~400 mA)
no stable operating point❓ Question to the community
Has anyone:- Observed this behavior on Core2 or similar AXP192 designs?
- Found a way to safely use 5V boost to power external accssories from battery without loop?
Thank you,
Cheers,
Adrian YO3HJV -
Finally, I solved it...
No need for 5V output on 5V_BUS because it came from magnetic base charger.
Therefore an interlock code was added:
--When 5V from battery is needed for external acc., VBUS== OFF & EXTEN==1;
--When magnetic base charger (or external 5V is applied to Socket Power (J3) on Bottom2, VBUS == INPUT & EXTEN==0.This way, the Bottom2 LED's and othe devices are powered with 5V in any situation.
Cheers,
Adrian -
Hello @YO3HJV
glad to hear you figured it out.
I was just setting up a test to see if I get this 400 mA power loop too with my M5Core2; but I do not.
When I set input mode I see about 82 mA drawn from the battery. When I set output mode I see about 99 mA drawn from the battery. (Note: an LED is connected to the Grove port.)
In case your still interested in my UIFlow2 test program. It's in UIFlow2 Project Zone called: M5Core2_Input_Output_Test_UIFlow2.4.6
Thanks
Felix -
Did you actually measured the current from the battery with a mA-meter?
I am working directly with the AXP192 registers, I tried something simple with UIFlow but was not to my taste...Here is the project:
Video: https://www.youtube.com/watch?v=Goauv9xGJqYAdrian
-
Hello @YO3HJV
yes, I measured the current from the battery with this mA-meter and also used the AXP192 registers.
Thanks
Felix -
@felmue Unfortunately, I can't find the AXP dump from that condition to double check but the current loop was there and was very annoying!
Oh, I think I missed to specify that the charging current of the LiPo cell was limited from registers to 360mA!
It was definetly a current loop but I solved it and this is what matters...
VBUS must be set to OFF when EXTEN is Enable otherwise the AXP IPS will try to charge the battery from itself after the voltage is raised to 5V through SY7088!Cheers,
Adrian
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login