Repository navigation
Releases: F-Blaze/VelaTrace
Release list
VelaTrace v0.1.0-alpha.2
A free KiCad 10 plugin that checks a board for small mistakes before you order it. It also routes small boards with its own router, with a preview, a KiCad DRC check and one Undo. Alpha, tested on Windows only.
What changed since alpha.1
- Install from a zip, no git. Download
VelaTrace-v0.1.0-alpha.2-pcm.zipbelow. In KiCad, open Plugin and Content Manager → Install from File… and pick the zip. KiCad asks to enable the KiCad API; click Yes. Open the PCB Editor. The first time, KiCad installs the plugin's Python packages and then shows the VelaTrace button. On our Windows test PC this took about 4 minutes and about 300 MB on disk. - No Java needed. Route board now uses Vela-routing, VelaTrace's own router (Python and numpy, inside the plugin). The Freerouting JAR and Java are no longer used by the plugin. On VelaTrace's 13-board test set, on one PC, Vela-routing was accepted by KiCad DRC in 20 of 39 runs, against 8 of 33 for the previous Freerouting path (5 of the Freerouting misses were the pipeline refusing the board, not routing failures). Details: docs/VELA_ROUTING.md.
- kicad-cli is found automatically next to KiCad's own Python, so routing usually needs no Setup step.
- Demo board as a download.
velatrace-demo-v0.1.0-alpha.2.ziphas mistakes planted in it. Open it and click Check design. - New Info-only notes for differential-pair skew and return paths. They have not been measured on unseen boards; treat them as experimental.
Tested for this release
On Windows, with the KiCad 10.0.6 runtime and a fresh, separate KiCad configuration: installed from the zip with Install from File…, the packages (kicad-python 0.8.0, PySide6-Essentials 6.10.2, numpy 2.3.5) installed, the button appeared, Check design ran on the demo board, Route board routed it and passed KiCad DRC, Approve applied the copper, and one Undo removed it. The board file on disk was not changed.
Not tested: Linux, macOS, KiCad 9, installs from the KiCad plugin repository (not listed yet), the "Recreate Plugin Environment" recovery step, and boards other than the demo board in this install.
Known limits
- Routing: one track width and one clearance for all nets, including power. No differential pairs, length tuning or BGA fanout. Placed, initially unrouted boards only. Dense boards usually end as a partial route you can reject. Approve anyway applies a route that failed DRC, after a confirmation that lists the findings. DRC-clean does not mean electrically correct.
- The check is a first pass, not a design review. On 12 boards it had never seen, 44% of the design-rule findings were judged correct, and the reviewers were LLM agents, not human engineers.
- The JLCPCB window was tried on three boards. Its live lookup uses a JLCPCB website endpoint, not an official API.
- Offline by default. Network use is opt-in and listed in docs/privacy.md. The first install downloads Python packages from PyPI through KiCad.
- Development is AI-assisted.
- If you installed alpha.1 with git clone, delete that
Documents/KiCad/10.0/plugins/VelaTracefolder before installing the zip, so KiCad does not load two copies.
Downloads
The tag is signed with the maintainer's SSH key, fingerprint SHA256:komvC+jlhCr/yBGl/RA6BDSLwOMYT6uYdK8cpzpxVyw; GitHub shows it as Verified. The zips are built reproducibly from the tag with scripts/build_pcm_zip.py.
| File | sha256 | Size |
|---|---|---|
VelaTrace-v0.1.0-alpha.2-pcm.zip |
7336bc11c8a656f357b24e7d1e3883b4dc641d391d5c59b5b658a20114a834ca |
304,102 bytes |
velatrace-demo-v0.1.0-alpha.2.zip |
8f931ea07bcec44d4b5c4b197c621177ed9ffcab83e6ca937927fe6ec4a9eea1 |
38,253 bytes |
Did it work on your board? A one-line issue ("worked on X" or "failed at Y") helps more than a star.
VelaTrace v0.1.0-alpha.1
A free, local KiCad 10 plugin: a guarded front-end for Freerouting (preview, KiCad DRC check, one undoable commit) for small unrouted boards, plus an experimental offline rule check and a JLCPCB parts window. Alpha, tested on Windows only.
First public alpha. Tested on KiCad 10.0.4 and 10.0.6 on Windows; Linux, macOS and KiCad 9 are untested. Please try it on a copy of a board first. Board changes are backed up and applied as one undoable step. Development is AI-assisted.
Offline by default. Network use is opt-in and listed in docs/privacy.md: AI provider calls, JLCPCB parts downloads and live lookups, and Groq search.
What it does
- Guarded Freerouting front-end. Route board reads the open board (no save needed), runs pre-flight checks, exports the DSN itself, runs the unmodified Freerouting 2.1.0 JAR and draws a preview on a user layer. KiCad DRC runs in the background; Approve applies the copper as one undoable step after a backup. Approve anyway applies a route that failed DRC, after a confirmation that lists the findings. Cancel routing stops a run.
- Partial routes instead of nothing. When Freerouting cannot finish, you get an "N of M connections routed" preview you can reject. It can never be approved.
- Experimental offline rule check. LEDs without a series resistor, I2C pull-up problems, duplicated ICs, labels split across sheets, unset values and others. No key, no network. Four rules that were wrong too often are shown as Info notes only.
- BOM tidy-ups. Value and package spelling and merges (
100n/0.1uF). - JLCPCB window (new, lightly tested). Opt-in catalogue download for an offline parts table with tier, stock and price; one-click live stock and price refresh for the parts on your BOM; flags LCSC numbers that do not match the part's value and out-of-stock parts; writes the LCSC field to the board in one undoable step; exports JLCPCB BOM, placement and Gerber files. It cannot edit the schematic (a KiCad 10 limit).
- Shareable offline report. One self-contained HTML file.
- Optional AI explanation with your own key.
Known limits
- One track width and one clearance for all nets, including power. No differential pairs, length tuning or BGA fanout. Dense boards usually end as a partial route. DRC-clean does not mean electrically correct.
- Routing accepts placed, initially unrouted boards only.
- The rule check is experimental. In the only measurement so far, reviewers and the adjudicator were LLM agents, not human experts; on 12 unseen boards 44% of findings were judged correct (27% counting unadjudicated findings as wrong), and it surfaced only a minority of the issues the reviewers raised. Treat findings as hints.
- The JLCPCB window was tried on three boards. Its live lookup uses a JLCPCB website endpoint, not an official API, and its catalogue is the public data file of the kicad-jlcpcb-tools project; neither data source carries a licence statement.
- Vela-routing, an experimental multilayer router in this repository, is research code and is not a routing option in the plugin.
- Freerouting is GPLv3 and is downloaded separately; it is not bundled or modified. A small MIT launcher in this repository loads it in the same Java process. Whether that makes a combined work is an open question the maintainer is reviewing.
- For routing features VelaTrace lacks, see KiCadRoutingTools; for datasheet-aware review, kicad-happy; for a mature JLCPCB workflow, kicad-jlcpcb-tools.
Hardening in this release
- Project files can no longer switch off the DRC gate (custom rule files, zero clearances).
- Tools are never run from the current or project folder.
- Routing no longer writes to your KiCad settings folder.
- Copper text and graphics get keep-outs, so routes do not run through them.
Install
Requirements: KiCad 10 with the IPC API enabled, Python 3.11+, and for routing Temurin Java 21 plus the Freerouting 2.1.0 JAR. Steps are in the README quickstart and docs/install.md. To get exactly this release:
git clone --branch v0.1.0-alpha.1 --depth 1 https://github.com/F-Blaze/VelaTrace
The tag is signed; GitHub shows it as Verified.
Feedback
Wrong or missed findings: please use the Audit false positive issue template. A demo board with planted issues is in examples/velatrace-demo.
