
Wf26
gunnarbeutner/doorbell
doorbell.kicadsch / doorbell.kicadpcb are the authoritative source — edit them in KiCad. build.sh never authors copper; it runs the checks KiCad's own DRC/ERC can't express and exports the fab outputs:

doorbell.kicadsch / doorbell.kicadpcb are the authoritative source — edit them in KiCad. build.sh never authors copper; it runs the checks KiCad's own DRC/ERC can't express and exports the fab outputs:
Doorbell is an open-source printed circuit board by gunnarbeutner, from the gunnarbeutner/doorbell repository on GitHub, published under the MIT licence. It is a 4-layer board of 64 × 59 mm with 119 parts on 91 nets, routed with 664 tracks and 147 vias.
It is built around the ESP32-S3-WROOM-1U-N16R8, ES8311 and LP5907MFX-3.3/NOPB(MS), with the CC0603KRX7R9BB104, LMBR01S30ST5G and H24VND3BA among its other parts. Its parts include 41 resistors, 23 capacitors, 17 diodes, 10 switches and 4 ICs. It belongs with the home automation and IoT boards and the ESP32 boards of this library.
doorbell.kicad_sch / doorbell.kicad_pcb are the authoritative source — edit them in
KiCad. build.sh never authors copper; it runs the checks KiCad's own DRC/ERC can't
express and exports the fab outputs:
./build.sh # verify + all order-ready exports (full release)
./build.sh verify # ERC + placement + PCB/DRC + simulation; no exports
./build.sh schematic # schematic ERC + PDF export
./build.sh pcb # placement + planes/thieving/connectivity + DRC
./build.sh simulation # circuit-simulator tests
./build.sh fabrication # Gerbers + drill + position + BOM -> fab/
./build.sh step # populated STEP model
./build.sh board-step # bare-board STEP model| Script | Interpreter | Role |
|---|---|---|
tools/check_pcb.py | KiCad bundled python (pcbnew) | verify placement (edge flush/overhang, parts inside outline) |
tools/route.py | KiCad bundled python (pcbnew) | refill zones + verify connectivity + copper-thieving sliver limit |
tools/jlcpcb_cpl.py | KiCad bundled python (pcbnew) | JLCPCB CPL (pad-centroid positions) |
tools/jlcpcb_files.py | .venv/bin/python (kiutils) | JLCPCB BOM (from the schematic) |
tools/doorbell_design.py holds the placement constants check_pcb.py verifies — connector edge
fit/overhang and the mounting-hole MLCC keep-out; the KiCad files are authoritative for the rest.
The board is hand-routed in KiCad;
route.py fails the build on any unrouted connection or any copper-thieving float island
over the sliver limit (≥ 2 mm² or ≥ 10 mm) — fix those in KiCad, never with a tool.
4-layer, ~64 × 59 mm;
tools/check_pcb.pygates placement (the edge connectors J1/J2/J3 and U1 sit flush on their board edges).
This README is only the build/verify/fab process. Everything else stays in its authoritative source so it can't drift out of sync — so there is no part list, net list, or pin table here:
LCSC/MPN/Footprint
fields); exported to fab/doorbell-bom-jlcpcb.csv by build.sh fabrication.doorbell.kicad_sch (open it, or
kicad-cli sch export netlist).../DESIGN.md;
the requirements it satisfies — ../REQUIREMENTS.md; ordering — ../ORDERING.md.| Qty | Value | Footprint | References |
|---|---|---|---|
| 12 | 10k | PCM_JLCPCB:R_0402 | R7, R8, R9, R10, R11, R12, R18, R19, R20, R35, R41, R42 |
| 8 | 10uF | PCM_JLCPCB:C_0603 | C2, C3, C4, C10, C11, C12, C23, C24 |
| 7 | 1uF | PCM_JLCPCB:C_0603 | C5, C13, C14, C15, C16, C17, C18 |
| 6 | 100k | PCM_JLCPCB:R_0603 | R17, R36, R38, R39, R40, R44 |
| 6 | 100nF | PCM_JLCPCB:C_0603 | C6, C7, C8, C9, C22, C25 |
| 6 | 220 | PCM_JLCPCB:R_0603 | R4, R5, R6, R21, R24, R34 |
| 5 | LMBR01S30ST5G | lmbr01s30st5g:X3-DFN0603-2_L0.6-W0.3-RD | D13, D14, D16, D17, D18 |
| 4 | H24VND3BA | PCM_JLCPCB:D_SOD-323 | D2, D3, D7, D12 |
| 3 | 1N4148W | PCM_JLCPCB:D_SOD-123 | D8, D9, D11 |
| 3 | 1k | PCM_JLCPCB:R_0603 | R15, R27, R43 |
| 3 | 2.2k | PCM_JLCPCB:R_0603 | R16, R26, R29 |
| 3 | GAQY412EH | gaqy412eh:SMD-4_L4.8-W6.4-P2.54-LS9.6-BL | K3, K4, K6 |
| 2 | 12k | PCM_JLCPCB:R_0402 | R22, R23 |
| 2 | 22k | PCM_JLCPCB:R_0603 | R30, R31 |
| 2 | 3.3k | PCM_JLCPCB:R_0603 | R32, R33 |
| 2 | 5.1k | PCM_JLCPCB:R_0603 | R1, R2 |
| 2 | AO3400A | Package_TO_SOT_SMD:SOT-23 | Q3, Q4 |
| 2 | MountingHole | MountingHole:MountingHole_3.2mm_M3 | H1, H2 |
| 2 | TLP293 (GB) | tlp293:SOP-4_L4.4-W2.8-P1.27-LS7.0-BR | OC1, OC2 |
| 1 | +3V3 | TestPoint:TestPoint_Pad_D1.5mm | TP2 |
| 1 | 10M | PCM_JLCPCB:R_0603 | R25 |
| 1 | 1A fast (466) | Fuse:Fuse_1206_3216Metric | F1 |
| 1 | 1N4004W | 1n4004w:SOD-123FL_L2.7-W1.8-LS3.8-RD | D1 |
| 1 | 2.2kΩ | PCM_JLCPCB:R_0603 | R28 |
| 1 | 2.2uF | PCM_JLCPCB:C_0603 | C20 |
| 1 | 220 | Resistor_SMD:R_0603_1608Metric | R37 |
| 1 | 22uF/50V | eeefk1h220p:CAP-SMD_BD6.3-L6.6-W6.6-FD | C19 |
| 1 | AVDD | TestPoint:TestPoint_Pad_D1.5mm | TP11 |
| 1 | AVDD_PRE | TestPoint:TestPoint_Pad_D1.5mm | TP4 |
| 1 | BOOT | PCM_JLCPCB:SW_TS-1088-AR02016 | SW1 |
| 1 | CHIME_BLEED | Jumper:SolderJumper-2_P1.3mm_Bridged_RoundedPad1.0x1.5mm | JP1 |
| 1 | ES8311 | ES8311:WQFN-20_L3.0-W3.0-P0.40-BL-EP1.7 | U3 |
| 1 | ESP32-S3-WROOM-1U-N16R8 | RF_Module:ESP32-S3-WROOM-1U | U1 |
| 1 | ES_MICN | TestPoint:TestPoint_Pad_D1.5mm | TP7 |
| 1 | ES_MICP | TestPoint:TestPoint_Pad_D1.5mm | TP6 |
| 1 | ES_OUTP | TestPoint:TestPoint_Pad_D1.5mm | TP5 |
| 1 | ES_VMID | TestPoint:TestPoint_Pad_D1.5mm | TP8 |
| 1 | G6K-2F-Y DC12 | Relay_SMD:Relay_DPDT_Omron_G6K-2F-Y | K5 |
| 1 | GAQW212GS | gaqw212gs:SOP-8_L9.8-W4.4-P2.54-LS6.8-BL | K1 |
| 1 | GAQY212GS | gaqy212gs:SOP-4_L4.3-W4.4-P2.54-LS6.8-TR | K2 |
| 1 | GND | TestPoint:TestPoint_Pad_D1.5mm | TP1 |
| 1 | K5_LATCH | TestPoint:TestPoint_Pad_D1.5mm | TP10 |
| 1 | K6_BYPASS | Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mm | JP2 |
| 1 | LP5907MFX-3.3 | Package_TO_SOT_SMD:SOT-23-5 | U4 |
| 1 | RST | PCM_JLCPCB:SW_TS-1088-AR02016 | SW2 |
| 1 | SGM2212-3.3 | SGM2212:SOT-223-3_L6.5-W3.4-P2.30-LS7.0-BR | U2 |
| 1 | SMF5.0A | PCM_JLCPCB:D_SOD-123FL | D10 |
| 1 | SS14 | PCM_JLCPCB:D_SMA | D4 |
| 1 | STATUS | PCM_JLCPCB:D_0603 | D6 |
| 1 | Speaker/Mic 16R | Connector_Wire:SolderWire-0.5sqmm_1x02_P4.6mm_D0.9mm_OD2.1mm | LS1 |
| 1 | Sprechen/Hoeren (talk) | sppj322300:SW-TH_SPPJ322300 | SW4 |
| 1 | TALK_BRIDGE | TestPoint:TestPoint_Pad_D1.5mm | TP9 |
| 1 | TPD2S017 | TPD2S017:SOT-23-6_L2.9-W1.6-P0.95-LS2.8-BL | D5 |
| 1 | TX_PRECHARGE | Jumper:SolderJumper-2_P1.3mm_Bridged_RoundedPad1.0x1.5mm | JP3 |
| 1 | Tueroeffner (door release) | sppj322300:SW-TH_SPPJ322300 | SW3 |
| 1 | USB-JST | Connector_JST:JST_SH_SM04B-SRSS-TB_1x04-1MP_P1.00mm_Horizontal | J1 |
| 1 | WD_GATE | TestPoint:TestPoint_Pad_D1.5mm | TP3 |
| 1 | WF26 bus | db125_5p:CONN-TH_5P-P3.50_DORABO_DB125-3.5-5P-GN-S | J2 |

