Skip to the content
4 layers61.4 × 42.6 mmESP Smart IoT Power Bank, the printed circuit board in 3D

ESP Smart IoT Power Bank

LUntiedt/Smart_IOT_PowerBank_PCB1

A bidirectional USB-C Power Delivery (PD) power bank built around a software-defined PD stack and an I²C buck-boost charger. This repository holds the KiCad hardware design (schematic, layout, BOM, fabrication outputs).

Size
61.4 × 42.6 mm
Copper layers
4
Thickness
1.64 mm
Parts
98
Nets
61
Pads
380
Tracks, vias
507, 293
Pours
303
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
1 Jun 2026
Updated
9 Jul 2026

Overview

ESP Smart IoT Power Bank is an open-source printed circuit board by LUntiedt, from the LUntiedt/Smart_IOT_PowerBank_PCB repository on GitHub. It is a 4-layer board of 61.4 × 42.6 mm with 98 parts on 61 nets, routed with 507 tracks and 293 vias.

It is built around the ESP32-C3-WROOM-02-H4, FUSB302B11MPX and TPS54202HDDCR, with the TVS2200DRVR, BQ25792RQMR and CSD17581Q3A among its other parts. Its parts include 47 capacitors, 27 resistors, 6 ICs, 5 connectors and 4 diodes. It belongs with the power and home automation and IoT boards and the ESP32 and RISC-V boards of this library.

Main components

7

README

README.md

Smart IoT Power Bank — Hardware (PD Edition)

A bidirectional USB-C Power Delivery (PD) power bank built around a software-defined PD stack and an I²C buck-boost charger. This repository holds the KiCad hardware design (schematic, layout, BOM, fabrication outputs). The firmware lives in a separate repository.

Firmware: smart-iot-power-bank-firmware


Smart IoT Power Bank PCB
Smart IoT Power Bank


1. Overview

The board implements a professional power-management architecture comparable to those found in modern laptops. The same USB-C port handles input (sink) and output (source/OTG), limited to a robust 30 W. Energetic characterization (V/I telemetry, efficiency) is done entirely with the internal 16-bit ADCs of the charge controller, avoiding external sense amplifiers.

PropertyValue
TopologyBidirectional USB-C PD (sink + source)
Battery4S1P Li-ion, 14.8 V nominal (~45 Wh) with integrated protection BMS
Max power30 W (5 V / 9 V / 12 V / 15 V / 20 V profiles)
MCUESP32-C3 (Wi-Fi/BLE)
ChargerTI BQ25792 I²C buck-boost
PD PHYonsemi FUSB302B
Logic railTPS54202 buck → 3.3 V
EDA toolKiCad
Fab houseAisler (stackup & design rules tuned to Aisler)

2. Hardware Architecture

A. Power Path & USB-C Communication

DesignatorPartFunctionSystem Role
U3BQ25792RQMR (TI)I²C buck-boost chargerHandles charging (buck) and discharging (OTG/boost) in hardware. Single inductor L1 (2.2 µH).
U1FUSB302B11MPX (onsemi)USB Type-C PD PHYMonitors the CC pins and translates PD signalling into I²C messages for the MCU.
U6TPS54202HDDCR (TI)2 A step-downGenerates a clean 3.3 V logic rail from the fluctuating system voltage. Inductor L2 (10 µH).
Q1, Q2CSD17581Q3A (TI)Dual N-channel MOSFETsBack-to-back FETs for reverse-polarity protection / VBUS load isolation; block reverse current from the USB port into the system.
J2Würth WR-MPC4 64900311122Battery connectorConnects the external 4S1P 18650 pack (14.8 V, ~45 Wh, with internal BMS).

B. Protection (TVS / ESD / Clamps)

