u/HotSecret9280

Power Path Management

Hi everyone,

Just a newbie. I’m designing a small battery-powered ESP32 HID device/keychain. I’m currently prototyping with an ESP32-C3, but I plan to move to an ESP32-S3 because I want USB HID through the ESP32’s native USB.

My question is about power-path management / load sharing.

The device will have:

  • 1-cell LiPo battery
  • charging circuit, possibly TP4056 for now
  • ESP32-S3
  • buttons/joystick and other small peripherals
  • one USB-C port only

What I want:

  • The same USB-C port should charge the battery
  • The same USB-C port should also connect to a laptop for USB HID
  • The device should be usable while plugged in
  • The battery should not backfeed into the laptop/USB port
  • USB power and battery power should not fight each other
  • Charging should still work safely while the ESP32 is running

My concern:
If the battery has power and I plug the ESP32-S3 USB port into my laptop for USB HID, could the battery or charger circuit backfeed into USB and damage something? I know a basic TP4056 module is usually just for charging and does not provide true load sharing or power-path management.

How should I design the schematic so I only need one USB-C port for both charging and USB HID?

Should the USB-C VBUS go to both:

  1. the battery charger input, and
  2. the ESP32-S3 USB VBUS sensing/power path?

Do I need:

  • a dedicated LiPo charger with power-path/load-sharing?
  • ideal diodes / Schottky diodes?
  • a power mux?
  • a boost converter to 5V, or should I regulate the LiPo directly to 3.3V?
  • USB VBUS protection to prevent battery backfeed?

I’m trying to understand the proper block diagram before making the KiCad schematic.

A rough target behavior would be:

  • USB plugged in: system runs from USB, battery charges
  • USB unplugged: system runs from battery
  • no backfeeding from battery to USB
  • ESP32-S3 USB D+/D- still connects to laptop for HID

What is the recommended beginner-safe schematic approach for this? How about the battery over charging management?

reddit.com
u/HotSecret9280 — 1 day ago