Skip to content

Examples ​

Every folder under examples/ is a pcbjs project: clone the repository, build it, and run pcbjs check in one. The demo boards are the small ones the documentation refers to. The review boards were each built by a reviewer from an empty folder to an orderable board, and are larger: USB hubs, an Ethernet PHY, an SDRAM, a buck converter, a stack of three boards.

The numbers on each card come from pcbjs check --json at the time the site was built: parts, pads, tracks, vias, nets, the legs the autorouter laid, the DRC and ERC counts and the compile time. The pictures are pcbjs shot of the same build, 3D and 2D.

examples/demo

the four demo boards: Blinky, three LED channels split over schematic, sourcing and layout files; Coin, the smallest board; Quad, four layers; Multi, one design for three fab targets with variants

Known findings: none, and they must stay clean

Blinky, 3d view

Blinky blinky.pcb.tsx

Blinky: three LED channels switched by one transistor on a 30 x 20 mm two-layer board, in three files: blinky.sch.tsx has the nets, parts and schematic picture, blinky.sourcing.ts the part numbers, and this file the layout.

  • 9 parts
  • 20 pads
  • 23 tracks
  • 4 vias
  • 7 nets
  • 2 of 2 autorouted legs

DRC 0 errors, 0 warnings · ERC 0 errors, 0 warnings · compiled in 734 ms

Coin, 3d view

Coin coin.pcb.tsx

Coin: two test pads on the battery net of a 20 mm round board.

  • 2 parts
  • 2 pads
  • 1 track
  • 0 vias
  • 1 net

DRC 0 errors, 0 warnings · ERC 0 errors, 0 warnings · compiled in 77 ms

Quad, 3d view

Quad quad.pcb.tsx

Quad: a divider on a 30 x 15 mm four-layer board, with SIG on In1.Cu between a via pair and a ground plane on In2.Cu.

  • 3 parts
  • 6 pads
  • 6 tracks
  • 3 vias
  • 3 nets

DRC 0 errors, 0 warnings · ERC 0 errors, 0 warnings · compiled in 88 ms

Multi, 3d view

Multi multi.pcb.tsx

Multi: the Coin idea built for three fabs at once, JLCPCB 2-Layer, OSH Park 2-Layer and a house target with a 0.2 mm clearance and a black mask.

  • 3 parts
  • 4 pads
  • 2 tracks
  • 0 vias
  • 2 nets
  • 1 of 1 autorouted leg

DRC 0 errors, 0 warnings · ERC 0 errors, 0 warnings · compiled in 47 ms

examples/highspeed

a USB-C to header adapter with 90 ohm differential pairs, a via pair, ESD array and a length matched four line bus on four layers

highspeed, 3d view

highspeed pcb.tsx

highspeed: a USB-C to 4-pin USB 2.0 header adapter with an ESD array, and a four line data bus between two headers whose lines are length matched, 44 x 24 mm, four layers: signals on F.Cu and B.Cu, GND on In1.Cu, VBUS on In2.Cu.

  • 7 parts
  • 40 pads
  • 32 tracks
  • 16 vias
  • 10 nets
  • 3 of 3 autorouted legs

DRC 0 errors, 0 warnings · ERC 0 errors, 0 warnings · compiled in 1.0 s

examples/badge

a round OSH Park badge: charlieplexed rim LEDs, curved text, silk logo, a lanyard slot, a pogo programming array and a coin cell on the back

Badge, 3d view

Badge pcb.tsx

Badge: a round 40 mm wearable badge with a flat bottom edge, an ATtiny85 charlieplexing six rim LEDs, run from a CR2032 on the back.

  • 18 parts
  • 47 pads
  • 51 tracks
  • 19 vias
  • 11 nets
  • 31 of 31 autorouted legs
  • 3 with no 3D model

DRC 0 errors, 0 warnings · ERC 0 errors, 0 warnings · compiled in 2.3 s

examples/esp32-sensor

an ESP32-C3 sensor node, 40 by 30 mm on two layers, built from the README and docs alone

esp32-sensor, 3d view

esp32-sensor pcb.tsx

ESP32 sensor node: ESP32-C3-MINI-1, USB-C with ESD, 3.3 V LDO, BME280, reset and boot buttons, status LED and debug header on a 40 x 30 mm two-layer board.

  • 21 parts
  • 130 pads
  • 93 tracks
  • 30 vias
  • 14 nets
  • 27 of 27 autorouted legs
  • 3 with no 3D model

DRC 0 errors, 0 warnings · ERC 0 errors, 0 warnings · compiled in 4.8 s

examples/eth-phy

a gigabit PHY module, QFN48, magjack and two RGMII match groups of six lines tuned to 0.12 mm, four layers

