Skip to content

Repository files navigation

PCBSmith

PCBSmith is an open-source tool for designing printed circuit boards. The long-term goal is to describe a circuit in plain language and get a checked schematic, board layout and manufacturing files. Today it combines a schematic editor prototype with KiCad-based workflows for automatic routing, design review and laser-fabricated boards.

It is under active development. The current tools support supervised engineering work: component choices, design decisions and physical testing still need a person.

Board gallery · Concept to board · Get started · Design workflow · Development

Boards made with PCBSmith

These are retained images from actual design projects. Captions distinguish CAD results, work in progress and physical fabrication.

Thermometer-shaped PCB with an LED column and two OLED display modules
Thermometer
63 components, 53 routed nets and a custom outline. Accepted CAD proof; the render uses some proxy models.
Eight-channel protocol analyzer PCB placement with USB, controller and input header
Eight-channel protocol analyzer
A more complex controller and input-interface study. Placement prototype; routing and review remain open.
Pear-shaped green PCB with LED rings and worm silkscreen artwork
Pear Worm
LED rings following a pear outline, with custom silkscreen. Historical design prototype.
Clover-shaped LED PCB with four lobes and custom silkscreen
Lucky Clover
A compact LED board with a four-lobed outline. Historical design prototype.
Two-channel RC filter board with resistors, film capacitors and input and output headers
DuoFilter
Two-sided RC filter: automatic routing, a resistor revision and a checked CAD handover.
70 by 100 mm single-sided coupon with thin and thick traces and a closely spaced corner bundle
TraceLimits — recent laser test
0.15–1.00 mm traces, a six-net corner test and two isolation widths. CAD handover complete; process measurements pending.

The full gallery includes routing views, laser-artwork comparisons and a two-sided plated-hole test coupon.

From CAD to copper

Real copper-clad board with narrow laser-isolation channels around traces and contact pads

An early single-sided laser test, photographed by the builder. The builder reported that the process worked and requested wider isolation channels for the next tests. This is a physical fabrication result; the newer trace-width and plating coupons are still awaiting measurements.

What it can do today

  • Plan and edit circuits: a schematic editor prototype, structured project data, component catalogs and CLI tools.
  • Work with KiCad: native schematics and PCB files, component and footprint checks, electrical/design-rule checks, and 2D/3D review images.
  • Route boards automatically: pinned Freerouting is the default for ordinary board jobs, with placement review and bounded retries.
  • Revise an existing design: local board edits and reviewed component substitutions, including supported SMD replacements in the same footprint.
  • Prepare a handover: editable vector floorplans, an interactive HTML BOM, Gerber/drill exports and recorded checks tied to the delivered board.
  • Prepare laser artwork: single- and two-sided isolation SVG/PNG, pad-only coating-removal masks, and comparisons between retained background copper and locally cleared areas.

The main fabrication scope is single- and two-sided boards. Laser CAM currently supports documented straight-track/simple-pad geometry; unsupported cases are reported. See current scope and limits for the details. A clean CAD check does not establish component fit, circuit operation or a qualified fabrication process.

From concept to board

A finished render is one step in the process. Here is the same TraceLimits board moving from a dimensioned concept to real copper geometry and laser artwork:

TraceLimits vector concept before native PCB placement
1. Concept and placement intent
Board dimensions, probe positions and routing corridors.
Automatically routed TraceLimits front copper
2. Routed and checked PCB
16 nets, 46 segments, front copper only.
Four laser-isolation and local-clear variants for the same TraceLimits board
3. Fabrication artwork
Compare channel widths and background-copper removal.

The illustrated development walkthrough also shows the schematic, 3D inspection, pad-only coating mask and interactive BOM, then explains the physical measurements still to come. Download the working BOM example to open locally in a browser.

Get started

The maintained development setup is Python 3.12.12, uv 0.11.23 and KiCad 10 with its symbol and footprint libraries. See development setup for native-tool paths, optional dependencies and verification.

git clone https://github.com/IgorCulafic/PCBSmith.git
cd PCBSmith
uv sync --frozen --all-extras --python 3.12.12
uv run --frozen --all-extras pcbsmith-gui

pcbsmith-gui opens the schematic editor prototype. Native board generation, review, routing and delivery use the separate production CLI workflow.

To see CLI commands or run the standard developer checks:

uv run --frozen --all-extras pcbsmith --help
uv run --frozen --all-extras python -B tools/verify.py --output .pcbsmith/verification/first-run

Choose a new verification output directory for each run. The standard checks cover the dependency lock, lint, types, architecture, workflow entry points and ordinary tests. The optional deep profile also requires live KiCad/ngspice tools.

Documentation and contributing

License

PCBSmith is licensed under AGPL-3.0-or-later. Bundled KiCad library assets retain their own terms; see third-party notices.

About

Open-source PCB design tools: KiCad workflows, automatic routing, design review and laser fabrication. Working toward plain-language circuit-to-board design.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages