Skip to the content
PCBKitNew board
2 layers50.8 × 22.9 mmGate controller, the printed circuit board in 3D

This is a revision-stamped prototype board for a Feather-compatible host, including the Unexpected Maker FeatherS3[D] and Adafruit ESP32-S3 Reverse TFT Feather.

Size
50.8 × 22.9 mm
Copper layers
2
Thickness
1.6 mm
Parts
14
Nets
33
Pads
51
Tracks, vias
0, 0
Routed
Not yet
KiCad
KiCad 10.0 (file 20260206)
Created
14 Sep 2022
Updated
20 Sep 2026

Overview

Gate controller is an open-source printed circuit board by nstielau, from the nstielau/gate_controller repository on GitHub. It is a 2-layer board of 50.8 × 22.9 mm with 14 parts on 33 nets.

It is built around the WS2812B. Its parts include 3 resistors, 3 connectors, 2 diodes, 1 capacitor and 1 transistor.

Main components

1

README

hardware/featherwing/README.md

Drawbridge FeatherWing fabrication package

This is a revision-stamped prototype board for a Feather-compatible host, including the Unexpected Maker FeatherS3[D] and Adafruit ESP32-S3 Reverse TFT Feather. It provides the existing, proven 2N3904 transistor output unchanged: J3 pin 1 is the switched output and J3 pin 2 is the shared ground. The Feather module is not part of the assembly BOM.

Schematic and PCB signal names use portable Feather header labels: WIFI_D5, MQTT_D6, HOLD_D9, and CTRL_D11. GPIO numbers differ between Feather models and therefore are not part of these net names.

PCBWay upload

The generated PCB is drawbridge-featherwing.kicad_pcb and the schematic is drawbridge-featherwing.kicad_sch. Generate the fabrication package from the repository root with:

sh
make featherwing-fab

Every run regenerates the design from generate.py, runs ERC/DRC, and replaces the entire artifacts/featherwing/ directory with a complete release. Do not keep manual edits or source files in that output directory. Old extracted ZIPs, previews and reports disappear automatically. Other artifact folders are separate. If a build fails, the last complete release remains available; its timestamp in manifest.json identifies when it was built. Never upload after a failed build assuming that the files reflect your latest source changes.

Each build requires a clean Git checkout, including staged, unstaged, and untracked files anywhere in the repository. Commit changes before running the build. Ignored files such as credentials and artifacts/ do not block it. There is no dirty-build override or generation counter.

The revision is exactly the first three characters of Git HEAD, for example abc, with no suffix. It appears below the castle and in manifest.json. Every ZIP contains REV_abc.txt with both abc and the full commit hash; use the full hash to identify a commit unambiguously. Rebuilding the same commit keeps the same revision. The build checks checkout cleanliness and HEAD again before replacing the output.

Generation runs on a temporary snapshot of committed sources and leaves the checkout unchanged. The freshly stamped native KiCad project is exported to artifacts/featherwing/design/ and included in the combined ZIP. Open that project to inspect the current release; tracked native KiCad files are reference snapshots and may carry an older revision. Incorporate edits into the generator, commit them, then rebuild.

Prerequisites: KiCad 10 in /Applications/KiCad, make setup, and the repository's Node/Playwright installation (make web-setup, then npx playwright install chromium if Chromium is missing). Incorporate manual KiCad edits into generate.py before rebuilding because the generator is the design source of record.

PCBWay uploads from artifacts/featherwing/:

Upload fieldFile
Gerbersdrawbridge-featherwing-gerbers.zip
Parts list / BOMassembly-bom.xlsx (PCBWay upload)
Centroidassembly-position.csv
Assembly other filesdrawbridge-featherwing-assembly-other.zip
Complete package for reviewdrawbridge-featherwing-pcbway.zip

For Seeed Studio Fusion, upload seeed-assembly-bom.csv. It uses Seeed's four-column Designator, Manufacturer Part Number or Seeed SKU, Qty, and Link format and consolidates identical MPNs. All parts except J3 are selected from Seeed's Shenzhen Open Parts Library (OPL); their links search the live OPL listing. J3 is Phoenix Contact 1725656 and uses its manufacturer link for external sourcing by Seeed (not verified OPL stock). The BOM includes the two underside Feather headers, five resistors, Q1, three LEDs, and J3. The Feather host is excluded. Check live availability when requesting a quote because OPL stock changes independently of this repository.

