
Akku 3V3 Versorgung
yvolodym/18650-3v3-supply
KiCad: stabile 3,3-V-Versorgung aus 18650-Li-Ion-Akku – TP4056-Ladung, DW01A/FS8205A-Schutz, MT3608-Boost, AP2112K-LDO

LLUPS - Lithium Li-ion Universal Power Supply (KiCad 9)
LLUPS is an open-source printed circuit board by laforestlabs, from the laforestlabs/LLUPS repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 140 × 90 mm with 39 parts on 38 nets.
It is built around the MT3608, AP2112K-3.3 and HY2113-KB5B, with the LN61CN3302MR-G, USBLC6-2SC6 and FS8205A among its other parts. Its parts include 11 resistors, 8 capacitors, 6 ICs, 3 diodes and 3 connectors. It belongs with the power boards of this library.
Status: Draft / Untested — Schematic and layout are procedurally generated and have not been fabricated or validated on hardware. Review all design choices and run DRC before ordering boards.
A compact PCB module providing regulated 5V and 3.3V power from two 18650 Li-ion cells (1S2P), charged via USB-C with passthrough capability.
| Parameter | Value |
|---|---|
| Cells | 2x 18650 in parallel (1S2P), 3.7V nominal |
| Input | USB-C 5V (default power, no PD) |
| Outputs | 5V @ 1A (boost), 3.3V @ 500mA (LDO), raw VBAT |
| Charger | BQ24072, 1-2A CC/CV with power path |
| Protection | HY2113 (2.8V hard cutoff) + LN61C supervisor (3.3V operating cutoff) |
| Boost | MT3608, 5V from 3.3-4.2V input |
| LDO | AP2112K-3.3, 600mA |
| Board | 90×58mm default (variable with --board-size-search), 2-layer, 1oz Cu |
# Clone with submodules
git clone --recurse-submodules https://github.com/laforestlabs/LLUPS.git
cd LLUPS
# If already cloned without submodules
git submodule update --init --recursive
# Install KiCraft tooling (required for all CLI commands)
pip install -e KiCraft/
# Or with GUI support
pip install -e "KiCraft/[gui]"Requirements:
LLUPS.kicad_pro # KiCad 9 project
LLUPS.kicad_sch # Schematic
LLUPS.kicad_pcb # PCB layout
generate_project.py # Regenerates project artifacts
spec.md # Design specification
BOM.csv / BOM.xlsx # Bill of materials
KiCraft/ # KiCraft tooling (git submodule) — https://github.com/laforestlabs/KiCraftpython3 generate_project.pyRequires KiCad 9 CLI tools (kicad-cli) for netlist export.
autoexperiment LLUPS.kicad_pcb --rounds 100The optimizer iterates placement and routing, keeping candidates that improve the overall score and discarding the rest. The best layout is saved to LLUPS_best.kicad_pcb.
| Flag | Effect |
|---|---|
--unlock-all | Unlock all footprints (batteries, connectors, mounting holes) — edge scoring still incentivizes edge placement |
--board-size-search | Add board width (60–120mm) and height (40–80mm) to the parameter search space (5mm steps) |
# Full exploration: unlock all footprints + vary board size over 150 rounds
autoexperiment LLUPS.kicad_pcb \
--rounds 150 --unlock-all --board-size-searchA standalone NiceGUI web app for configuring, running, monitoring, and analyzing experiments.
# Install KiCraft with GUI dependencies (first time only)
pip install -e "KiCraft/[gui]"
# Launch the GUI
python3 -m kicraft.gui
# then open http://localhost:8080| Tab | Purpose |
|---|---|
| Setup | Configure search dimensions, mutation strategy, score weights, feature toggles (unlock all, board size search), mutation search bounds (min/max per parameter), and save/load presets |
| Monitor | Start/stop experiments, live score chart, status cards, round-by-round progress |
| Analysis | Browse past experiments, score trend plots, parameter sensitivity (Spearman), correlation matrix, convergence analysis, CSV export |
| Board | PCB layout viewer with layer selection and component list |
Experiment data is stored in .experiments/llups.db (SQLite). Existing JSONL logs are auto-imported on first launch.
All monitoring is read-only — it reads output files and never interferes with the experiment. Zero performance impact.
During a run — pick any of these (in a second terminal):
# Experiment Manager GUI (recommended — includes live charts + analysis)
python3 -m kicraft.gui
# Or: one-line terminal status
watch -n2 cat .experiments/run_status.txt
# Or: leave the HTML report open; it rebuilds after each round and refreshes itself
xdg-open report.htmlAfter a run:
# Animated layout evolution
xdg-open .experiments/progress.gif
# Score dashboard (PNG)
xdg-open .experiments/experiments_dashboard.png
# Interactive HTML report (richest view; rebuilt live during the run and finalized at the end)
generate-report .experiments/ -o report.html
xdg-open report.htmlFor monitoring during a run, the KiCraft GUI (python -m kicraft.gui) is the primary tool — it shows live per-leaf round progress, score plots, render thumbnails, and per-component pin controls. The CLI artifacts above (run_status.txt, progress.gif, experiments_dashboard.png, report.html) are still produced for headless workflows.
docs/architecture.md — system diagrams and layer responsibilitiesdocs/footprint-layout.md — placement engine detailsdocs/auto-trace.md — routing engine detailsdocs/scoring.md — scoring formulas and weight breakdownsStatic QA score (independent of the optimizer):
score-layout LLUPS.kicad_pcbAutomation commands using the KiCad 9 pcbnew Python API, provided by the KiCraft submodule:
| Command | Purpose |
|---|---|
list-footprints | List components with positions |
check-trace-widths | Find traces below minimum width |
run-drc | Report DRC markers |
net-report | List nets and pad counts |
move-component | Move a footprint to X,Y |
arrange-grid | Arrange components in a grid |
align-components | Align components along an axis |
All available as CLI commands after pip install -e KiCraft/.
The hierarchical/subcircuits redesign is currently focused on a real leaf-first routing flow:
LLUPS.kicad_sch.experiments/subcircuits/<slug>/solved_layout.jsonCurrent verification command:
solve-subcircuits LLUPS.kicad_sch \
--pcb LLUPS.kicad_pcb \
--rounds 1 \
--routeEach leaf artifact may now include a small visual diagnostic bundle under:
.experiments/subcircuits/<slug>/renders/These diagnostics are intended for debugging real stamped/routed leaf boards, not for demo polish. The preferred artifact set is:
pre_route_copper_both.pngpre_route_front_all.pngpre_route_drc.jsonpre_route_drc_overlay.png when coordinate-bearing violations existrouted_copper_both.pngrouted_front_all.pngrouted_drc.jsonrouted_drc_overlay.png when coordinate-bearing violations existpre_vs_routed_contact_sheet.pngThis makes it easier to answer:
Edge.Cuts?The subcircuit pipeline is functional: all 6 LLUPS leaves solve, route, and pass acceptance gates. Parent composition assembles the leaves and routes interconnects via FreeRouting. The pipeline runs to completion without Python exceptions and produces human-inspectable output. The parent acceptance gate currently rejects due to FreeRouting routing quality (a tuning target, not a functional gap). See ROADMAP.md for detailed phase status.
GPLv3 — see LICENSE.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 3 | 10k | Resistor_SMD:R_0402_1005Metric | R5, R8, R10 |
| 3 | 1k | Resistor_SMD:R_0402_1005Metric | R3, R6, R7 |
| 3 | 4.7u | Capacitor_SMD:C_0402_1005Metric | C2, C3, C4 |
| 2 | 10u | Capacitor_SMD:C_0805_2012Metric | C1, C5 |
| 2 | 18650 | LLUPS:BatteryHolder_MYOUNG_BH-18650-A1AJ006 | BT1, BT2 |
| 2 | 1u | Capacitor_SMD:C_0402_1005Metric | C7, C8 |
| 2 | 5.1k | Resistor_SMD:R_0402_1005Metric | R1, R2 |
| 2 | MountingHole | MountingHole:MountingHole_2.2mm | H4, H86 |
| 1 | 1.5k | Resistor_SMD:R_0402_1005Metric | R4 |
| 1 | 100k | Resistor_SMD:R_0402_1005Metric | R11 |
| 1 | 10k_NTC | Resistor_SMD:R_0402_1005Metric | RT1 |
| 1 | 22u | Capacitor_SMD:C_0805_2012Metric | C6 |
| 1 | 2A_PTC | Fuse:Fuse_0805_2012Metric | F1 |
| 1 | 4.7u | Inductor_SMD:L_0805_2012Metric | L1 |
| 1 | 75k | Resistor_SMD:R_0402_1005Metric | R9 |
| 1 | AP2112K-3.3 | Package_TO_SOT_SMD:SOT-23-5 | U5 |
| 1 | BQ24072 | Package_DFN_QFN:VQFN-16-1EP_3.5x3.5mm_P0.5mm_EP2.1x2.1mm | U2 |
| 1 | CHG | LED_SMD:LED_0603_1608Metric | D1 |
| 1 | Debug | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J3 |
| 1 | FS8205A | Package_TO_SOT_SMD:SOT-23-6 | Q1 |
| 1 | HY2113-KB5B | Package_TO_SOT_SMD:SOT-23-6 | U3 |
| 1 | LN61CN3302MR-G | Package_TO_SOT_SMD:SOT-23-3 | U6 |
| 1 | MT3608 | Package_TO_SOT_SMD:SOT-23-6 | U4 |
| 1 | Output | Connector_PinHeader_2.54mm:PinHeader_1x05_P2.54mm_Vertical | J2 |
| 1 | PGOOD | LED_SMD:LED_0603_1608Metric | D2 |
| 1 | SS14 | Diode_SMD:D_SMA | D3 |
| 1 | USBLC6-2SC6 | Package_TO_SOT_SMD:SOT-23-6 | U1 |
| 1 | USB_C | Connector_USB:USB_C_Receptacle_GCT_USB4085 | J1 |

