
Power board
AndreiVladescu/Vector-UGV
An 18-DOF hexapod research platform: a smart controller per leg on CAN, a Raspberry Pi CM5 carrier, camera and SDR payload, ELRS / Wi-Fi / 4G links. Built for the PCBWay 9th Project Design Contest.

This is a USB-C PD charger and cell monitor for a 3S LiPo that lives in an airsoft stock tube. It has one USB-C port.
Usbc pd airsoft module is an open-source printed circuit board by Fluffik214, from the Fluffik214/airsoft-battery-module repository on GitHub. It is a 2-layer board of 135 × 21 mm with 98 parts on 67 nets, routed with 413 tracks and 164 vias.
It is built around the STM32F042F6P6, CH224K and BQ25798RQMR, with the TPD2E2U06DCK, BAT54C and DMP3099L among its other parts. Its parts include 35 capacitors, 26 resistors, 6 ICs, 4 diodes and 3 transistors. It belongs with the STM32 boards of this library.
This is a USB-C PD charger and cell monitor for a 3S LiPo that lives in an airsoft stock tube. It has one USB-C port. A PD charger charges the pack through it, and a phone plugged into the same port shows each cell's voltage and charge % in the companion Android app.
| Board | 135 × 21 mm, 2 layers, SMT only, no BGA |
| Pack | 3S LiPo (made for an iPower 1450 mAh stick). Deans main lead, JST-XH balance plug |
| Charging | USB-C PD at 15 V (CH224K) → BQ25798 buck-boost charger |
| Monitoring | BQ7692003 (per-cell voltage, NTC, balancing) → STM32F042 → USB CDC |
| Idle drain | about 1 µA when unplugged |
| Path | Contents |
|---|---|
usbc pd airsoft module.kicad_* | KiCad 10 project: schematic, routed PCB, design rules |
schematic.pdf, bom.csv | Schematic printout and bill of materials |
DESIGN_NOTES.md | Hardware notes: power path, pinouts, checks before first power-up |
layout_work/ | Python scripts that generated the schematic and placed/routed the PCB |
firmware/ | STM32F042 firmware: bare-metal C plus TinyUSB. firmware/README.md is the full guide, covering protocol, settings, safety rules and how to customize |
android/ | Android app: Kotlin, Jetpack Compose, Material 3 |
release/ | Prebuilt firmware (.bin / .hex) and app (.apk) |
production/ | Gerber zip for the board house, drill files, pick-and-place, BOM, assembly drawings, and ORDERING.md (fab settings) |
dfu-util -a 0 -s 0x08000000:leave -D release/airsoft_charger.binrelease/PDCharger-1.0.0.apk to the phone and install it.arm-none-eabi-gcc (tested with xPack 15.2.1). Run:
python firmware/build.py --gcc <path-to-toolchain-bin>cd android && ./gradlew assembleReleaseLiPo batteries can catch fire. This is a hobby project with no warranty. Check DESIGN_NOTES.md before the first power-up. In particular, confirm that the balance plug's pin 1 is the pack's negative wire.
© Fluff. Licensed under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 (CC BY-NC-SA 4.0):
Third-party code in firmware/lib/ keeps its own license:
firmware/lib/tinyusb/LICENSE.firmware/lib/cmsis/LICENSE-ST-cmsis-device-f0.md.| Qty | Value | Footprint | References |
|---|---|---|---|
| 8 | 10uF 25V | Capacitor_SMD:C_0805_2012Metric | C11, C12, C13, C14, C15, C17, C18, C21 |
| 8 | 1uF 10V | Capacitor_SMD:C_0402_1005Metric | C1, C23, C24, C25, C26, C27, C28, C33 |
| 5 | 10uF 35V | Capacitor_SMD:C_0805_2012Metric | C2, C3, C7, C8, C9 |
| 4 | 100nF | Capacitor_SMD:C_0402_1005Metric | C31, C32, C34, C35 |
| 4 | 56R | Resistor_SMD:R_0603_1608Metric | R13, R14, R15, R16 |
| 3 | 100k | Resistor_SMD:R_0402_1005Metric | R10, R11, R20 |
| 3 | 100nF 50V | Capacitor_SMD:C_0402_1005Metric | C4, C10, C16 |
| 3 | 10k | Resistor_SMD:R_0402_1005Metric | R3, R9, R21 |
| 2 | 10k B3435 (103AT) | Resistor_SMD:R_0402_1005Metric | TH1, TH2 |
| 2 | 1M | Resistor_SMD:R_0402_1005Metric | R18, R19 |
| 2 | 1k | Resistor_SMD:R_0402_1005Metric | R17, R26 |
| 2 | 2N7002 | Package_TO_SOT_SMD:SOT-23 | Q1, Q3 |
| 2 | 4.7k | Resistor_SMD:R_0402_1005Metric | R24, R25 |
| 2 | 47nF 25V | Capacitor_SMD:C_0402_1005Metric | C5, C6 |
| 2 | M1.6 | airsoft_module:MountingHole_1.7mm_M1.6 | H1, H3 |
| 2 | M2 | MountingHole:MountingHole_2.2mm_M2 | H2, H4 |
| 1 | 10.5k 1% | Resistor_SMD:R_0402_1005Metric | R4 |
| 1 | 100R | Resistor_SMD:R_0402_1005Metric | R5 |
| 1 | 100R | Resistor_SMD:R_0603_1608Metric | R12 |
| 1 | 100k 1% | Resistor_SMD:R_0402_1005Metric | R22 |
| 1 | 10k 1% | Resistor_SMD:R_0402_1005Metric | R23 |
| 1 | 1k | Resistor_SMD:R_1206_3216Metric | R1 |
| 1 | 1nF 50V | Capacitor_SMD:C_0402_1005Metric | C20 |
| 1 | 1uF 25V | Capacitor_SMD:C_0603_1608Metric | C22 |
| 1 | 1uF 50V | Capacitor_SMD:C_0805_2012Metric | C29 |
| 1 | 1uH | Inductor_SMD:L_Coilcraft_XAL4020-XXX | L1 |
| 1 | 2.2k | Resistor_SMD:R_0402_1005Metric | R8 |
| 1 | 30.1k 1% | Resistor_SMD:R_0402_1005Metric | R7 |
| 1 | 3A 32V fast | Fuse:Fuse_1206_3216Metric | F1 |
| 1 | 4.7uF 10V | Capacitor_SMD:C_0603_1608Metric | C30 |
| 1 | 4.7uF 16V | Capacitor_SMD:C_0603_1608Metric | C19 |
| 1 | 5.23k 1% | Resistor_SMD:R_0402_1005Metric | R6 |
| 1 | 56k 1% | Resistor_SMD:R_0402_1005Metric | R2 |
| 1 | AP7381-33SA-7 | Package_TO_SOT_SMD:SOT-23 | U5 |
| 1 | BALANCE 3S (JST-XH 4P) | Connector_JST:JST_XH_S4B-XH-SM4-TB_1x04-1MP_P2.50mm_Horizontal | J2 |
| 1 | BAT54C | Package_TO_SOT_SMD:SOT-23 | D3 |
| 1 | BATT IN + | Connector_Wire:SolderWirePad_1x01_SMD_3x6mm | TP1 |
| 1 | BATT IN - | Connector_Wire:SolderWirePad_1x01_SMD_3x6mm | TP3 |
| 1 | BQ25798RQMR | Package_DFN_QFN:Texas_RQM0029A_VQFN-29_4x4mm_P0.4mm | U3 |
| 1 | BQ7692003PWR | Package_SO:TSSOP-20_4.4x6.5mm_P0.65mm | U4 |
| 1 | CH224K | Package_SO:SSOP-10-1EP_3.9x4.9mm_P1mm_EP2.1x3.3mm | U1 |
| 1 | DFU (BOOT0) | Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mm | JP1 |
| 1 | DMP3099L | Package_TO_SOT_SMD:SOT-23 | Q2 |
| 1 | FAST CHARGE | Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mm | JP2 |
| 1 | GREEN (status) | LED_SMD:LED_0603_1608Metric | D4 |
| 1 | GUN OUT + | Connector_Wire:SolderWirePad_1x01_SMD_3x6mm | TP2 |
| 1 | GUN OUT - | Connector_Wire:SolderWirePad_1x01_SMD_3x6mm | TP4 |
| 1 | RED (charging) | LED_SMD:LED_0603_1608Metric | D2 |
| 1 | SMF20A | Diode_SMD:D_SMF | D1 |
| 1 | STM32F042F6P6 | Package_SO:TSSOP-20_4.4x6.5mm_P0.65mm | U6 |
| 1 | TP 3V3 | TestPoint:TestPoint_Pad_D1.0mm | TP7 |
| 1 | TP BAT | TestPoint:TestPoint_Pad_D1.0mm | TP10 |
| 1 | TP GND | TestPoint:TestPoint_Pad_D1.0mm | TP8 |
| 1 | TP SCL | TestPoint:TestPoint_Pad_D1.0mm | TP12 |
| 1 | TP SDA | TestPoint:TestPoint_Pad_D1.0mm | TP11 |
| 1 | TP SWCLK | TestPoint:TestPoint_Pad_D1.0mm | TP6 |
| 1 | TP SWDIO | TestPoint:TestPoint_Pad_D1.0mm | TP5 |
| 1 | TP VBUS | TestPoint:TestPoint_Pad_D1.0mm | TP9 |
| 1 | TPD2E2U06DCK | Package_TO_SOT_SMD:SOT-323_SC-70 | U2 |
| 1 | USB_C_Receptacle_USB2.0_16P | Connector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12 | J1 |

