

Polygon pcb designs for polyhedra
- Size
- 50 × 50 mm
- Copper layers
- 2
- Thickness
- 0.8 mm
- Parts
- 26
- Nets
- 18
- Pads
- 89
- Tracks, vias
- 187, 3
- Pours
- 2
- Routed
- Yes
- KiCad
- KiCad 9.0 (file 20241229)
- Created
- 9 Apr 2026
- Updated
- 13 Sep 2026
Overview
Bat is an open-source printed circuit board by feefladder, from the feefladder/poly-pcb repository on GitHub. It is a 2-layer board of 50 × 50 mm with 26 parts on 18 nets, routed with 187 tracks and 3 vias.
It is built around the BQ24041 and BC02P28TA. Its parts include 9 connectors, 3 resistors, 2 ICs, 1 capacitor and 1 transistor.
Main components
2README
README.mdJohnson solid lamps!

So I thought it'd be superduper cool to make lamps as like johnson solids, so here's some kicad files for that.
There's two versions for each polygon:
- solder mask only.
- Solder mask and edge cuts
So you can create directional lamps with soft light in the facing direction using the pcb as diffuser adn stronger light in the backfacing direction.
More will be added once a lamp is actually made
Exporting for jlpcb
Great thanks to FunDeckHermit's pcb exporter. I've slightly modified it so I can run it from the top-level on any file.
upload zip file to jlpcb. It can be that edge cuts don't work. fix in inkscape.
Making mask and edge cuts
mask:
- Plot svgs. Set F.Cu, B.Cu to all layers
- open F.Cu in inkscape
- select all, 2x
Ctrl-Shift-G,Ctrl-Shift-C,Ctrl-Alt-C,Ctrl-Shift-+Ctrl-Shift-) - There will be some specs, either:
- have a great time with the node tool
Ctrl-Shift-Kto unmerge, select desired polygons,!to invert selection and delete
- save as...
- in kicad,
Ctrl-Shift-L, enable "place at position0,0
edge:
- Plot svgs. Set F.Cu, B.Cu, Edge.Cuts to all layers
- open F.Cu in inkscape
- select all, 2x
Ctrl-Shift-G,Ctrl-Shift-C,Ctrl-Alt-C,Ctrl-Shift-+2xCtrl-Shift-) - There will be specs and some tiny gaps/overlaps.
- fixs specs as before
- overlaps can be fixed with running
Ctrl-Shift-+ - tiny gaps are equally bad. These require some fun with the node tool
Shift-doubleclickat the narrowest point to place nodes- split
- overlapping nodes: box select one, shift-click to get the bottom, then select the other, connect with edge, then merge to one
- save as...
- in kicad,
Ctrl-Shift-L, enable "place at position0,0
Reflections after making 3 lamps and soldering 350+ LEDs
So yeah, I think I'll really order the next pcbs with the leds assembled
Bending the header pins with a pcb works, but the led next to the header may want a bit of lovd afterwards. I think the flexing causes microfractures or something, but in any case, the leds stop there
overview
- Sphenocorona - some leds not working because of flexing breaking solder joints. Somehow it makes noise?
- Thawro - perfect! I removed-and-bypassed some leds because I thought they were broken, but turned out it was because of WLED shenanigans
- Bilb - smooth rolling
WLED shenanigans
So whenever you set a pattern at boot, the length of the strip is saved in the json at "stop", so whenever increasing strip length, the leds after will not show.
Still not sure which is the best pattern for debugging leds. Solid deffo not, it needs to be changing, because a led that got a "be pink" signal will stay pink without further input. Android is fine, but when the strip setting is much larger, it is not happy. Ideally it'd be some sort of "two-color-twinkle" or something.
howto header pins
general policy: Every bare edge exposes headers. Use a triangle full pcb to bend them in place. You want to bend it so the pcb can be flatter than it needs to be, otherwise angled pins make inserting a headache (especially for later boards).
sharp angles
Sharp dihedral angles make the corner leds collide, resulting in a slightly sad shape. maybe add tiny jumper pads to easily bypass a led.
Control board
Ah yes, so the ESP32-C3-WROOM boards start up in a boot loop. To solve, you have to hold BOOT (GPIO9, next to GND) low and tap EN, as this person on Github said. GPIO9 can be set as "cycle presets" or something, because getting your phone out all the time is sad.
Double-size?
So these lamps are like nice for in a bedroom or toilet, but for living room, make double-size pcbs with two connections so they are also compatible with the others
blrubs
ah yes ws2812s dont like fighting data, so need to cut some data pins to avoid that.
Parts
26| Qty | Value | Footprint | References |
|---|---|---|---|
| 4 | Conn_01x02_Pin | footprints:PH2.0 | J1, J2, J3, J4 |
| 4 | Conn_01x05_Socket | Connector_PinSocket_2.54mm:PinSocket_1x05_P2.54mm_Vertical | J7, J8, J9, J10 |
| 3 | Battery_Cell | footprints:battery_802540_sideways | BT1, BT2, BT4 |
| 2 | 5k1 | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R1, R2 |
| 2 | Thermistor_NTC | Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P1.90mm_Vertical | TH1, TH2 |
| 1 | 1k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R3 |
| 1 | 4u7F | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C1 |
| 1 | BC02P28TA | Package_TO_SOT_SMD:SOT-23 | Q1 |
| 1 | BQ2404 | Package_DFN_QFN:Texas_DLH0010A_WSON-10-1EP_2.2x2mm_P0.4mm_EP0.9x1.5mm_ThermalVias | U2 |
| 1 | Fuse_Small | footprints:fuseholder | F1 |
| 1 | MICRONE ME2801A33M3G | Package_TO_SOT_SMD:SOT-23 | U1 |
| 1 | USB_C_Receptacle_PowerOnly_6P | Connector_USB:USB_C_Receptacle_GCT_USB4125-xx-x-0190_6P_TopMnt_Horizontal | J6 |
The 22 most common of 26 parts.
Questions
How big is the Bat PCB?
It measures 50 × 50 mm and has 2 copper layers, 0.8 mm thick.
What parts does the Bat use?
26 parts, built around the BQ24041 and BC02P28TA. 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 Bat KiCad files?
From the feefladder/poly-pcb repository on GitHub, at the commit this page was made from: the board is bat/bat.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Can I use the Bat design in my own project?
Its repository states no licence, so its author keeps all rights: ask feefladder before reusing the design.
More from feefladder/poly-pcb
12- 2 layers929.3 × 404.1 mm

