Skip to the content
2 layers72 × 26.7 mmLiPo charger Rev 1.0, the printed circuit board in 3D

LiPo charger Rev 1.0

marksdude/Pikne1

A modular and repairable power bank

Size
72 × 26.7 mm
Copper layers
2
Thickness
0.8 mm
Parts
117
Nets
104
Pads
410
Tracks, vias
551, 127
Pours
18
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
18 Jul 2026
Updated
5 Nov 2026

Overview

LiPo charger Rev 1.0 is an open-source printed circuit board by marksdude, from the marksdude/Pikne repository on GitHub. It is a 2-layer board of 72 × 26.7 mm with 117 parts on 104 nets, routed with 551 tracks and 127 vias.

It is built around the TPS55288RPMR, ISOM8111DFGR and TVS2200DRV, with the AO3400A and FFC2B35-06-G among its other parts. Its parts include 48 resistors, 33 capacitors, 10 transistors, 9 ICs and 6 connectors. It belongs with the power boards and the STM32 boards of this library.

Main components

5

README

README.md

Pikne

A modular and repairable power bank

Example.jpg Picture of rev 1.0 nonworking build

Features:

  • USB PD output up to 60W
  • 0.91 inch OLED for status monitoring
  • Attachable modules
  • Repairable design
  • 80WH capacity
  • Based on the BQ25792 and TPS25751
  • One USB-C output

Modules:

  • LED controller - Allows you to control LEDs with Home Assistant.
    • Features:
      • Up to 2.5A output
      • 5V output
      • Home Assistant integration
      • Power monitoring on each output
      • 2 monochrome outputs, 1 RGB output and 1 addressable LED output
        • Note: RGB and the monochrome outputs can't be used simultaneously.
      • ESP32-C3 based

LED controller.png

  • Flashlight
    • Features:
      • 6600lm max brightness
        • Note: The LEDs probably won't be able to run at max brightness for very long.
      • PWM dimmable
      • STM32L011F3 based

Coming modules

  • LiPo charger - Allows you to charge up to 4S LiPos from your power bank

How does it work?

Core functionality comes from the TPS25751 and BQ25792 combination.

The TPS25751 is a USB-C PD controller IC. It handles PD negotiations, manages the BQ25792 and also has integrated I2C control for the BQ25792, which simplified firmware development.

The BQ25792 is a battery charger IC with support for USB-C PD output. It charges the battery and generates higher voltages (9V, 12V, 15V, 20V) for the USB C PD output. For 5V there is a separate regulator.

For example, if you connect a device you want to charge, first your device negotiates its required voltage and current with the TPS25751. Then the TPS25751 asks the BQ25792 to generate the requested voltage if it is above 5V. Once the correct voltage is available, the TPS25751 enables the output and your device starts charging.

An ATmega328P acts as the main controller. It monitors everything, handles faults, displays battery information and communicates with the modules.

The BMS is based on the BQ41Z50, a 2-4S battery manager IC. It has all the necessary protections needed for a lithium-ion battery pack and monitors its SoC (State of Charge). The ATmega328P requests battery information from the BMS over SMBus.

Modules can communicate with the power bank over UART through the pogo pins above the USB-C port. A connected module is idendified with an ID number sent by the module (1 for LED controller, 2 for Flashlight). The module can then request battery information or use the button on the power bank for additional control.

LED controller

The LED controller is based on an ESP32-C3-WROOM-02U that is running ESPHome. There are 3 external MOSFETs that are used for the two monochrome outputs and one RGB output. An RGB output needs three MOSFETs, one for each color channel. Since there are only three, the monochrome outputs have to be connected together with two of the RGB channels. This is why the monochrome and RGB outputs can't be used simultaneously. INA219s are used for monitoring power draw of each output.

Wiring

All of the smaller connectors are JST-ZH, while the battery connectors are JST-VH.
The main PCB has 4 connectors. One goes to the pogo connector, two to the BMS and one is for programming.

Main PCb connectors.png

On the BMS two connectors go to the main PCB and two to the battery pack.

BMS connectors.png

The battery is connected in a 2S2P configuration. There are cutouts in the bottom of the battery holder for routing the wires and for the thermistors. BAT+ and BAT- connect to the BMS input, thermistors and the balance lead connect to the BMS battery sense connector.

The button has to be soldered to the main PCB. The pogo connector is connected to the main PCB.

LED controller

Not much wiring to do here just connect the pogo connector to the PCB.

Output pinout:

LED controller pinout.png

Firmware

Firmware is currently very limited. Version 0.1 has a basic menu to check some battery information, that's about it. It relies on the ArduinoSMBus library for communicating with the BMS and the Adafruit_SSD1306 and Adafruit GFX Library libraries for drawing on the OLED. I plan to move away from these libraries in the future.