DesignatorPartFunctionNotes
U2, U4TVS2200DRVR (TI)Flat-clamp surge protectionVBUS TVS — tight clamping on the high-current bus.
D2, D4TPD4E05U06DQAR (TI)4-channel low-cap ESDProtects CC lines and the differential pairs without loading the high-speed signals.
D1ZLLS350 (Diodes Inc.)40 V SchottkyPower-path / bootstrap diode.
Z1MMSZ5242B12 V ZenerRail clamp.

C. Sensing & Intelligence (IoT layer)

DesignatorPartFunctionEngineering benefit
U5ESP32-C3-WROOM-02-H4 (Espressif)Master MCUFSM control, software PD stack, I²C master, BLE server.
—BQ25792 (internal)16-bit ADC telemetryReads V_BUS, I_BUS, V_BAT, I_BAT from the charger — no external current sensors.
(TS pin)10 k NTCThermistorCell temperature monitoring via the BQ25792 TS pin.
J51×04 headerOLED / I²C0.96" OLED for local PD-profile and efficiency readout.

D. Connectors, Switches, Indicators

DesignatorPartFunction
J1, J3USB-C receptacle (Würth 629722000214)Two USB-C ports — see differential-pair routing below.
J42×03 headerProgramming / debug header.
SW1, SW2Würth tactile 434121025816Boot / reset buttons.
D3Green LED (Würth)Status indication.

Full part list with manufacturer numbers, footprints and datasheets: ESP_Smart_IoT_Power_Bank.csv.


3. Engineering Features & Physics

I. Cascaded Power Supply (Logic Isolation)

To avoid system reboots under heavy load, the supply is cascaded:

  1. Primary stage — the BQ25792 generates the system rail V_SYS from the 4S pack.
  2. Secondary stage — a dedicated TPS54202 bucks V_SYS down to a constant 3.3 V for the logic. The ESP32 therefore always sees a clean rail, independent of current spikes in the power stage.

II. Efficient 4S Power Routing (Buck & OTG)

The 4S pack (14.8 V) minimizes conversion losses:

  • Buck mode (sink): at 20 V input the IC acts as an efficient step-down.
  • Buck/boost mode (source): in OTG, 5 V / 9 V / 12 V are produced highly efficiently by buck conversion; only 20 V profiles (e.g. laptops) require a slight boost.

III. Thermal & Electrical Derating

Thanks to the 4S configuration, PCB currents stay below 3 A even at 30 W:

text
I_bat_max = P_out / (U_bat · η)
I_bat_max = 30 W / (12.0 V · 0.9) ≈ 2.7 A   (worst case, empty pack)

On overheat (NTC > 60 °C) the ESP32 throttles PD power via software re-negotiation down to 5 W (5 V / 1 A) as a fallback.


4. PCB Stackup & Layout

4-layer board, built to Aisler's stackup and design rules.

LayerRole
TopPower / Signal
Inner 1GND
Inner 2GND
BottomPower / Signal

The dual inner ground planes give the high-speed pairs a continuous reference and a low-impedance return for the power stage.

Differential pairs

Two impedance-controlled 90 Ω differential pairs (USB 2.0 spec):

  1. USB power port (BQ25792): backwards-compatible USB data for the power path.
  2. Debug/flash port (ESP32-C3): USB used to flash and debug the MCU.

Both pairs are protected by the low-capacitance TPD4E05U06 ESD arrays so the added capacitance does not degrade signal integrity.

Layout guidelines

  • Ground partitioning — clean ground concept separating the power stage (BQ25792) from the logic (ESP32 / TPS54202).
  • Copper polygons — power paths (V_BUS, V_BAT, V_SYS) routed as filled polygons.
  • Thermal management — implemented high power rails on both sides of the board to increase thermal capacity and placing a generous amount of vias to distribute current evenly

