Skip to content
Documentation sections

KiCad plugin

rftools.io board calculations is a KiCad 10 plugin that reads the open board's stackup and net classes and calls this API for the numbers a layout needs.

What it computes

Microstrip, stripline and grounded-CPW single-ended impedance; differential impedance of edge-coupled pairs; the trace width or pair gap that reaches a target impedance (one /calculate/solve call per target; see Solve for a target); the IPC-2152 track width for a current; and via impedance, capacitance, inductance and current capacity. Every figure carries its formula reference, whether the inputs are inside the calculator's valid range, and the engine version that computed it.

Setup

Requirements

KiCad 10.0 or later, with the KiCad API switched on (Preferences › Plugins › Enable KiCad API). It runs on KiCad's own Python, nothing to install.

Install

In KiCad's Plugin and Content Manager, Manage repositories, add https://antonpogrebenko-public.github.io/rftools-kicad/repository.json, then install "rftools.io board calculations". Repository: github.com/antonpogrebenko-public/rftools-kicad (MIT).

Key

The dialog's Get a free key button opens https://rftools.io/dashboard/?newKey=1&client=kicad-plugin, an ordinary key, as in Get a key. Usage appears on the dashboard under the kicad-plugin client label.

Cost

One API call per computed figure; a target width or gap is one solve call, not a search. A figure asked for twice (the two outer layers of a symmetric board) is sent once: repeats within 7 days come from a local cache and cost nothing. Before each run, the dialog states the calls it will use and what remains this month.

What is sent, and what is written

What is sent. Each request holds a calculator slug and numbers: widths, heights, εr, copper thickness, a current or a target. It never sends the board file, net or net-class names, layer names, or the project name or path.

Net-class writes. Nothing on the board changes unless you ask: a run previews the proposed track width, differential-pair width and gap for each class before anything is written, and every write can be undone. On KiCad 10.0.6 and earlier the plugin writes nothing (KiCad's API corrupts a net class written through it) and shows the values to enter in Board Setup › Net Classes instead.

Full detail, source and licence (MIT): github.com/antonpogrebenko-public/rftools-kicad.