

A modular and repairable power bank
- Size
- 74 × 21.5 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 38
- Nets
- 18
- Pads
- 69
- Tracks, vias
- 11, 0
- Pours
- 17
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 18 Jul 2026
- Updated
- 5 Nov 2026
Overview
LED is an open-source printed circuit board by marksdude, from the marksdude/Pikne repository on GitHub. It is a 2-layer board of 74 × 21.5 mm with 38 parts on 18 nets, routed with 11 tracks and 0 vias.
README
README.mdPikne
A modular and repairable power bank
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
- Features:

- 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
- 6600lm max brightness
- Features:
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.
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.

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

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:

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
38| Qty | Value | Footprint | References |
|---|---|---|---|
| 30 | LED | LED:Q9LR37 | D1, D2, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23 +14 |
| 2 | TestPoint | TestPoint:TestPoint_Pad_D3.0mm | TP1, TP2 |
| 1 | TestPoint | TestPoint:TestPoint_Pad_D1.5mm | TP3 |
| 1 | Thermistor_NTC | Resistor_SMD:R_0402_1005Metric | TH1 |
The 34 most common of 38 parts.
Questions
How big is the LED PCB?
It measures 74 × 21.5 mm and has 2 copper layers, 1.6 mm thick.
What parts does the LED use?
38 parts. 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 LED KiCad files?
From the marksdude/Pikne repository on GitHub, at the commit this page was made from: the board is Modules/Flashlight/PCB/LED/LED.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 LED design in my own project?
Its repository states no licence, so its author keeps all rights: ask marksdude before reusing the design.
More from marksdude/Pikne
7- 2 layers72 × 26.7 mm

- 4 layers60 × 30 mm

- 2 layers73 × 20.8 mm

- 2 layers75 × 18.4 mm

- 4 layers50.9 × 18 mm

- 2 layers25 × 6.5 mm

- 2 layers37.5 × 10 mm

Similar boards
- 2 layers85 × 115 mm

OSO BOOK C1
joeycastillo/The-Open-Book
For details on how to build, test and use Open Book, I've made documentation available here.
38 parts8.1kCC-BY-SA-4.0 - 2 layers38.1 × 12.7 mm

- 2 layers136 × 84 mm

Macropad
hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!
38 parts915 - 2 layers126.4 × 15.2 mm

- 2 layers66 × 25.4 mm

Ardmover Empfangsspule Yann
Ardumower/ardumower
Develop an open source robotic lawn mower (HW+SW reference platform)
38 parts282 - 2 layers17.8 × 17.8 mm

Altmode friend
CRImier/MyKiCad
My KiCad boards. Can't be bothered uploading individually anymore, so here you go.
38 parts253GPL-3.0 - 2 layers51.4 × 61 mm

- 2 layers125 × 97.2 mm
