Skip to the content
2 layersOpamp path lp, the printed circuit board in 3D

KiCad 10 plugin and CLI that simulates return currents, EMI, power stages, PDN impedance and thermal rise with a field solver, and suggests vias and design fixes.

Copper layers
2
Thickness
1.6 mm
Parts
13
Nets
8
Pads
38
Tracks, vias
46, 12
Pours
1
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
17 Oct 2026
Updated
7 Nov 2026

Overview

Opamp path lp is an open-source printed circuit board by afkiwers, from the afkiwers/GroundTruth repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board with 13 parts on 8 nets, routed with 46 tracks and 12 vias.

It is built around the OPA376AIDBVR-MS. Its parts include 5 capacitors, 3 resistors, 3 connectors and 2 ICs.

Main components

1

README

README.md

[!WARNING] Vibe-coded, for illustrative purposes only. GroundTruth was written largely with an AI assistant. Many of its results look reasonable, but they have not all been validated on real hardware: don't base design or compliance decisions on them alone.

GroundTruth — return-path and EMI analysis for KiCad

GroundTruth finds where the return currents of fast signals and switching power stages really flow on a KiCad 10+ board, and what that does to emissions. It flags return-path problems (a trace crossing a plane split, a layer change with no stitching via, a trace along a plane edge), solves the return current in every plane layer, and estimates how much each detour adds to radiated and conducted emission, with fixes it checks before suggesting them.

On the same board model it also analyses:

  • DC-DC power stages and motor bridges: hot loops, capacitor current sharing, switch-node overshoot, conducted emission through a LISN, losses, current density, control loops, and what the switching couples into the rest of the board (Power stages);
  • temperatures: copper and part temperatures from the currents and losses, and each stage's current capacity (Thermal);
  • DC loads, power integrity, safety and signal integrity: the drop each load sees, each IC's supply impedance, clearances and part ratings, impedance, skew and crosstalk (Other analyses).

It comes as a KiCad plugin (the window shown under The plugin, with heatmaps, markers drawn on the board and an HTML report) and as the groundtruth command line for CI, which needs neither KiCad nor a display. Both use the same analysis core and the same settings file, and give the same results.

Install

The KiCad plugin. In KiCad, enable the API (Preferences → Plugins → Enable KiCad API, restart KiCad). Then Tools → Plugin and Content Manager → Manage… → Add the repository https://afkiwers.github.io/GroundTruth/repository.json, select it and install GroundTruth; new releases show up as updates. Each release also has the package as a zip for Install from File…. On the first start KiCad builds the plugin's Python environment (a few minutes); the button Analyse return paths then appears in the PCB editor's top toolbar. The plugin has a fair few dependencies, so it can take a couple of KiCad restarts before the buttons show.

The command line. Python 3.11 or newer; install a release's wheel (GroundTruth is not on PyPI):

sh
pip install "groundtruth-pcb @ https://github.com/afkiwers/GroundTruth/releases/download/0.1.44625/groundtruth_pcb-0.1.44625-py3-none-any.whl"

More, including the development setup, GPU acceleration and where everything is on disk: Installing.

