Length Matching Plugin for KiCad

Hi all,
I just released first beta for my plugin.
video demo
Github repo
Try it out and let me know if you find it useful. If you find bugs please report them.


Is there an installation guide?

Download source from github and put it in a subfolder in location that gets opened from Tools->External Plugins -> Open Plugins Directory menu in pcb editor.

@thanhduongvs your plugins seems very useful, consider adding it to the kicad’s plugin manager. See instructions and repo.

1 Like

When I launch it, I get this:

Then if I click any of the buttons, KiCad crashes.
Other than that… ;>
(Using 6.0.6 on Win10/64 pro).
I notice _main.py is empty but I don’t know python so maybe that’s okay.

thanks @GeeMott for report

hi @GeeMott,
Please pull new code on repo

1 Like

How does the plugin selects the net classes? My board (which I can’t share before you ask) uses 8 different net classes with three having nets which need to be length matched. As I press Load Settings as in the demo something happens in the background but I can’t select any of the net classes afterwards. The classes are named: 100Ohm Diff, 50Ohm and 90Ohm Diff.

can you share image (plugin)?

sure, but there is not much to see I am afraid.

This is after I pressed the Load Setting button.

Can you share your Net Class in Board Setup?

here you go:

I already tried if replacing the spaces with underscores and removing the less then symbol changes anything but nothing happened.

hi @Tojan, I created Class name like you, but not error. If you can share your project. I will debug your project.

I created a minimum not working example, I hope this helps in debugging:
test.zip (37.5 KB)

KiCad debug info:

Application: KiCad PCB Editor

Version: 6.0.6-3a73a75311~116~ubuntu22.04.1, release build

	wxWidgets 3.0.5
	libcurl/7.81.0 OpenSSL/3.0.2 zlib/1.2.11 brotli/1.0.9 zstd/1.4.8 libidn2/2.3.2 libpsl/0.21.0 (+libidn2/2.3.2) libssh/0.9.6/openssl/zlib nghttp2/1.43.0 librtmp/2.3 OpenLDAP/2.5.12

Platform: Linux 5.15.0-41-generic x86_64, 64 bit, Little endian, wxGTK, ubuntu, wayland

Build Info:
	Date: Jun 20 2022 15:50:05
	wxWidgets: 3.0.5 (wchar_t,wx containers,compatible with 2.8) GTK+ 3.24
	Boost: 1.74.0
	OCC: 7.5.2
	Curl: 7.83.1
	ngspice: 36
	Compiler: GCC 11.2.0 with C++ ABI 1016

Build settings:

Image 1: Please Run “Annotate Schematic”
Image 2: Error: Nets has 1 pad connected
Image 3: Fix ok
Screenshot from 2022-07-18 21-17-22

Screenshot from 2022-07-18 21-23-54

hi @Tojan Project fixed. if you don’t understand. And I’m sorry because my english is not good
test-fixed.zip (39.1 KB)

1 Like

ah sorry for the annotation error, missed to save the schematic after adding the second IC there.

So the plugin does not give an output if there is a net with only one pad connected in any of the netclasses, correct? could you may add an error popup for this case which mentions the net name?

thank @Tojan , I will update in next version


Cool plugin, will give it a shot soon. Thanks for sharing!

Hi @thanhduongvs, that seems to work; thanks.

1 Like

I have a feature request for one of the next versions:

It would be nice if one could set all pads in the pad start and pad end column to the pads of one IC with a single selection. If you for example have multiple memory chips connected to the same microcontroller memory interface you for now have to change the IC net by net to see if IC1 and IC2 both have length matched connections. that’s a lot of clicking, if there would be a dropdown to select the MCU for pad start and IC1 for pad end it would improve the usability a lot.

1 Like