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
These are retained images from actual design projects. Captions distinguish CAD results, work in progress and physical fabrication.
The full gallery includes routing views, laser-artwork comparisons and a two-sided plated-hole test coupon.
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.
- 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.
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:
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.
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-guipcbsmith-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-runChoose 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.
- Production usage: supported board creation, edits, routing and handover.
- Development and contributing: setup, verification and contribution boundaries.
- Current state and implementation records: present scope and engineering detail.
- Project history: the original headless Phase 0 CLI and architectural foundations.
- Latest public software update: what was published and how it was checked.
PCBSmith is licensed under AGPL-3.0-or-later. Bundled KiCad library assets retain their own terms; see third-party notices.









