Freerouting is an advanced autorouter for all PCB programs that support the standard Specctra or Electra DSN interface.
Download installers for Windows, Linux, and macOS here.
Freerouting is a powerful PCB autorouter compatible with any PCB design software that supports the standard Specctra or Electra DSN interface. It imports .dsn files generated by the host system's Specctra interface and exports .ses Specctra session files.
You can interact with Freerouting using the Graphical User Interface (GUI), the Command Line Interface (CLI), or the Freerouting API. All interfaces support command-line arguments to set input/output files or modify settings.
Integrations are available with:
-
Launch Freerouting: Upon launching, you'll see the main interface.
-
Open Your Design: Go to
File>Open...and select your.dsninput file. -
Start Autorouting: Click the
Magic Wandicon to begin the autorouting process. -
Monitor Progress: Watch the routing progress visually in the board editor and numerically in the footer.
-
Completion: Wait for the autorouter to finish all passes. This may take from a few minutes to several hours.
-
Save Your Routed Board: Go to
File>Save as...to save your routed board as a.sesfile.
When using the CLI, you'll work with an input file (e.g., Specctra .dsn) exported from your EDA tool. Freerouting will autoroute unconnected nets and save the results for re-import into your EDA (e.g., as a Specctra .ses file).
Common command-line arguments:
-de [design input file]: Load a Specctra design file (.dsn) at startup.-do [design output file]: Save a Specctra session file (.ses) after routing.-l [language]: Set the language (e.g.,enfor English,defor German).-inc [net class names]: Ignore specified net classes during routing.-help: Display help information.
Example Command:
java -jar freerouting-2.1.0.jar -de MyBoard.dsn -do MyBoard.ses -inc GND,VCCThis command routes MyBoard.dsn, ignores the GND and VCC net classes, and outputs MyBoard.ses.
For more details (including headless mode), see the CLI documentation.
Freerouting offers public API endpoints for PCB routing. The API root is https://api.freerouting.app/v1. Check the service status at /system/status.
To access full functionality, request access on the Freerouting website.
Please note that the Freerouting API and its documentation are in beta and may change.
Installers are available for Windows x64, Linux x64, and macOS. For other systems, you can run the platform-independent .jar file if you have Java JRE installed.
Steps:
-
Download the JAR File: Get the latest
.jarfrom the Releases page. -
Install Java JRE: Download and install Java JRE.
- Choose your operating system and architecture.
- Select
JREas the package type. - Choose version
21.
-
Run Freerouting:
java -jar freerouting-2.1.0.jar
Note for macOS Users: Launch Freerouting from the Terminal; starting from Finder is not supported.
Freerouting Docker images for both stable releases (e.g., 2.1.0) and development (nightly) builds are available directly from ghcr.io/freerouting/freerouting.
We โค๏ธ all our contributors; this project wouldn't be possible without you!
- Report Issues: Help us by reporting issues.
- Contribute Code: Submit fixes and improvements via pull requests.
- Guidelines: Check out our Contribution Guide and Developer Documentation.
If you'd like to support the project financially, please consider sponsoring the project.
Every contribution, no matter how small, is greatly appreciated!