- 2 layers563 × 224.3 mm

- 2 layers309.9 × 257.9 mm

- 2 layers285.9 × 373.4 mm

- 2 layers243.7 × 234.8 mm

- 2 layers161.7 × 153.8 mm

- 2 layers100 × 86.6 mm

- 2 layers97.7 × 86.5 mm

- 2 layers50 × 43.3 mm

- 2 layers50 × 50 mm

- 2 layers94.9 × 90.9 mm

- 2 layers50 × 43.3 mm

Similar boards
- 2 layers57.3 × 19 mm

- 2 layers98 × 59.5 mm

MCP23017 PCB
hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!
26 parts915 - 2 layers142.9 × 98.5 mm

- 2 layers86.1 × 86.1 mm

- 2 layers103.8 × 50 mm

Galagino pcb set
harbaum/galagino
A Galaga, Pac-Man and Donkey Kong arcade emulator for the ESP32
26 parts558 - 2 layers20.3 × 34.8 mm

L0 ESP32
Luos-io/luos_engine
Open-source and real-time orchestrator for cyber-physical-systems, to easily design, test and deploy embedded applications and digital twins.
26 parts546MIT - 2 layers40.6 × 50.8 mm

WALTsm
google/walt
A device for measuring latency of physical sensors and outputs on phones and computers
26 parts474Apache-2.0 - 2 layers158.5 × 75 mm