AndreiVladescu/Vector-UGV
An 18-DOF hexapod research platform: a smart controller per leg on CAN, a Raspberry Pi CM5 carrier, camera and SDR payload, ELRS / Wi-Fi / 4G links. Built for the PCBWay 9th Project Design Contest.

nanographs/Open-Beam-Interface
Just what you need to control the beam and get an image.

OpenLogicEFI/Hardware
Hardware is based off an open source project called Speeduino by Josh Stewart.

blonski3/ibm-modern-m-ssk
Decyzje projektowe i ich uzasadnienia: docs/HARDWAREDECISIONS.md; historia zmian: docs/CHANGELOG.md.

fulgidus/hardware
Learning KiCad takes time, and pollutes with weird and incomplete projects. Here they are...

Molly-M-Laugh/Senior-Final
A collection of documentation and files for our group's final senior design project

penguineer/IntUsbPwmFanController
Controller for PWM-based fans using the internal USB 2.0 header

ulyssecrn/usb-pd-card
PCB business card: USB-C PD charger tester + battery-free NFC tag.
It measures 135 × 21 mm and has 2 copper layers, 1.6 mm thick.
98 parts, built around the STM32F042F6P6, CH224K, BQ25798RQMR and TPD2E2U06DCK. 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.
From the Fluffik214/airsoft-battery-module repository on GitHub, at the commit this page was made from: the board is usbc pd airsoft module.kicad_pcb and its schematic usbc pd airsoft module.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask Fluffik214 before reusing the design.