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"