yvolodym/18650-3v3-supply
KiCad: stabile 3,3-V-Versorgung aus 18650-Li-Ion-Akku – TP4056-Ladung, DW01A/FS8205A-Schutz, MT3608-Boost, AP2112K-LDO

jonny190/TableLight
A 3D-printable, battery-powered, USB-C rechargeable table lamp in the classic "Poldina" shape - honeycomb disc base, thin stem, down-firing cone shade with a white top - running WLED on an ESP32, with a capacitive touch…

KazimGL/ESP32-PowerIoT-DevBoard
ESP32 battery-powered IoT dev board with Li-ion charging, protection, and sensor support — designed in KiCad

JanClyde05/Road-Accident-Monitoring-System
This directory contains the planning, specification, and initial KiCad project for RAMS Wearable PCB Revision C. Do not fabricate from this directory yet -- manual schematic wiring and DRC verification are still needed.



Carabouille/Alarm_Clock_dawn_simulator
A description of my Alarm clock with dawn simulator for the Fallout event organised By Hackclub

It measures 140 × 90 mm and has 2 copper layers, 1.6 mm thick.
39 parts, built around the MT3608, AP2112K-3.3, HY2113-KB5B and LN61CN3302MR-G. 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 laforestlabs/LLUPS repository on GitHub, at the commit this page was made from: the board is LLUPS.kicad_pcb and its schematic BATT.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).