5. Design Decisions Log

  • Dual-MOSFET reverse-polarity protection (Q1/Q2, CSD17581Q3A) instead of a single series diode — near-zero conduction loss on the power path.
  • VBUS TVS (TVS2200) for surge clamping on the high-current bus.
  • Low-capacitance TVS/ESD (TPD4E05U06) on CC lines and the differential pairs to preserve signal integrity.
  • Two 90 Ω impedance-controlled diff pairs: one for backwards-compatible USB power data (BQ), one dedicated to flashing/debugging the MCU.
  • Aisler chosen as fab house — the stackup and design rules in this project are tuned to Aisler's process.

6. Status

Hardware design in KiCad. See the firmware repository for the FreeRTOS PD stack.

Parts

98
QtyValueFootprintReferences
1810u00_PowerBank_FTP:C_Wurth_WCAP-CSGP-1206_H1.6C13, C14, C15, C16, C21, C22, C23, C24, C25, C27, C28, C29, C31, C32, C36, C42 +2
10100n00_PowerBank_FTP:C_Wurth_WCAP-CSGP-0402C5, C7, C17, C18, C20, C30, C33, C37, C41, C44
610k00_PowerBank_FTP:R_Wurth_WRIS-RSKS-0402R14, R15, R17, R19, R23, R25
51u00_PowerBank_FTP:C_Wurth_WCAP-CSGP-1206_H1.6C2, C3, C6, C38, C40
2100k00_PowerBank_FTP:R_Wurth_WRIS-RSKS-0402R8, R26
21M00_PowerBank_FTP:R_Wurth_WRIS-RSKS-0402R3, R16
21k00_PowerBank_FTP:R_Wurth_WRIS-RSKS-0402R13, R18
21n00_PowerBank_FTP:C_Wurth_WCAP-CSGP-0402C1, C35
222u00_PowerBank_FTP:C_Wurth_WCAP-CSGP-1206_H1.6C45, C46
2330p00_PowerBank_FTP:C_Wurth_WCAP-CSGP-0402C9, C10
243412102581600_PowerBank_FTP:SW_Wurth_WS-TASV_434121025816SW1, SW2
247n00_PowerBank_FTP:C_Wurth_WCAP-CSGP-0402C12, C19
24k700_PowerBank_FTP:R_Wurth_WRIS-RSKS-0402R11, R12
24n700_PowerBank_FTP:C_Wurth_WCAP-CSGP-0402C11, C39
25k100_PowerBank_FTP:R_Wurth_WRIS-RSKS-0402R20, R21
2CSD17581Q3A00_PowerBank_FTP:CSD17581Q3A_LorenzonFQ1, Q2
2MountingHoleMountingHole:MountingHole_3.2mm_M3_ISO14580H1, H2
2TPD4E05U06DQAR00_PowerBank_FTP:DQA_R-PUSON-N10_D2, D4
2TVS2200DRVR00_PowerBank_FTP:SON65P200X200X80-7NU2, U4
2USB_C_Receptacle_USB2.0_16P_Wuerth_Lorenzo00_PowerBank_FTP:629722000214J1, J3
110.0 uH00_PowerBank_FTP:L_Wurth_WE-LHMI-7050L2
110000_PowerBank_FTP:R_Wurth_WRIS-RSKS-0402R5
110n00_PowerBank_FTP:C_Wurth_WCAP-CSGP-0402C4
1127k00_PowerBank_FTP:R_Wurth_WRIS-RSKS-0402R6
112V00_PowerBank_FTP:SOD3716X145NZ1
1200_PowerBank_FTP:R_Wurth_WRIS-RSKS-0402R1
12.2 uH00_PowerBank_FTP:L_Wurth_WE-LHMI-7030L1
122k100_PowerBank_FTP:R_Wurth_WRIS-RSKS-0402R27
127k00_PowerBank_FTP:R_Wurth_WRIS-RSKS-0402R7
12k200_PowerBank_FTP:R_Wurth_WRIS-RSKS-0402R4
130100_PowerBank_FTP:R_Wurth_WRIS-RSKS-0402R2
130k100_PowerBank_FTP:R_Wurth_WRIS-RSKS-0402R10
140V00_PowerBank_FTP:SODFL1608X65ND1
147n00_PowerBank_FTP:C_Wurth_WCAP-CSGP-0603_RC34
149.900_PowerBank_FTP:R_Wurth_WRIS-RSKS-0402R24
14u700_PowerBank_FTP:C_Wurth_WCAP-CSGP-1206_H1.6C26
1510k00_PowerBank_FTP:R_Wurth_WRIS-RSKS-0402R22
156p00_PowerBank_FTP:C_Wurth_WCAP-CSGP-0402C47
15k2300_PowerBank_FTP:R_Wurth_WRIS-RSKS-0402R9
16490031112200_PowerBank_FTP:J_Wurth_WR-MPC4_64900311122J2
1BQ25792RQMR00_PowerBank_FTP:BQ25792RQMRU3
1Conn_01x04_PinConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ5
1Conn_02x03_Odd_EvenConnector_PinHeader_2.54mm:PinHeader_2x03_P2.54mm_VerticalJ4
1ESP32-C3-WROOM-02-H400_PowerBank_FTP:ESP32C3WROOM02H4U5
1FUSB302B11MPX00_PowerBank_FTP:QFN50P250X250X80-15NU1
1Green00_PowerBank_FTP:D_Wurth_WL-SMCW-0603D3
1TPS54202HDDCR00_PowerBank_FTP:SOT95P280X110-6NU6

