kicad-router-orchestrator

Automate KiCad PCB routing with FreeRouting DSN/SES and DRC checks.

15|1|Updated Oct 23, 2025
One-click install
npx skills add https://github.com/synqing/K1.hardware --skill kicad-router-orchestrator
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: kicad-router-orchestrator
Source: https://github.com/synqing/K1.hardware/tree/main/.claude/skills/kicad-router-orchestrator
Command: npx skills add https://github.com/synqing/K1.hardware --skill kicad-router-orchestrator

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires kicad-cli, java, python3.

What problem does it solve?

Manual PCB routing is a time-consuming and complex task, especially for dense boards or those with critical nets. This Skill orchestrates automated PCB routing using the FreeRouting DSN/SES loop, handling critical nets, differential pairs, and ensuring design rule compliance, significantly reducing routing time and improving design quality.

Core Features & Use Cases

  • Automated Routing Workflow: Manages the export to DSN, execution of FreeRouting, and import of routed SES files back into KiCad.
  • Critical Net Handling: Prioritizes and routes high-importance nets (power, high-speed signals) with specific constraints.
  • DRC Verification: Integrates design rule checks to ensure the routed board meets all electrical and manufacturing specifications.
  • Use Case: Quickly route complex PCBs, iterate on routing strategies for optimal performance, or automate the routing step in a continuous integration pipeline for hardware.

Quick Start

Export board to FreeRouting DSN format

import os def export_dsn(board_file: str) -> str: os.system(f"kicad-cli pcb export dsn {board_file} output.dsn") return "output.dsn"

Frequently Asked Questions about kicad-router-orchestrator

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I automate PCB routing with FreeRouting and KiCad?

Automate PCB routing by exporting your KiCad board to DSN format, running FreeRouting to generate routed traces, then importing the SES file back into KiCad. This Skill orchestrates the entire workflow, handling critical nets, differential pairs, and design rule checks automatically.

Can I route complex PCBs with critical nets and differential pairs automatically?

Yes. This Skill prioritizes high-importance nets like power and high-speed signals with specific constraints, routes differential pairs with matched trace lengths, and applies design rule checks to ensure electrical and manufacturing compliance throughout the routing process.

What's the best way to integrate automated routing into a CI/CD pipeline for hardware?

Use headless operation via kicad-cli and Java-based FreeRouting with DSN/SES export-import cycles. This Skill manages the entire integration, supporting command-line execution and iteration workflows so routing fits seamlessly into continuous hardware deployment.

Do I need FreeRouting installed separately to use this Skill?

This Skill requires Java and Python3 alongside kicad-cli. FreeRouting runs as a Java-based tool orchestrated by this Skill; the Skill handles DSN export, FreeRouting execution, and SES import without manual intervention.

How does design rule checking work in the routing workflow?

After FreeRouting completes routing, the Skill runs DRC verification to validate that traces meet electrical spacing, trace width, and manufacturing specifications. Failed checks trigger iteration, allowing you to refine routing strategies and re-run until compliance is achieved.