Known findings: one silk-over-edge warning: the RJ45 overhangs the board edge by design

eth-phy, 3d view

eth-phy pcb.tsx

eth-phy: a gigabit Ethernet PHY module.

  • 25 parts
  • 166 pads
  • 108 tracks
  • 48 vias
  • 37 nets
  • 39 of 39 autorouted legs

DRC 0 errors, 1 warning · ERC 0 errors, 0 warnings · compiled in 6.0 s

examples/led-matrix

an N by N WS2812B-2020 matrix built from a circuit placed per pixel, serpentine data chain, pours on both sides

LedMatrix, 3d view

LedMatrix pcb.tsx

LED matrix: N x N WS2812B-2020 pixels on a two-layer board, chained in a serpentine from J1 at the top to J2 at the bottom.

  • 132 parts
  • 396 pads
  • 321 tracks
  • 129 vias
  • 68 nets
  • 3 of 3 autorouted legs
  • 64 with no 3D model

DRC 0 errors, 0 warnings · ERC 0 errors, 0 warnings · compiled in 3.0 s

examples/lvds-camera

five 100 ohm LVDS pairs with array ends, an I2C level shifter and two custom footprints on four layers

lvds-camera, 3d view

lvds-camera pcb.tsx

lvds-camera: a camera link adapter, 60 x 18 mm, JLCPCB four layer.

  • 10 parts
  • 77 pads
  • 69 tracks
  • 46 vias
  • 19 nets
  • 11 of 11 autorouted legs
  • 2 with no 3D model

DRC 0 errors, 0 warnings · ERC 0 errors, 0 warnings · compiled in 2.6 s

examples/motor-stack/controller

three boards in one folder, controller, driver and test jig, sharing lib/; the driver lays out a half bridge circuit three times

Known findings: driver keeps the ERC warning copper-weight: 2 oz copper under the 1 oz preset rules, kept because the 0.16 mm rules reroute it into split pours

controller, 3d view

controller pcb.tsx

Controller: STM32G431 with FDCAN, 60 x 45 mm, two layers.

  • 37 parts
  • 146 pads
  • 104 tracks
  • 59 vias
  • 27 nets
  • 64 of 64 autorouted legs

DRC 0 errors, 0 warnings · ERC 0 errors, 0 warnings · compiled in 26.8 s

examples/motor-stack/driver

three boards in one folder, controller, driver and test jig, sharing lib/; the driver lays out a half bridge circuit three times

Known findings: driver keeps the ERC warning copper-weight: 2 oz copper under the 1 oz preset rules, kept because the 0.16 mm rules reroute it into split pours

driver, 3d view

driver pcb.tsx

Driver: IR2133S three phase gate driver and six DPAK MOSFETs, 60 x 62 mm, two layers of 2 oz copper.

  • 53 parts
  • 149 pads
  • 108 tracks
  • 90 vias
  • 38 nets
  • 55 of 55 autorouted legs
  • 5 with no 3D model

DRC 0 errors, 0 warnings · ERC 0 errors, 1 warning · compiled in 4.8 s

examples/motor-stack/jig

three boards in one folder, controller, driver and test jig, sharing lib/; the driver lays out a half bridge circuit three times

Known findings: driver keeps the ERC warning copper-weight: 2 oz copper under the 1 oz preset rules, kept because the 0.16 mm rules reroute it into split pours

jig, 3d view

jig pcb.tsx

Jig: a 60 x 45 mm bed of nails for the controller.

  • 16 parts
  • 30 pads
  • 10 tracks
  • 6 vias
  • 9 nets
  • 10 of 10 autorouted legs
  • 8 with no 3D model

DRC 0 errors, 0 warnings · ERC 0 errors, 0 warnings · compiled in 9.3 s

examples/psu

a 24 V to 5 V 5 A buck, copper first: power pours, thermal maps, arcs in the outline and a cutout, 2 oz copper, vendor STEP models

Known findings: none: the regulator's SW, PGND and VIN bars take a 0.02 mm mask margin, inside TI's 0.05 maximum, to keep the 0.13 mm dam black mask needs

PSU, 3d view

PSU pcb.tsx

PSU: 24 V in, 5 V 5 A out, a TPS56637 synchronous buck on a 64 x 42 mm 2-layer board with 2 oz copper.

  • 22 parts
  • 51 pads
  • 15 tracks
  • 133 vias
  • 9 nets
  • 8 of 8 autorouted legs
  • 1 with no 3D model

DRC 0 errors, 0 warnings · ERC 0 errors, 0 warnings · compiled in 1.6 s

examples/qfn-breakout

a QFN64 broken out to four headers by 76 autorouted legs; tangled.tsx turns every header end for end and routes with manual stubs and vias