Optional speed-ups (once per computer, KiCad closed; the installers are in the installed plugin's tools folder): the faster sparse solver on Windows, install_sparse.cmd (Intel MKL PARDISO, ~250 MB; a Mac has Apple Accelerate built in), and GPU support for an NVIDIA or AMD card, install_gpu.py / install_gpu_amd.cmd (PyTorch, ~2.5 GB). Both only change the speed. Steps: Installing, Optional speed-ups.

Quick start

In KiCad: open the board in the PCB editor and click Analyse return paths.

  1. Review what GroundTruth found on the coloured tabs (orange rows): a net's driver and receivers and its timing, a converter's switches and operating point, a bridge's motor. Fill in what the board can't tell, press Mark reviewed.
  2. Run checks: the rule checks; the Issues tab lists what they find.
  3. Simulate: the field solver on everything ticked; the Results tab shows the maps and margins.
  4. Fix: click an issue to see it in KiCad, let Suggest fixes propose vias and capacitors, try them as what-if edits.

The plugin folder has a demo board to try this on (demo\README.txt). On the command line:

sh
groundtruth init board.kicad_pcb                 # the settings file, with every part's suggested model
groundtruth detect board.kicad_pcb --write       # nets, power stages and motor bridges to analyse (review them)
groundtruth check board.kicad_pcb                # the rule checks (seconds)
groundtruth simulate board.kicad_pcb --format html --out-dir report   # the field solver, an HTML report

The plugin

GroundTruth's two buttons at the right end of the PCB editor's top toolbar

Getting there. Once installed, GroundTruth puts two buttons at the right end of the PCB editor's top toolbar (red box above). They are two separate actions, so each has its own button:

  • Analyse return paths (the right one, the ground symbol) opens the GroundTruth window for the board open in the PCB editor. This is where everything happens: setup, Run checks, Simulate, results and issues.

  • Add selected net to GroundTruth (the left one, with the green plus) adds a net you pick on the board to the window's Signal paths tab, so you don't need to find it in a list:

    1. In the PCB editor, select a track, via or pad of the net (click it; a right-click selects it too).
    2. Press the button. The net is added as a new signal path, and the GroundTruth window comes to the front. If no window is open for the board, one opens and adds the net once it has read the board.
    3. GroundTruth suggests the driver and receiver pins from the pin types. Check the row, which is orange until you review it; set the frequency and rise time if the net's name matches no signal class.

    To add a whole path through several nets (for example a current-sense amplifier → op-amp → microcontroller ADC), Ctrl+click one bit of copper on each net, then press the button once. GroundTruth puts the nets in order through the parts joining them and adds one signal path, with the series resistors as pass-through parts and the op-amp modelled as an amplifier. Ground, supply and power-stage nets (switch node, inductor output) are refused with the reason. KiCad 10 doesn't let plugins add entries to the right-click menu, hence the toolbar button.

A third action, Clear GT markers, removes the markers, contours and arrows GroundTruth drew on the board. It has no toolbar button: find it under Tools → External Plugins, or in the window's top bar.

The Signal paths tab

Set up. The coloured tabs are what a run analyses: signal paths, converters, motor bridges, DC loads, power integrity rails and signal-integrity pairs, each row with a tick box. GroundTruth detects them when a board is opened (orange until you review them); each tab's badge counts the rows the next run takes. Run checks gives the rule checks in seconds, Simulate the field solver in minutes. Configuration ▾ saves and loads a set-up, Undo takes back a change.

The Results tab after Simulate

Results. The return current in each plane layer as a heatmap with current arrows, and the vias that carry it between layers. Markers ▾ picks what is drawn over the map, Draw on board ▾ puts the contours, the arrows or the hot loop into KiCad, Open 3D view opens the board in your browser, and Further analysis ▾ adds the thermal solve, the current capacity of a stage and a sharper (finer) map.

A power stage's hot loop

A power stage gets its own views: here a buck's hot loop in two layers, with the busiest via, the loop inductance, the switch-node ringing, the input capacitors' share and the radiated and conducted margins in the tiles above it.

The cross-section and the emission spectrum

Scrolling down, the cross-section shows each plane layer's share of the return current along the route (red: carrying the return, blue: flowing the other way) and the emission spectrum against its limit.

The Issues tab

Issues. Every finding with its severity; a click selects, highlights and zooms to it in KiCad.

The Fixes tab with a proposed input filter

Fixes proposes stitching vias and capacitors for a route, and design changes for a power stage: a slower switch-node edge, a snubber, an input filter, a common-mode budget. Each is predicted, then verified by running the whole analysis again on a copy of the board, with its margins, overshoot and extra loss, the parts to buy and a circuit (here an input π-filter and its corner frequency). History keeps every Simulate to compare; Export report… writes the results as one HTML page. The plugin's own Help (F1) explains each tab.

Part parameters for your parts database

GroundTruth reads part parameters (a FET's Rds(on) and Coss, a capacitor's ESR and Cbias, an op-amp's GBW, a controller's Vref …) from the symbols' fields. Add them to the parts in your parts database, and KiCad's HTTP library interface brings them into the schematic with the parts, where GroundTruth reads them on every run. The full list, grouped by the tab that uses each (a parameter used on several tabs is listed under each, with where else it is used): Part parameters.

Documentation

GuideWhat's in it
Installingthe plugin and the command line, the development setup, GPU acceleration, where things are
How it worksthe analyses, how the solver splits the work, accuracy and what the numbers mean
Part parametersevery part parameter GroundTruth reads from the symbols' fields, by tab: to add to your parts database
The settings filewhat a board's settings hold, configurations, part models from the schematic, the checks and their severities, finding the nets, GT labels
Working in KiCadshowing issues on the board, drawing on it, fix suggestions and what-if edits
Power stages and bridgesDC-DC converters, motor bridges, victims, control loops, the thermal solve
Other analysesop-amp circuits and Bode plots, capacitance at DC bias, DC loads, power integrity, safety checks, signal integrity
The command linethe commands, options and exit codes
CI (GitLab)checking a board repository in a pipeline, the release gate groundtruth verify and its thresholds
Compute serverrunning the heavy analyses on other machines on the network
Status and roadmapwhat is done and what is planned
Releasesfor maintainers: how a release is built, signed and published

For developers: Development (the source tree), ARCHITECTURE.md (the physics, data flow and design decisions) and REFERENCES.md (every source and assumption). Example boards with their settings: examples/.

License

GroundTruth is free software under the GNU General Public License v3.0: see LICENSE.

Parts

13
QtyValueFootprintReferences
3Conn_01x02_MaleConnector_Hirose:Hirose_DF57H-2P-1.2V_1x02_P1.2mm_SocketJ1, J2, J3
21u0Capacitor_SMD:C_0805_2012MetricC7, C8
1100n0Capacitor_SMD:C_0603_1608Metric_HomePlatePasteC6
11n0Capacitor_SMD:C_0402_1005Metric_RoundPasteC5
12k94Resistor_SMD:R_0603_1608MetricR4
139n0Capacitor_SMD:C_0603_1608MetricC2
1499R0Resistor_SMD:R_0603_1608MetricR3
1590R0Resistor_SMD:R_0603_1608MetricR1
1NCP718ASN330T1GPackage_TO_SOT_SMD:SOT-23-5U2
1OPA376AIDBVRPackage_TO_SOT_SMD:SOT-23-5U1

More from afkiwers/GroundTruth

5
  • 2 layers50 × 20 mmRc filter, the printed circuit board in 3D

    Rc filter

    afkiwers/GroundTruth

    KiCad 10 plugin and CLI that simulates return currents, EMI, power stages, PDN impedance and thermal rise with a field solver, and suggests vias and design fixes.

    6 partsGPL-3.0
  • 2 layers50 × 20 mmTermination, the printed circuit board in 3D

    Termination

    afkiwers/GroundTruth

    KiCad 10 plugin and CLI that simulates return currents, EMI, power stages, PDN impedance and thermal rise with a field solver, and suggests vias and design fixes.

    6 partsGPL-3.0
  • 2 layers50 × 20 mmSeries path, the printed circuit board in 3D

    Series path

    afkiwers/GroundTruth

    KiCad 10 plugin and CLI that simulates return currents, EMI, power stages, PDN impedance and thermal rise with a field solver, and suggests vias and design fixes.

    5 partsGPL-3.0
  • 2 layers50 × 20 mmOpamp path, the printed circuit board in 3D

    Opamp path

    afkiwers/GroundTruth

    KiCad 10 plugin and CLI that simulates return currents, EMI, power stages, PDN impedance and thermal rise with a field solver, and suggests vias and design fixes.

    4 partsGPL-3.0
  • 4 layers40 × 20 mmGroundtruth demo, the printed circuit board in 3D

    Groundtruth demo

    afkiwers/GroundTruth

    KiCad 10 plugin and CLI that simulates return currents, EMI, power stages, PDN impedance and thermal rise with a field solver, and suggests vias and design fixes.

    2 partsGPL-3.0

Similar boards

  • 4 layers146 × 95 mmEEZ DIB MIO168, the printed circuit board in 3D

    EEZ DIB MIO168

    eez-open/dib-mio168

    EEZ DIB Mixed I/O module

    279 parts8
  • 4 layers73 × 94 mmWirelessBERA, the printed circuit board in 3D

    WirelessBERA

    NathansLab/WirelessBERA

    KiCad 10 project for the Wireless BERA v1.0 board.

    183 parts
  • 2 layers40 × 20 mmUsb uart, the printed circuit board in 3D

    Usb uart

    earthtojake/text-to-cad

    Design physical products with AI

    13 parts26kMIT
  • 2 layers35 × 29 mmMagSpoofTC, the printed circuit board in 3D

    MagSpoofTC

    samyk/magspoof

    A portable device that can spoof/emulate any magnetic stripe, credit card or hotel card "wirelessly", even on standard magstripe (non-NFC/RFID) readers.

    13 parts4.2k
  • 2 layers20.6 × 23.6 mmAO-03 signal amplifier, the printed circuit board in 3D

    AO-03 signal amplifier

    fossasia/pslab-scripts

    Pocket Science Lab - Scripts for Sensor Experiments

    13 parts1.6kApache-2.0
  • 2 layers47 × 35.6 mmMX7-C-35PL C11, the printed circuit board in 3D

    MX7-C-35PL C11

    rusefi/rusefi

    rusefi - GPL internal combustion engine control unit

    13 parts1.2k

Questions

What parts does the Opamp path lp use?

13 parts, built around the OPA376AIDBVR-MS. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Opamp path lp KiCad files?

From the afkiwers/GroundTruth repository on GitHub, at the commit this page was made from: the board is examples/opamp_mfb_lowpass/opamp_path_lp.kicad_pcb and its schematic examples/opamp_mfb_lowpass/opamp_path_lp.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Opamp path lp design in my own project?

Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).