Better Boards, Faster

Python-defined circuits with Claude Code as your intelligent design partner. Automatic error checking, design history tracking, and AI-powered review catch mistakes early and eliminate tedious tasks. Complete transparency and control - enhance your workflow without lock-in.

Documentation PyPI version License: MIT
from circuit_synth import *

# Simple 3.3V voltage regulator
@circuit(name="voltage_regulator")
def voltage_regulator():
    """3.3V voltage regulator with input/output caps"""
    
    # Create power nets
    VIN = Net('VIN')
    VOUT = Net('VOUT')
    GND = Net('GND')
    
    # Voltage regulator
    reg = Component(
        symbol="Regulator_Linear:AMS1117-3.3",
        ref="U",
        footprint="Package_TO_SOT_SMD:SOT-223-3_TabPin2"
    )
    
    # Input and output capacitors
    c_in = Component(symbol="Device:C", ref="C", value="10uF")
    c_out = Component(symbol="Device:C", ref="C", value="22uF")
    
    # Connect the circuit
    reg["VIN"] += VIN
    reg["VOUT"] += VOUT
    reg["GND"] += GND
    
    c_in[1] += VIN
    c_in[2] += GND
    c_out[1] += VOUT
    c_out[2] += GND

# Generate KiCad project
circuit = voltage_regulator()
circuit.generate_kicad_project("voltage_regulator")
Generated KiCad Schematic

Generated KiCad Schematic

Generated PCB Layout

Generated PCB Layout

Professional Circuit Design Features

Built for real engineering teams who need professional, production-ready circuit design tools

šŸ—ļø

Professional Workflow

Work in traditional KiCad or Python - your choice. Make changes in either environment, then sync when ready. One-to-one mapping: every Python component and connection becomes exactly one KiCad component and connection. You control when updates happen, KiCad remains the source of truth, and nothing is hidden or altered unexpectedly.

KiCad ↔ Python ↔ Transparent 1:1 mapping
ā†”ļø

Works With Existing Projects

Import your existing KiCad projects and enhance them with Python automation. No need to start from scratch - add new functionality to designs you've already invested time in.

Existing Design + Python Enhancement = Better Board
šŸ¤–

AI-Enhanced Workflow

A true AI assistant for every phase of professional EE workflow. Claude Code + Circuit-synth can generate complete circuits independently, assist with design and troubleshooting, automatically track progress and decisions, manage BOMs, and even help with FMEA analysis. From initial concept to production-ready design.

"Design an ESP32 IoT sensor" → Complete manufacturable design
šŸ­

Manufacturing Integration

Real-time JLCPCB component availability and pricing. Components are pre-verified for automated assembly, eliminating manufacturing surprises.

šŸ“Š Stock: 83,737 units | Price: $2.50@100pcs
⚔

Automated SPICE Simulation

One-click simulation setup with automatic netlist generation. Get operating points, AC analysis, and transient response without manual SPICE file creation.

sim = circuit.simulator()
result = sim.operating_point()
šŸ”§

Production Ready

Generates clean, human-readable Python files and professional KiCad projects. Not machine-generated gibberish - code you can understand, modify, and maintain.

Professional KiCad + Readable Python

šŸ¤– Built for Intelligent Automation

Circuit-synth is built for intelligent automation. We chose Claude Code as our AI engine because it delivers the most advanced agentic coding experience available today

AI-First Development

We've optimized the entire codebase for Claude Code workflows. CLAUDE.md provides comprehensive instructions, specialized agents handle complex tasks, and our todo system tracks progress automatically.

  • āœ… Comprehensive CLAUDE.md: Complete development guide with commands, patterns, and workflows
  • āœ… Specialized Agents: circuit-architect, power-expert, component-guru for domain expertise
  • āœ… Memory Bank System: Track complete board design history, debug sessions, failures, and design decisions in one persistent knowledge base that grows with every project
  • āœ… Contributor Focused: Claude Code + GitHub MCP = up and running in 5 minutes. We want to make it easy and fun to contribute to Circuit-Synth!
Claude Code Integration

Claude Code handling circuit design from natural language to KiCad

Ready to Contribute?

Clone the repo and ask Claude Code: "Help me add a new feature to circuit-synth"

git clone https://github.com/circuit-synth/circuit-synth.git
cd circuit-synth
# Open in Claude Code and start contributing!

Get Started in Minutes

Create a complete ESP32-C6 development board project with hierarchical design in under 2 minutes

# Install uv (Python package manager)
curl -LsSf https://astral.sh/uv/install.sh | sh

# Create new project
uv init my_circuit_project
cd my_circuit_project

# Add circuit-synth
uv add circuit-synth

# Setup complete project template
uv run cs-new-project

# Generate complete KiCad project  
uv run python circuit-synth/main.py

# Result: ESP32-C6 dev board with:
# - USB-C with CC resistors
# - 5V→3.3V power regulation  
# - Programming interface
# - Status LED control

šŸ” Component Intelligence & AI Integration

Tightly integrated with Claude Code for natural language circuit design and component search

Natural Component Search via Claude Code

šŸ‘¤ "find a stm32 mcu that has 3 spi's and is available on jlcpcb"
šŸ¤– Claude Code searches and finds:
STM32G431CBT6 - Found matching component
šŸ“Š Stock: 83,737 units | Price: $2.50@100pcs | LCSC: C529092
āœ… 3 SPIs: SPI1, SPI2, SPI3
šŸ“¦ LQFP-48 package | 128KB Flash, 32KB RAM

Claude Code Integration

Circuit-synth is purpose-built for Claude Code - Anthropic's AI coding assistant. Get production-ready circuits from natural language:

šŸ‘¤ "Design an ESP32 IoT sensor with LoRaWAN and solar charging"
šŸ¤– Claude Code automatically:
āœ… Searches JLCPCB for available components
āœ… Generates hierarchical Python circuits
āœ… Creates complete KiCad project files
āœ… Validates design with simulation

KiCad Plugin - Direct Claude Code Access

Our KiCad plugin creatively repurposes the BOM generation system to create a direct line to Claude Code. What KiCad designed for parts lists, we use for AI-powered circuit analysis. It's unconventional and a bit clunky, but people seem to find it interesting!

  • šŸ’¬ Ask About Circuits: "How can I improve this power supply?" or "What's wrong with this amplifier?"
  • šŸ¤– Claude Code Bridge: Uses KiCad's BOM script system as a backdoor to Claude Code
  • ⚔ Schematic Context: Claude Code sees your complete circuit for intelligent analysis
  • šŸ”§ Design Suggestions: Get optimization tips, component alternatives, and troubleshooting help

A quirky backdoor using KiCad's BOM system for AI circuit analysis - not elegant, but it works! Thank you BlackCoffee!! Your forum insights helped inspire this approach.

KiCad Plugin in Action

KiCad plugin providing direct Claude Code access for circuit analysis

Join the Community

Connect with engineers building the future of circuit design automation

šŸ“¦ GitHub Repository

Source code, issues, and contributions

View Repository

šŸ“š Documentation

Complete guides and API reference

Read Docs

šŸ’¬ Discussions

Community support and feature requests

Join Discussion

šŸ› Issues

Bug reports and feature tracking

Report Issues