gunnarbeutner/doorbell
doorbell.kicadsch / doorbell.kicadpcb are the authoritative source — edit them in KiCad. build.sh never authors copper; it runs the checks KiCad's own DRC/ERC can't express and exports the fab outputs:

The-Hybrid-Atelier/RheoBoard
RheoBoard is open hardware for pneumatic retraction-extrusion measurements.

danieltyukov/owltunes
Owl-shaped Spotify remote for your desk and pocket: ESP32-S3 firmware, LVGL UI, KiCad PCB, 3D-printed enclosure, and owl v0 on the Waveshare AMOLED kit



bartkepl/CanGeigerProbe
Polowa sonda promieniowania jonizującego z miniaturową lampą Geigera-Müllera, komunikująca się cyfrowo przez CAN 2.0B.

bartkepl/CanGnssNode
Polowy węzeł pozycyjny z modułem GNSS Quectel L76-L (GPS/GLONASS/Galileo/QZSS) i czujnikiem orientacji (akcelerometr + magnetometr), komunikujący się cyfrowo przez CAN 2.0B.


tombueng/hilprobe
HILprobe: multi-function UUT probe for hardware-in-the-loop testing - RS-485, CAN FD, logic analyzer, 4-ch scope, two programmable UUT supplies. KiCad 10, 6 layers, RP2350B + ESP32-S3.
It measures 64 × 59 mm and has 4 copper layers, 1.6 mm thick.
119 parts, built around the ESP32-S3-WROOM-1U-N16R8, ES8311, LP5907MFX-3.3/NOPB(MS) and CC0603KRX7R9BB104. 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 gunnarbeutner/doorbell repository on GitHub, at the commit this page was made from: the board is kicad/doorbell.kicad_pcb and its schematic kicad/doorbell.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).