There is still a lot left to be implemented.

Why did I make this?

It all started because I was tired of changing the AA batteries in my mom's battery-powered lights. I wanted to make the process faster and less wasteful, so I thought it would be a good idea to design an easily removable, rechargeable battery pack for the lights and also integrate them with Home Assistant. The original idea was going to have 2 parts the battery pack and a controller board. They were supposed to be held together with magnets, connected with pogo pins and communicate over UART. Then I thought, why not turn the battery pack into a power bank so it could be used for things other than the lights? That's what I did. The idea of making the battery pack easily removable led me to make the power bank modular. That's how Pikne was born.

Parts

117
QtyValueFootprintReferences
120.1ufCapacitor_SMD:C_0402_1005MetricC4, C5, C6, C7, C12, C13, C20, C23, C26, C30, C31, C33
5100kResistor_SMD:R_0603_1608MetricR15, R16, R17, R18, R38
510kResistor_SMD:R_0402_1005MetricR1, R6, R24, R28, R40
5AO3400APackage_TO_SOT_SMD:SOT-23Q1, Q2, Q5, Q6, Q9
410ufCapacitor_SMD:C_1206_3216MetricC1, C2, C3, C8
41kResistor_SMD:R_0402_1005MetricR9, R10, R11, R12
422kResistor_SMD:R_0402_1005MetricR20, R21, R22, R23
422ufCapacitor_SMD:C_1206_3216MetricC11, C14, C15, C16
450Resistor_SMD:R_0603_1608MetricR2, R13, R25, R30
310kResistor_SMD:R_0603_1608MetricR31, R34, R35
310ufCapacitor_SMD:C_0603_1608MetricC22, C27, C29
31ufCapacitor_SMD:C_0603_1608MetricC17, C18, C24
3220Resistor_SMD:R_0603_1608MetricR5, R19, R27
34.7kResistor_SMD:R_0603_1608MetricR42, R43, R44
3430Resistor_SMD:R_0603_1608MetricR3, R14, R26
3DMP3014SFDE-13MOSFET:DMP1022UFDEQ7Q7, Q8, Q10
3ISOM8111DFGRSOP254P700X240-4N:SOP254P700X240-4NIC1, IC3, IC4
3TestPointTestPoint:TestPoint_Pad_D1.0mmTP1, TP2, TP3
21ufCapacitor_SMD:C_0402_1005MetricC19, C21
2NTTFS5C454NLTAGMOSFET:WDFN8_3.3X3.3_0.65P_CASE_511AB_ISSUE_D_1Q3, Q4
10.1ufResistor_SMD:R_0402_1005MetricC25
1100Resistor_SMD:R_0402_1005MetricR41
1100Resistor_SMD:R_0603_1608MetricR33
1100kResistor_SMD:R_0402_1005MetricR46
110mResistor_SMD:R_1206_3216MetricR32
1135kResistor_SMD:R_0402_1005MetricR48
1150kResistor_SMD:R_0402_1005MetricR29
11kResistor_SMD:R_0603_1608MetricR37
1200pfCapacitor_SMD:C_0402_1005MetricC9
120kResistor_SMD:R_0603_1608MetricR8
122kResistor_SMD:R_0603_1608MetricR39
122ufCapacitor_SMD:C_0805_2012MetricC28
13.3uhInductor:INDC3225X120NL2
130kResistor_SMD:R_0402_1005MetricR45
14.7ufCapacitor_SMD:C_0603_1608MetricC10
14.7uhInductor_SMD:L_Bourns_SRP1038C_10.0x10.0mmL1
1470Resistor_SMD:R_0402_1005MetricR36
147pfCapacitor_SMD:C_0201_0603MetricC32
149.9kResistor_SMD:R_0402_1005MetricR7
150kResistor_SMD:R_0402_1005MetricR47
16.19kResistor_SMD:R_0603_1608MetricR4
1BatteryConnector_JST:JST_VH_B2P-VH-B_1x02_P3.96mm_VerticalJ1
1Conn_01x04_SocketConnector_JST:JST_ZH_B4B-ZR_1x04_P1.50mm_VerticalJ6
1Conn_01x05_SocketConnector_JST:JST_XH_S5B-XH-A_1x05_P2.50mm_HorizontalJ2
1D_SchottkyDiode_SMD:D_SOD-323_HandSolderingD2
1D_ZenerDiode_SMD:D_SOD-323_HandSolderingD1
1ER_OLEDM0.91_1x-I2CDisplay:ER_OLEDM0.91_1x-I2CU3
1FFC2B35-06-GFFC2B3506G:FFC2B3506GJ4
1NetTie_2NetTie:NetTie-2_SMD_Pad0.5mmNT1
1STM32L011G3UxPackage_DFN_QFN:QFN-28_4x4mm_P0.5mmU4
1STUSB4500QTRPackage_DFN_QFN:QFN-24-1EP_4x4mm_P0.5mm_EP2.7x2.7mmU2
1SW_PushButton_Switch_SMD:SW_SPST_B3U-1000PSW1
1TPS55288RPMRbuck_boost:TPS55288RPMRIC2
1TPS562246DRLRSOTFL50P160X60-6N:SOTFL50P160X60-6NU5
1TVS2200DRVPackage_SON:WSON-6-1EP_2x2mm_P0.65mm_EP1x1.6mmU1
1UARTConnector_JST:JST_ZH_B3B-ZR_1x03_P1.50mm_VerticalJ5
1UP32-1-C-H-G-BMT-P24UP32-1-C-H-G-BMT-P24:SAMESKY_UP32-1-C-H-G-BMT-P24J3

