Open-source tools for the complete PCB design workflow.
AI-assisted EDA Β· Schematic Capture Β· SPICE Simulation Β· Signal Integrity Β· Layout Automation Β· DFM Β· Fabrication CI/CD Β· Hardware Testing Agents
- π‘ Why This Exists
- π Quick Start
- π₯ Featured This Month
- πΊ Workflow Map
- π Tools by Stage
- π Requirements & Specification
- π Schematic Capture
- π¦ Component Libraries & BOM Management
- β‘ SPICE & Circuit Simulation
- π‘ Signal Integrity & EMC Analysis
- π₯ PCB Layout & EDA
- π Fabrication & Gerber Tooling
- π© DFM & Panelization
- π§ͺ Testing & Verification
- π€ AI & Automation
- π Documentation & Collaboration
- π Learning Resources
- π OrCAD Integration Cheatsheet
- β Star History
Most "awesome" PCB lists stop at schematic capture. Real hardware engineering is a 12-stage pipeline, and broken toolchains in any stage kill productivity. This repo covers everything β from design intent to tested board β with open-source tools that plug into your existing OrCAD-based flow or replace proprietary stages entirely.
- π Full pipeline coverage β requirements, schematic, simulation, layout, DFM, fabrication, test, and documentation.
- π§ OrCAD-first integration notes β every tool documents how it connects to OrCAD Capture, PSpice, and Allegro.
- π€ AI-augmented β modern scripting and AI tools that eliminate repetitive manual design tasks.
- π¦ Curated, not dumped β each entry is verified, actively maintained, with a one-line "why use it" note.
- π 100% open source β no EDA vendor lock-in, no paywalls, no telemetry.
Get a complete open-source PCB environment running in under 5 minutes:
# 1. Install KiCad β the open EDA that reads/writes OrCAD netlists
brew install --cask kicad # macOS
sudo apt install kicad # Ubuntu/Debian
winget install KiCad.KiCad # Windows
# 2. Install ngspice for SPICE simulation
brew install ngspice # macOS
sudo apt install ngspice # Ubuntu/Debian
# 3. Clone this repo for workflow scripts and templates
git clone https://github.com/piyushbag/awesome-pcb-workflow.git
cd awesome-pcb-workflow
# 4. Install Python toolchain helpers
pip install -r requirements.txt # kibot, kibom, kicost, skidl, pymeasure| Tool | What it does | Stage |
|---|---|---|
| π faebryk | Graph-based schematic design in Python β AI-assisted part selection and constraint solving. | Schematic |
| β‘ SpiceSharp | Spice# is a cross-platform electronic circuit simulator based on Berkeley Spice - the mother of commercial... | Simulation |
| π InvenTree | Full inventory + BOM management system (self-hosted, API-driven). | BOM |
| π KiKit | CLI panelization: mouse-bites, V-cuts, fiducials, automated tab placement from JSON config. | Fabrication |
| π KiBot PDF Export | Auto-generate schematic PDFs and assembly drawings in CI. | Testing |
π¬ Watch this repo to get notified when new tools are added each month.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β PCB DESIGN WORKFLOW β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β π Requirements & Specification β
β β β
β βΌ β
β π Schematic Capture ββββ π¦ Component Library β
β β β β
β βΌ βΌ β
β β‘ SPICE Simulation π° BOM Management β
β β β
β βΌ β
β π‘ Signal Integrity & EMC Analysis β
β β β
β βΌ β
β π₯οΈ PCB Layout / EDA ββββ π§ 3D Visualization β
β β β
β βΌ β
β β
Design Rule Check (DRC) & DFM Analysis β
β β β
β βΌ β
β π Fabrication Prep ββββ π© Panelization ββββ ποΈ Gerber QA β
β β β
β βΌ β
β π§ͺ Test & Verification ββββ π Debug β
β β β
β βΌ β
β π Documentation ββββ π Version Control ββββ π Release β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Capture and manage design requirements before a single wire is drawn.
| Tool | Description | License |
|---|---|---|
| π Doorstop | Git-native requirements management β trace requirements to schematic notes and design properties. | MIT |
| ποΈ Obsidian | Free-form engineering notebook: decisions, constraints, block diagrams, links. | Free |
| π draw.io / diagrams.net | Open-source block diagram and architecture drawing tool. | Apache-2.0 |
| π OSHW Checklist | Open hardware compliance and requirements checklist from OSHWA. | β |
| ποΈ Mermaid | Markdown-based diagram-as-code for system architecture in docs. | MIT |
Draw, annotate, and export schematics. Every tool documents its OrCAD interoperability.
| Tool | Description | OrCAD Integration | License |
|---|---|---|---|
| π¦ KiCad | Industry-leading open EDA β schematic + PCB in one suite. 50k+ community symbols. | Import OrCAD .dsn via netlist converter. |
GPL-3.0 |
| π© LibrePCB | Modern, clean EDA with strict library management and real-time ERC. | Netlist import via KiCad bridge. | GPL-3.0 |
| β‘ SKiDL | Describe schematics in pure Python β generate netlists programmatically, version-controllable. | Export to OrCAD-compatible .net. |
MIT |
| πΆ atopile | Code-driven schematic design with type safety, reuse, and auto part selection. | Exports to KiCad / Gerber. | MIT |
| π« gEDA/gschem | Veteran open-source EDA with deep Scheme scripting and netlist flexibility. | Netlist export compatible. | GPL-2.0 |
| π Horizon EDA | Constraint-based EDA with real-time DRC, pooled parts library. | β | GPL-3.0 |
| π faebryk | Graph-based schematic design in Python β AI-assisted part selection and constraint solving. | Netlist export. | MIT |
| π₯ PcbDraw | Convert your KiCAD board into a nicely looking 2D drawing suitable for pinout diagrams. | β | MIT |
| π¦ kicanvas | The KiCAD web viewer. | β | NOASSERTION |
| β‘ CircuitPro | Circuit Pro β a Mac-native PCB design tool. Free for personal and commercial use. | β | NOASSERTION |
OrCAD Users: See our full guide β docs/orcad-to-kicad.md
Keep component data clean, costs low, and inventory tracked.
| Tool | Description | License |
|---|---|---|
| π KiCad Official Libraries | 50,000+ verified symbols and footprints, community-maintained. | CC-BY-SA-4.0 |
| π Component Search Engine | Free EDA models for 35M+ parts β OrCAD, KiCad, Altium formats. | Free |
| β‘ SnapEDA | Industry-standard free component library with verified footprints. | Free |
| π¦ Ultra Librarian | 13M+ free CAD models for all major EDA tools including OrCAD. | Free |
| ποΈ KiCad Library Convention | Standards guide for building clean, standardized libraries. | β |
| π¬ Octopart | Multi-distributor component search with parametric filtering. | Free |
| Tool | Description | OrCAD Integration | License |
|---|---|---|---|
| π KiBOM | Configurable BOM export from KiCad schematics to CSV, HTML, Excel. | β | MIT |
| π° KiCost | Real-time pricing from Mouser, Digi-Key, Arrow, LCSC. | Works with OrCAD netlists. | MIT |
| π InteractiveHtmlBom | Interactive BOM with visual component highlighting on PCB image. | OrCAD BOM CSV β ibom. | MIT |
| π InvenTree | Full inventory + BOM management system (self-hosted, API-driven). | REST API integration. | MIT |
| π¦ Partkeepr | Open-source parts management with stock tracking and datasheets. | CSV import. | AGPL-3.0 |
| π Kitspace BOM Builder | Web-based BOM building with multi-distributor price lookup. | β | AGPL-3.0 |
Simulate before you spin a board. Catch topology mistakes for free.
| Tool | Description | Best For | License |
|---|---|---|---|
| π¬ ngspice | The open-source SPICE standard β transient, AC, DC, noise, Monte Carlo. | All-purpose circuit simulation. | BSD |
| π Qucs-S | Qt GUI for ngspice/Xyce with RF S-parameter and harmonic balance support. | RF circuits with GUI. | GPL-2.0 |
| π PySpice | Python API to ngspice β scriptable parametric and sweep simulation. | Design space exploration. | GPL-3.0 |
| β‘ Xyce | High-performance parallel SPICE by Sandia National Labs. | Large mixed-signal circuits. | GPL-3.0 |
| π Qucs | Circuit simulator with S-parameters, Verilog-A, and harmonic balance. | RF/microwave, S-param. | GPL-2.0 |
| π SchemDraw | Draw and annotate schematics in Python, pair with PySpice. | Quick topology docs. | MIT |
| β‘ ahkab | a SPICE-like electronic circuit simulator written in Python. | Circuit simulation. | GPL-2.0 |
| β‘ SpiceSharp | Spice# is a cross-platform electronic circuit simulator based on Berkeley Spice - the mother of commercial... | Circuit simulation. | MIT |
| β‘ EEcircuit | A browser-based SPICE circuit simulator. | Circuit simulation. | MIT |
OrCAD PSpice Users:
.cirnetlists from PSpice are directly compatible with ngspice. See our migration guide β docs/pspice-to-ngspice.md
Catch SI/EMC problems before fab β boards are expensive, simulation is free.
| Tool | Description | License |
|---|---|---|
| π openEMS | Open-source 3D EM field simulator using FDTD β free alternative to HFSS/CST. | GPL-3.0 |
| π‘ atlc | Arbitrary transmission line calculator β 2D cross-section impedance from geometry. | GPL-2.0 |
| π scikit-rf | Python RF/microwave analysis: S-params, network analysis, de-embedding, calibration. | BSD |
| π§ Saturn PCB Toolkit | Free Windows app: impedance, via current, trace width, differential pair calculators. | Freeware |
| π MMTL | Multiconductor transmission-line solver for complex trace geometries. | GPL-2.0 |
| π KiCad Impedance Calculator | Built-in PCB trace and via impedance calculator inside KiCad. | GPL-3.0 |
| π¬ Sonnet Lite | Free tier of Sonnet EM planar 3D EM simulator. | Freeware |
| β‘ AppCAD | Free RF design and impedance tool from Broadcom/Avago. | Freeware |
| π‘ RuView | Ο RuView turns commodity WiFi signals into real-time spatial intelligence, vital sign monitoring, and presence... | MIT |
| π§ rtl_433 | Program to decode radio transmissions from devices on the ISM bands (and other frequencies). | GPL-2.0 |
| π‘ FISSURE | The RF and reverse engineering framework for everyone. Follow and β to show your support! | GPL-3.0 |
| π‘ Artemis | Radio Signals Recognition Manual. | GPL-3.0 |
Place, route, and verify your board geometry.
| Tool | Description | OrCAD Integration | License |
|---|---|---|---|
| π¦ KiCad pcbnew | World-class open PCB layout with interactive router, DRC, and 3D view. | Import via IPC-2581 or KiCad netlist. | GPL-3.0 |
| π Horizon EDA layout | Real-time DRC, constraint-driven routing, pooled library. | β | GPL-3.0 |
| π pcbnew Python API | Full PCB manipulation and automation via Python scripting inside KiCad. | β | GPL-3.0 |
| π LibrePCB layout | Beginner-friendly with strict design rule enforcement, clean UI. | β | GPL-3.0 |
| π¨ FreeRouting | Java-based autorouter that plugs into KiCad and accepts DSN files. | DSN netlist import. | GPL-3.0 |
| π© TopoR Lite | Topological autorouter with topology-preserving rerouting (free lite). | Netlist import. | Freeware |
| Tool | Description | License |
|---|---|---|
| π§ KiCad 3D Viewer | Real-time 3D PCB viewer with STEP, VRML, and IDF export. | GPL-3.0 |
| π© FreeCAD KiCad StepUp | Bi-directional mechanical/PCB co-design β changes sync both ways. | LGPL-2.0 |
| π OpenSCAD | Parametric enclosure design from PCB dimensions via script. | GPL-2.0 |
| π Diode.io | Browser-based 3D PCB viewer for sharing designs with stakeholders. | Free |
Generate, verify, and send fab-ready files.
| Tool | Description | License |
|---|---|---|
| π KiBot | CI/CD automation: Gerbers, drill, BOM, PDF docs, 3D models β one YAML config. | GPL-3.0 |
| ποΈ Gerbv | The open-source Gerber/Excellon viewer β battle-tested and reliable. | GPL-2.0 |
| π Tracespace | Web-based Gerber viewer with layer compositing and drill visualization. | MIT |
| π pcb-tools | Python library for reading, writing, and transforming Gerber files. | MIT |
| π pygerber | Modern Python Gerber renderer with DFM checking. | MIT |
| π¦ jlcpcb-tools | KiCad plugin: one-click JLCPCB order with LCSC BOM generation. | MIT |
| π OpenBoardView | View .brd / .bvr board files for repair and reverse engineering. |
MIT |
| π GerberTools | Gerber file manipulation, panelization, and merging utility. | MIT |
Make your board manufacturable at scale.
| Tool | Description | License |
|---|---|---|
| π KiKit | CLI panelization: mouse-bites, V-cuts, fiducials, automated tab placement from JSON config. | MIT |
| π DFMNow | Free DFM analysis for Gerber files β checks clearances, annular rings, min trace. | Freeware |
| π JLCPCB DFM Checker | Web-based DFM checker targeting JLCPCB design rules. | Free |
| π gerber-panelizer | Script-driven Gerber panelization with configurable spacing. | MIT |
| π§ PCB Shopper | Compare Gerber specs across 30+ PCB manufacturers β price and lead time. | Free |
Verify the board works before it goes to production.
| Tool | Description | License |
|---|---|---|
| π PyMeasure | Python instrument control: Keysight, Tektronix, R&S, Stanford Research, Fluke. | MIT |
| π¬ OpenTAP | Industrial test automation platform β write test steps in C# or Python plugins. | MPL-2.0 |
| π‘ sigrok / PulseView | Open-source logic analyzer frontend: 100+ protocol decoders, scope integration. | GPL-3.0 |
| π OpenOCD | Open On-Chip Debugger β JTAG/SWD for firmware-level test on hardware. | GPL-2.0 |
| π cocotb | Python-based HDL co-simulation for FPGA/ASIC co-verification. | BSD |
| π§ͺ labgrid | Lab automation framework: coordinate power, serial, JTAG across a test farm. | LGPL-2.1 |
| Tool | Description | License |
|---|---|---|
| π UrJTAG | Universal JTAG boundary scan β supports 1000+ device BSDL files. | GPL-2.0 |
| π¬ pyBSL | Python boundary scan library for board-level testing. | MIT |
Let code do the repetitive design work.
| Tool | Description | License |
|---|---|---|
| β‘ atopile | Code-first hardware design β generate schematics from typed, reusable modules. | MIT |
| π SKiDL | Describe PCB schematics in Python β parametric, versionable, testable in CI. | MIT |
| π€ KiBot | CI/CD pipeline for PCB: fab outputs, docs, and checks on every Git push. | GPL-3.0 |
| π§ faebryk | Graph-based PCB design framework with AI-assisted part selection. | MIT |
| π KiCad Python Scripting | Full pcbnew Python API β automate placement, routing, and export. | GPL-3.0 |
| π¬ spade | Hardware description language for PCB-level digital design. | EUPL-1.2 |
| π JITX | Design-intent language for PCB automation (free tier available). | Proprietary (free tier) |
| π gdsfactory | Python-driven photonic / mixed PCB chip layout with automated DRC. | MIT |
| π§ pcbflow | Python scripting layer over KiCad pcbnew for programmatic board generation. | MIT |
Document designs so every engineer on the team can understand them.
| Tool | Description | License |
|---|---|---|
| π Kitspace | Git for hardware β public PCB project hosting with 3D preview and BOM pricing. | AGPL-3.0 |
| π¦ Aisler | Shareable PCB project pages with fabrication integration. | Free |
| π KiBot PDF Export | Auto-generate schematic PDFs and assembly drawings in CI. | GPL-3.0 |
| π·οΈ IPC-2581 | Open fab data format replacing Gerber/ODB++ β KiCad exports natively. | Standard |
| π Git for Hardware | Git workflow for PCB: what to commit, binary handling, CI integration. | β |
| Resource | Description |
|---|---|
| π IPC Standards | IPC-2221 (design), IPC-7711 (rework), IPC-A-610 (acceptance criteria) β free previews. |
| π‘ Henry Ott EMC Tech Tips | Free EMC design reference from the author of the industry bible. |
| π¬ Eric Bogatin SI Resources | Free signal integrity resources, webinars, and rule-of-thumb guides. |
| Resource | Description |
|---|---|
| π Phil's Lab (YouTube) | Best free KiCad + hardware engineering YouTube channel β end-to-end board builds. |
| π« Contextual Electronics | Project-based PCB design courses from beginner to advanced. |
| π¬ r/PrintedCircuitBoard | Design reviews, community Q&A, and tool recommendations. |
| π EEVblog Forum | Veteran electronics engineering community β SI, EMC, test, production. |
| π Hackaday.io | Open hardware project hosting with community feedback. |
Quick reference for plugging OrCAD into the open-source ecosystem:
OrCAD Capture ββ(netlist .net export)βββΆ KiCad pcbnew / SKiDL / KiBOM
OrCAD PSpice ββ(.cir netlist)ββββββββββΆ ngspice / PySpice / Xyce
OrCAD Allegro ββ(IPC-2581 export)βββββββΆ KiKit panelization / KiBot CI / FreeCAD
OrCAD BOM ββ(CSV export)ββββββββββββΆ KiCost / InvenTree / InteractiveHtmlBom
OrCAD 3D ββ(STEP export)βββββββββββΆ FreeCAD / OpenSCAD
| OrCAD Tool | Open-Source Equivalent | Migration Guide |
|---|---|---|
| OrCAD Capture | KiCad Eeschema / SKiDL | docs/orcad-to-kicad.md |
| OrCAD PSpice | ngspice / PySpice | docs/pspice-to-ngspice.md |
| OrCAD Allegro | KiCad pcbnew | docs/orcad-integration/ |
| OrCAD BOM | KiCost + InteractiveHtmlBom | docs/orcad-integration/ |
Full integration guides β
docs/orcad-integration/
Star the repo to get notified when new tools are added, and to help other engineers find this resource.
Built with β€οΈ for hardware engineers, by hardware engineers.
β Star Β Β·Β π΄ Fork Β Β·Β π Report an Issue Β Β·Β π¬ Submit a Tool