
FreeRouting
FreeRouting
oshwhub-official4FreeRouting Auto-Router Integration
With this extension, you can directly push PCB files to the open-source auto-routing tool FreeRouting without manually running FreeRouting or handling import/export of routing files, enabling one-click auto-routing and providing a new option for PCB automatic routing.
Features
- Quick Auto-Routing - One-click startup with optimized default parameters for fast PCB routing, with real-time progress bar during routing
- Custom Routing - Configure routing parameters (max passes, via cost, threads, etc.) through a visual panel to meet different design requirements
- Real-time Preview - Automatically fetches intermediate results every few seconds during routing and updates the canvas for live preview
- Stop Routing - Stop routing at any time and keep the current routing results
- Auto DRC - Optionally run design rule check automatically after routing completes
- Layer Name Conversion - Automatically converts FreeRouting layer names to EasyEDA format
Important Notes
- System Requirements - This extension requires EasyEDA Pro V3.2 or above.
- Existing routes are not preserved - Each time auto-routing is executed, all existing traces and vias (unlocked) on the PCB will be cleared before importing FreeRouting results. To preserve manual routing, lock the corresponding traces and vias first.
- Refresh routing progress - Since FreeRouting does not support the writing of incremental routing results, every time the canvas progress is refreshed, old data is cleared before new results are imported, resulting in a flickering effect on the canvas.
Usage
Installation
- Download and install the latest FreeRouting version (V2.2.3 or above). Download FreeRouting
- Open EasyEDA Pro, go to top menu: Advanced - Extension Manager, find FreeRouting, and click Install
- Or download the .eext extension package, go to top menu: Advanced - Extension Manager - Import .eext file
- After installation, go to Installed list, click FreeRouting, and enable "External Interaction" in settings (required for connecting to FreeRouting service)

Start FreeRouting Service
Before using the extension, you need to start the FreeRouting API service. Run the startup script for your platform:
| Platform | Script |
|---|---|
| Windows | scripts/start-freerouting-windows.bat |
| Linux | scripts/start-freerouting-linux.sh |
| macOS | scripts/start-freerouting-mac.sh |
The script will automatically find your local FreeRouting installation and launch the API server in headless mode with authentication disabled (port 37864).
If the service is not running, the extension will show a dialog with step-by-step instructions and download links when you click the routing menu.
Quick Routing
- Run the startup script to start FreeRouting service
- Open a PCB document in EasyEDA Pro
- Click menu FreeRouting → Auto Route
- Wait for routing completion, results will be imported automatically. A progress bar is shown during routing, and you can stop at any time via FreeRouting → Stop Routing
Custom Routing
- Click menu FreeRouting → Custom Auto Route...
- In the popup panel, configure routing parameters on the left and view logs on the right

- Configurable parameters include: max passes, via cost, max threads, improvement threshold, trace pull tight accuracy, start ripup costs, automatic neckdown, allowed via types, auto DRC after completion
- Click Start Routing to begin. During routing the button changes to Stop Routing, click to stop at any time
- Intermediate results are automatically fetched and updated on the canvas every few seconds during routing
Routing Parameters
| Parameter | Default | Description |
|---|---|---|
| Max Passes (max_passes) | 100 (custom) / 50 (quick) | Routing iteration count |
| Via Cost (via_costs) | 50 | Cost weight for vias, higher values result in fewer vias |
| Max Threads (max_threads) | 4 | Number of threads for parallel routing |
| Improvement Threshold (improvement_threshold) | 0 | Controls stop condition, 0 means complete routing |
| Trace Pull Tight Accuracy (trace_pull_tight_accuracy) | 500 | Accuracy for trace pull-tight optimization |
| Start Ripup Costs (start_ripup_costs) | 100 | Starting cost for ripping up existing traces |
| Automatic Neckdown (automatic_neckdown) | Enabled | Automatically reduce trace width in narrow areas |
| Allowed Via Types (allowed_via_types) | Allowed | Allow using different types of vias |
| Auto DRC | Enabled | Run DRC automatically after routing completes |
Acknowledgments
- Thanks to the FreeRouting Project and authors like andrasfuchs for providing the FreeRouting tool and API capabilities
- Thanks to FreeRouting contributor L1uTongweiNewAccount for helping adapt the FreeRouting API
1.7.1
- 多语言优化
1.7.0
- 全平台 FreeRouting 使用可执行文件直接启动,无需安装 JDK 25
- 更新 Linux 和 macOS 启动脚本,使用 freerouting 可执行文件
- 简化弹窗和文档,移除 JDK 25 相关说明
1.6.0
- Windows 版本 FreeRouting 使用 freerouting.exe 直接启动,无需安装 JDK 25
- 新增 start-freerouting-windows.bat 启动脚本
- 更新弹窗描述和文档,区分 Windows 和 Linux/Mac 的 JDK 要求
1.5.0
- 支持手动启动 FreeRouting,添加多平台启动脚本(Windows/Mac/Linux)及服务检测
- 移除通过 URL Scheme 自动启动 FreeRouting
1.4.0
- 通过 URL Scheme 自动启动 FreeRouting,移除代理依赖
- 添加翻译
1.3.0
- 统一路由逻辑,更新 UI、README 及国际化
- 为路由日志和 iframe 语言检测添加完整 i18n 支持
1.2.0
- 用进度条替代 toast 进度提示,修复 iframe 路由逻辑
- 添加实时预览、停止布线、国际化及 UX 改进
- 修改弹窗和交互
1.1.1
- 第一个版本:添加 FreeRouting 自动布线器扩展功能
- 更新 extension.json 配置
- 添加 README 使用说明与英文翻译

Type
Keyword
Extension Info
| Version | v1.7.1 |
| Author | EasyEDA |
| Published at | 2026-06-16 03:00:06 |
| Name | freerouting-intergration |
| UUID | cb8695de3b6f4258a74f0c3b9aff73ea |
| Works with | ^3.2.0 |
| Report | Report abuse |
Comment