The 115 most common of 117 parts.

More from marksdude/Pikne

7
  • 4 layers60 × 30 mmPikne Rev 1.1, the printed circuit board in 3D

    Pikne Rev 1.1

    marksdude/Pikne

    A modular and repairable power bank

    112 parts1
  • 2 layers73 × 20.8 mmLED driver Rev 1.1, the printed circuit board in 3D

    LED driver Rev 1.1

    marksdude/Pikne

    A modular and repairable power bank

    67 parts1
  • 2 layers74 × 21.5 mmLED, the printed circuit board in 3D

    LED

    marksdude/Pikne

    A modular and repairable power bank

    38 parts1
  • 4 layers50.9 × 18 mmBMS Rev 1.1, the printed circuit board in 3D

    BMS Rev 1.1

    marksdude/Pikne

    A modular and repairable power bank

    35 parts1
  • 2 layers25 × 6.5 mmConnector, the printed circuit board in 3D

    Connector

    marksdude/Pikne

    A modular and repairable power bank

    7 parts1
  • 2 layers37.5 × 10 mmConnector, the printed circuit board in 3D

    Connector

    marksdude/Pikne

    A modular and repairable power bank

    5 parts1

Similar boards

  • 4 layers100 × 100 mmCarradio peripheral rev05, the printed circuit board in 3D

    Carradio peripheral rev05

    gschuurman/android_vendor_gschuurman_vehicle_interfaces

    vehicle interfaces for android automotive for a custom headunit

    211 parts
  • 4 layers107.2 × 83.8 mmPd test, the printed circuit board in 3D

    Pd test

    Yuan-Quan/pet-climate-control

    74 parts
  • 4 layers85 × 40 mmWled controller, the printed circuit board in 3D

    Wled controller

    electro-practically/wled-controller

    WLED ESP32 controller powered by USB-C Power Delivery.

    99 partsCERN-OHL-P-2.0
  • 4 layers58 × 49 mmCryocooler board, the printed circuit board in 3D

    Cryocooler board

    8423/cryocooler-board

    A 4-layer power and control board for a Ricor K508N cryocooler. It does two jobs, both controlled over I²C:

    54 parts
  • 6 layers133 × 102 mmIasis, the printed circuit board in 3D

    Iasis

    hydazz/iasis

    An optional Raspberry Pi Compute Module 5 carrier for Iasis. It plugs into the main board's HubPD population and carries Ethernet, NVMe storage, an accessory USB-C port and a service USB-C port.

    723 partsApache-2.0
  • 4 layers101.2 × 24 mmCharger module, the printed circuit board in 3D

    Charger module

    mikesmitty/power-manifold

    Six-port USB-C power supply: up to 100 W per port from one 24 V supply, with per-port control, priority-based power sharing and Home Assistant support. 100% local, no cloud required.

    90 parts3MIT
  • 2 layers60 × 30.1 mmTPS55289, the printed circuit board in 3D

    TPS55289

    zOnlyKroks/pcb-consortium

    36 partsCC0-1.0
  • 6 layers133 × 92 mmMotherboard, the printed circuit board in 3D

    Motherboard

    byrantech/laptop

    anyon_e, a highly integrated, high end, open source laptop. Attempt the impossible.

    264 parts4.3kMIT

Questions

How big is the LiPo charger Rev 1.0 PCB?

It measures 72 × 26.7 mm and has 2 copper layers, 0.8 mm thick.

What parts does the LiPo charger Rev 1.0 use?

117 parts, built around the TPS55288RPMR, ISOM8111DFGR, TVS2200DRV and AO3400A. 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 LiPo charger Rev 1.0 KiCad files?

From the marksdude/Pikne repository on GitHub, at the commit this page was made from: the board is Modules/LiPo charger/PCB/LiPo charger Rev 1.0.kicad_pcb and its schematic BMS/BMS Rev 1.1.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the LiPo charger Rev 1.0 design in my own project?

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