OpenPCB is focused on open-source automated circuit board generation from user specification to Gerber/KiCad files with fully open-sourced tools. It provides a framework for generating physical hardware layouts directly from Python code, replacing manual placement and routing with algorithmic synthesis.
Quick Phase 1 setup
- Install KiCad (recommended 7 or 8). On macOS you can use the official installer from https://kicad.org or Homebrew:
brew install --cask kicad- Install SKiDL (optional for later phases):
pip3 install skidl- Run the Phase 1 script (it will try to use
pcbnewif available; otherwise it writes a fallbackhello.kicad_pcbusing local footprints):
PYTHONPATH=$PWD python3 scripts/phase1_hello.py- Open
hello.kicad_pcbin KiCad (File -> Open) to confirm the two footprints are present.
If you don't have KiCad installed yet, the script will still produce hello.kicad_pcb from the local footprint files in data/footprints/ so you can inspect the result after installing KiCad.
Quick steps to try the end-to-end demo locally:
- Install SKiDL (system Python):
pip install skidl- Generate netlist (system Python):
python3 skidl/led_flashlight.py
# -> writes led_flashlight.net- Run the importer with KiCad's Python so
pcbnewis available:
PYTHONPATH=$PWD kicadpy scripts/import_netlist.py led_flashlight.net
# -> writes led_flashlight.kicad_pcb- Open
led_flashlight.kicad_pcbin KiCad and verify the Battery, R1 and D1 placements.
Notes:
- The importer provided here is intentionally minimal for the tutorial and expects the three parts B1, R1 and D1. We'll generalize this in Phase 2.
- If your SKiDL libraries use different symbol names, adjust
skidl/led_flashlight.pyaccordingly.