- 🔍 Component search from indexed KiCad libraries
- 📋 Datasheet analysis to extract reference circuits and pin configs
- ⚡ Circuit generation with correct connections and values
- ✅ LLM-driven validation loop that checks the design, then iterates on fixes
- 📤 KiCad export — schematics, netlists, and PDF docs
- 💬 Modern web UI with real-time streaming chat and tool tracking
- Python 3.11+
- Node.js 22+
- KiCad, including
kicad-cli - An OpenAI-compatible model provider
git clone https://github.com/tk-king/pcbGPT.git
cd pcbGPT
docker compose up --build- Frontend: http://localhost:5173
- Backend API: http://localhost:8000 (docs at
/docs)
Install the backend dependencies:
cd backend
uv sync --extra devStart the FastAPI backend:
uv run python main.pyIn a second terminal, start the frontend:
cd frontend
npm ci
npm run devDatasets/ and datasheets/ contain local runtime data and are excluded from Git. After configuring your KiCad paths in the Parts screen, use Parts → Reindex to build the component search indexes. Datasheet PDFs and page-preview caches are downloaded as needed.
Configure an LLM provider from the Settings screen. Never commit API keys or real provider credentials.
Download the latest prebuilt desktop app from the releases:
- 🪟 Windows: PCBGPT.exe
- 🍎 macOS: pcbGPT-macos.dmg
-
Configure a provider — open Settings (gear icon) and add your LLM API key + models.
-
Index parts — click Parts, configure the KiCad library paths, and run Reindex.
-
Describe a circuit — start a session and type a prompt, e.g.:
Design a buck converter that converts 12V to 3.3V at up to 1A. Use a TI TPS5430 and include input/output filtering. -
Review & export — the agent searches parts, reads datasheets, generates and validates the circuit, then exports KiCad project files. Download the Netlist (SPICE) or Project (full KiCad files).
Generated designs must be reviewed by a qualified engineer before fabrication or use in safety-critical systems.
- Issues: GitHub Issues
- Discussions: GitHub Discussions