The selected XKB headers have 2.54 mm pitch, 2.5 mm insulators, 3.0 mm solder tails, and 6.0 mm mating pins. Seeed must install their bodies on the bottom of the wing, with the 6.0 mm pins pointing down into the Feather's sockets. The LEDs are a matching Everlight 3 mm family; observe the KiCad cathode/pad-1 orientation during assembly.

All three ZIPs are generated together and every member is byte-checked against the corresponding loose file. Gerbers and drills are also available in gerbers/ and drills/. Each run refreshes board.png, schematic.pdf, schematic.svg, schematic.png, silkscreen.svg, logo SVG/PNG, BOM, positions, netlist.xml, erc.rpt, drc.rpt, and assembly notes. manifest.json records the build time and SHA-256 for every loose file and ZIP (excluding the manifest itself). The BOM is emitted as both assembly-bom.xlsx for PCBWay and assembly-bom.csv for review. Both include an explicit Tolerance column: all five resistors (R1–R5) have a tolerance of 5%. R1/R3/R4/R5 are 1 kΩ Yageo CFR-25JB-52-1K; R2 is 100 kΩ Yageo MFR50SJT-52-100K. Use 5% for the PCBWay assembly specification; 1% is not required.

The isometric castle logo uses a 14 × 14 mm SVG canvas with 0.18 mm strokes. The actual mark occupies about 12 × 12.5 mm on the USB end. The generator imports assets/drawbridge-silkscreen.svg directly into F.Silkscreen. The 840-pixel PNG is generated from that same SVG as a reference; no separate logo placement by PCBWay is needed. For a bare-board order, only the Gerbers and drill files are needed. For assembly, select through-hole assembly and ask PCBWay to confirm the listed manufacturer part numbers and header availability. J3 is a top-side screw terminal at the right-hand edge, with wire entry facing outward away from the USB connector.

Recommended starting options are two layers, FR-4, 1.6 mm thickness, 1 oz copper, green solder mask, white silkscreen, and lead-free HASL. These are defaults for quoting, not a manufacturing release.

Release checks

Run make featherwing-check before uploading; it performs the same complete rebuild as make featherwing-fab. Offline package freshness/failure recovery tests run with .venv/bin/python -m unittest test_suite.test_featherwing_fab and are included in make test. Inspect the Gerbers in PCBWay's viewer, especially the Feather header orientation, mounting holes, J3 polarity, and the antenna keepout at the FeatherS3[D] end.

The gate-controller interface remains installation-specific. The transistor stage is retained because it is the known-working circuit. J3 is populated with Phoenix Contact MPT 0,5/2-2,54, 1725656. Viewed from above with USB left, the upper screw is GND (pin 2) and the lower screw is OUT_OC (pin 1). Follow these labels when reconnecting existing wires. The terminal has a 5.54 x 6.2 mm body, 8.5 mm installed height, and 2.54 mm contact pitch. Use 20–26 AWG wire, strip 4.5 mm, and tighten to 0.12–0.15 N m while supporting the terminal body. Provide cable strain relief.

The local Drawbridge:ExitTerminal footprint retains KiCad's Phoenix footprint contacts and both 1.1 mm non-plated locating holes from the manufacturer's drilling drawing, 2.54 mm toward the wire-entry side of the contact pins. It uses a 0.25 mm body courtyard and omits silkscreen at the wire-entry edge. Do not omit these holes or substitute a generic 2.54 mm header footprint. J3 is included in all assembly BOMs and in the top-side position file. The headers remain on the underside. The board outline is unchanged at 50.8 x 22.86 mm.

Routing uses horizontal, vertical, and 45-degree segments, with chamfers at right-angle turns. Connected branches may still meet at right angles; these are electrical junctions, not sharp bends in a continuous route. Copper/holes, component courtyards, and silkscreen are checked on every fabrication build. The terminal and cable are near the Feather's antenna end: RF performance and assembled stack/enclosure clearance need checking with the actual host. DRC does not establish either of those physical properties.