Similar boards

  • 4 layers55 × 35 mmStandalone Mini PC BMS - Rev 1.1, the printed circuit board in 3D

    Standalone Mini PC BMS - Rev 1.1

    dmcke5/MiniPC_BMS

    An all in one power managment solution for powering mini pc's with batteries!

    113 parts60CERN-OHL-S-2.0
  • 4 layers85 × 55 mmSmartMultiCell, the printed circuit board in 3D

    SmartMultiCell

    8aChristian/-Smart-Multi-Cell-BMS-USB-C-Power-Delivery-Hub-2S-3S-45W-65W-

    The Smart Multi-Cell BMS & USB-C Power Delivery Hub is an industrial-grade, high-reliability power management hardware system designed for high-performance multi-cell portable devices, robotics, industrial IoT, and…

    44 partsMIT
  • 6 layers63 × 73.2 mmChris, the printed circuit board in 3D

    Chris

    dashonigkuchen/embedded-projects

    A collection of embedded development projects, experiments, and hardware/software prototypes.

    89 partsMIT
  • 4 layers76.2 × 15.2 mmUsb c, the printed circuit board in 3D

    Usb c

    jessfraz/usbc-pal

    This is a slighly modified version of pd-buddy.

    34 parts10
  • 4 layers203.1 × 155.8 mmNixie 2025 v3, the printed circuit board in 3D

    Nixie 2025 v3

    moro696/nixie-clock

    here i will post documentation for the nixie clock project.

    147 parts1GPL-3.0
  • 4 layers85 × 48.6 mmGPS Compass, the printed circuit board in 3D

    GPS Compass

    bismarx-v1/GPS-Compass

    The compass that doesnt point to north, but it points to a GPS location, or a list of locations and points to the nearest one

    120 parts1

Questions

How big is the ESP Smart IoT Power Bank PCB?

It measures 61.4 × 42.6 mm and has 4 copper layers, 1.64 mm thick.

What parts does the ESP Smart IoT Power Bank use?

98 parts, built around the ESP32-C3-WROOM-02-H4, FUSB302B11MPX, TPS54202HDDCR and TVS2200DRVR. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the ESP Smart IoT Power Bank KiCad files?

From the LUntiedt/Smart_IOT_PowerBank_PCB repository on GitHub, at the commit this page was made from: the board is ESP_Smart_IoT_Power_Bank.kicad_pcb and its schematic Charge_Controller.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the ESP Smart IoT Power Bank design in my own project?

Its repository states no licence, so its author keeps all rights: ask LUntiedt before reusing the design.