no shot yet

QFN breakout pcb.tsx

QFN breakout: a QFN64 at 0.5 mm pitch broken out to four 16 pin headers in pin order, every pin a bare route(a, b).

  • 9 parts
  • 146 pads
  • 84 tracks
  • 8 vias
  • 58 nets
  • 76 of 76 autorouted legs

DRC 0 errors, 0 warnings · ERC 0 errors, 0 warnings · compiled in 5.5 s

examples/sdram

an STM32F429 with a 16-bit SDRAM on four layers: 91 autorouted legs and two match groups on a timing budget

Known findings: one length-match error on DATA: the FMC data pins sit on the far sides of the MCU and the only free board lies behind ADDR, so closing it needs the SDRAM moved or the inner layers opened

sdram, 3d view

sdram pcb.tsx

sdram: an STM32F429ZI with a 16-bit SDRAM on its FMC, 55 x 45 mm, four layers on the JLCPCB preset: signals on F.Cu and B.Cu, GND on In1.Cu, 3V3 on In2.Cu.

  • 40 parts
  • 295 pads
  • 276 tracks
  • 164 vias
  • 52 nets
  • 99 of 99 autorouted legs
  • 1 with no 3D model

DRC 1 error, 0 warnings · ERC 0 errors, 0 warnings · compiled in 28.9 s

examples/sensor-hat

a Raspberry Pi HAT in the official outline with 11 model files from KiCad and LCSC

Known findings: none: the 0.5 mm pitch accelerometer has one gang mask opening per pad row

sensor-hat, 3d view

sensor-hat pcb.tsx

Sensor HAT: a Raspberry Pi HAT with BME280, LIS3DH, an OLED header, micro SD, a LiPo charger on USB-C, the HAT ID EEPROM, a buzzer, two buttons and a WS2812B-2020.

  • 29 parts
  • 153 pads
  • 94 tracks
  • 46 vias
  • 27 nets
  • 57 of 57 autorouted legs

DRC 0 errors, 0 warnings · ERC 0 errors, 4 warnings · compiled in 12.2 s

examples/stm32-dev

an STM32F103 board for JLCPCB and OSH Park four layers from one design

stm32-dev, 3d view

stm32-dev pcb.tsx

stm32-dev: an STM32F103C8 dev board, 50 x 35 mm, four layers: signals on F.Cu and B.Cu, GND on In1.Cu, 3V3 on In2.Cu.

  • 31 parts
  • 162 pads
  • 120 tracks
  • 40 vias
  • 46 nets
  • 78 of 78 autorouted legs
  • 3 with no 3D model

DRC 0 errors, 0 warnings · ERC 0 errors, 0 warnings · compiled in 3.9 s

examples/usb-hub

a four port USB 2.0 hub on two layers, every pair from an impedance class with array ends

usb-hub, 3d view

usb-hub pcb.tsx

usb-hub: a bus powered four port USB 2.0 hub, 50 x 30 mm, JLCPCB two layer.

  • 36 parts
  • 208 pads
  • 162 tracks
  • 54 vias
  • 28 nets
  • 43 of 43 autorouted legs

DRC 0 errors, 0 warnings · ERC 0 errors, 0 warnings · compiled in 8.6 s

examples/usb3-hub

a four port USB 3.2 hub on the 3313 four layer preset: SuperSpeed pairs through AC capacitors and ESD arrays, match groups per port, 115 autorouted legs

usb3-hub, 3d view

usb3-hub pcb.tsx

usb3-hub: a bus powered four port USB 3.2 Gen 1 hub, 72 x 44 mm, JLCPCB four layer 3313 stackup.

  • 78 parts
  • 387 pads
  • 334 tracks
  • 109 vias
  • 65 nets
  • 115 of 115 autorouted legs
  • 4 with no 3D model

DRC 0 errors, 0 warnings · ERC 0 errors, 0 warnings · compiled in 19.6 s

examples/usbc-led

the smallest review board: a 5 V USB-C sink, an LDO, two LEDs and a header

Known findings: none: the USB-C receptacle's GND and VBUS pads, 0.15 mm apart, share a gang mask opening at each end

usbc-led, 3d view

usbc-led pcb.tsx

usbc-led: USB-C 5 V in, AP2112K 3.3 V LDO, power LEDs on 5 V and 3.3 V, a 4-pin header breaking out 3.3 V and GND.

  • 15 parts
  • 39 pads
  • 16 tracks
  • 2 vias
  • 7 nets
  • 10 of 10 autorouted legs
  • 2 with no 3D model

DRC 0 errors, 0 warnings · ERC 0 errors, 0 warnings · compiled in 1.0 s

MIT licensed. A proof of concept, pre 0.1.