AXP2101 PMU eFuse configuration after replacement – help needed

Hi everyone,

I accidentally inserted my battery in reverse, which killed the AXP2101 PMU on my PicoCalc. I replaced it with an AXP2101 sourced from LCSC, but ran into some issues I hope someone here can help with.

ClockworkPi support unfortunately wasn’t very helpful — they just pointed me to Google for the datasheet — so I’m hoping the community might have more hands-on experience.

After some digging, I realized the original AXP2101 appears to have custom factory eFuse settings that differ from the picocalc version. Because of this, I had to modify the STM32 firmware to set the output voltages correctly. Could anyone confirm whether all rails need to be set to 3.3V? Specifically: DCDC1, ALDO1–4, and BLDO1/2?

The second problem is with power control. As soon as I connect the battery or USB, the device powers on automatically. I can live with that, but the bigger issue is that I can’t turn it off — pressing the power button causes it to immediately turn back on.

As a workaround, I’ve modified the STM32 firmware to put the PMIC into “sleep” mode turning of the powerrails instead of a proper shutdown, which works for now but doesn’t feel like the right solution.

Questions

  • Has anyone else run into this after replacing the AXP2101?
  • Is there any documentation on the specific eFuse configuration used in the PicoCalc?
  • Is there a known source for a pre-configured replacement AXP2101 with the correct eFuse settings?
  • Is there a cleaner workaround for the power button issue when using a “vanilla” AXP2101?

Any help or pointers would be greatly appreciated. Thanks!

1 Like

OOF.

The efuses should be programmable, the hard part is getting the programming method. But it looks like they’re basically only setting defaults for various registers which can be overridden. So your problem is really just with the registers that have changed defaults that the firmware isn’t explicitly setting, and a modified firmware should be enough to restore proper function.

Just need someone to make a register dump from their stock picocalc’s axp2101 so you can check the differences. I’ll see what I can do.

A replacement board is on its way. Maybe I’ll compare the efuses of the chips and see what I can do about patching the firmware to support standard AXP2101 versions.