The Feather-compatible J1 (16-pin) and J2 (12-pin) stacking headers are bottom-side assembly parts. Their XY pin coordinates are intentionally not mirrored, preserving the Feather pin order when this board is placed on top of the Feather host.

Indicator LEDs

The 3 mm through-hole LEDs in the assembly BOM are assigned as follows:

ReferenceFunctionColor
D1Wi-FiCool white
D2MQTTBlue
D3HoldGreen

Parts

14
QtyValueFootprintReferences
2330Resistor_SMD:R_0805_2012MetricR2, R3
1100nFCapacitor_SMD:C_0805_2012MetricC1
11kResistor_SMD:R_0805_2012MetricR1
12N3904Package_TO_SOT_THT:TO-92_InlineQ1
1Gate_OutputTerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2-5.08_1x02_P5.08mm_HorizontalJ3
1GreenLED_SMD:LED_0805_2012MetricLED1
1WS2812BLED_SMD:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mmLED2
1feather longConnector_PinHeader_2.54mm:PinHeader_1x16_P2.54mm_VerticalJ1
1feather shortConnector_PinHeader_2.54mm:PinHeader_1x12_P2.54mm_VerticalJ2

The 10 most common of 14 parts.

Questions

How big is the Gate controller PCB?

It measures 50.8 × 22.9 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Gate controller use?

14 parts, built around the WS2812B. 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 Gate controller KiCad files?

From the nstielau/gate_controller repository on GitHub, at the commit this page was made from: the board is hardware/gate-controller.kicad_pcb and its schematic hardware/featherwing/drawbridge-featherwing.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Gate controller design in my own project?

Its repository states no licence, so its author keeps all rights: ask nstielau before reusing the design.

More from nstielau/gate_controller

1
  • 2 layers50.8 × 22.9 mmDrawbridge featherwing, the printed circuit board in 3D

    Drawbridge featherwing

    nstielau/gate_controller

    This is a revision-stamped prototype board for a Feather-compatible host, including the Unexpected Maker FeatherS3[D] and Adafruit ESP32-S3 Reverse TFT Feather.

    16 parts

Similar boards

  • 4 layers99 × 53.3 mmPSLab, the printed circuit board in 3D

    PSLab

    fossasia/pslab-hardware

    PSLab Hardware Design and Schematics https://pslab.io

    199 parts1.7kApache-2.0
  • 2 layers26 × 30 mmMicrocontroller, the printed circuit board in 3D

    Microcontroller

    FrameworkComputer/ExpansionCards

    Reference designs and documentation to create Expansion Cards for the Framework Laptop

    34 parts1.1kCC-BY-4.0
  • 4 layers82.6 × 82.5 mmJumperless2, the printed circuit board in 3D

    Jumperless2

    Architeuthis-Flux/Jumperless

    A jumperless breadboard

    208 parts914
  • 2 layers95.3 × 161.9 mmDfh badge, the printed circuit board in 3D

    Dfh badge

    tanaes/whopping_Voron_mods

    135 parts787GPL-3.0
  • 2 layers42.8 × 28.8 mmMM Skirt, the printed circuit board in 3D

    MM Skirt

    PrintersForAnts/Micron

    If you want to purchase full kits there are 3 available (Kits are slowly updating to R1 hardware just make sure to double check the included hardware in your kit and if you have any questions reach out in the discord)

    11 parts741GPL-3.0
  • 2 layers149.6 × 127.1 mmErgodash, the printed circuit board in 3D

    Ergodash

    omkbd/ErgoDash

    keyboard

    187 parts732MIT
  • 2 layers285.5 × 95 mmReviung46 ver1 1, the printed circuit board in 3D

    Reviung46 ver1 1

    gtips/reviung

    The REVIUNG41 is 41-key column staggered keyboard.

    119 parts517MIT
  • 2 layers177.7 × 144.5 mmCOMM PANEL, the printed circuit board in 3D

    COMM PANEL

    jrsteensen/OpenHornet

    OpenHornet 1:1 F/A-18C Simulator Repository

    275 parts431