Module for MCU controlled LiPo charging AND on/off control?

I’ve been looking at the available power control modules (and I’ve bought and tried a few of them), but none of them seem to do what I want… or maybe I’m using them wrong.

When my microcontroller board is plugged, in I’d like to use its built in LiPo charger to charge the LiPo battery, but when my MCU is NOT plugged into USB, I want it to be able to “turn off” the power completely to save the battery. I’m nit talking about deep sleep here, because this MCU burns too much power even in deep sleep. I want the MCU to be able to completely shut off off its battery power when it’s done doing its thing.

Here are the steps of my logic, but what I want the module to do is let the MCU disconnect the battery, but NOT prevent the MCU from charging the battery when the MCU is connected to USB:

  • - Button connected to GND initially turns on the MCU by grounding BAT_EN_LOW.
  • - MCU keeps the power on after the button is released by setting BAT_EN_PIN to HIGH.
  • - Normally current flows to the MCU via MCU_BAT, but when the MCU is connected to USB, D1 (diode) allows current to

    flow from the MCU via MCU_BAT to charge the LiPo battery.

  • Here it is in (not working) schematic form:

    https://share.icloud.com/photos/0tYEt8d … pXqpA0oW4A

    https://share.icloud.com/photos/0tYEt8d … pXqpA0oW4A

    This seems like it should be pretty simple, but I’m new to electronics and I just can’t seem to get it right. Is there a SparkFun module that will do most of this for me… or am I just going about this all wrong?

    Thanks!