Yet another Python teardrop script. Adds and deletes teardrops to a PCB. V0.3.3

Hello @eeintech,

I’ve never seen such behavior.
Is it possible for you to post the design or at least a small part of it containing the problem ? This would help a lot.
Thanks in advance.


Thanks for your prompt answer :slight_smile:

So it’s a bit embarrassing but I can’t reproduce anymore… all teardrops come now correctly as filled zones.
I rolled back to the version of the kicad_pcb I had issues with from a few hours back and it’s also working :confused:

I did restart KiCad once, maybe that was just it.
Sorry for the trouble, something mysterious happened…


No problem. I am glad it is working now.
If the problem comes back, do not hesitate to contact me.

1 Like

I noticed that when adding tear drops to pads that have a trace sitting off-center there is a gap between the trace and the teardrop fill.
Is there a way to fix this in the script without having to manually fix every teardrop fill for those pads?

Unfortunately this is not possible yet.
I will open an issue for this on the github repo to use as a reminder.
I am sorry

1 Like

I use this script on v5.1.6 - thank you for making it @Niluje! Definitely fewer board defects using teardrops.

I’ve been trying out the nightly / v5.99 recently, found the script does not work on there. I can’t seem to get it to show up in the plugins list, though I have other plugins that show up, so I know it’s in the right directory. Just wanted to put this info out there as a point-of-reference. Maybe when v5.99/v6 gets closer to release, getting this script working would be great!

I am not familiar with the Kicad release process.
Is there some code freeze or things like that ?
If yes, it seems that this could be a good date to start supporting the future V6.0.

1 Like

Features have been freezed, including the file formats (except some certain file format change in eeschema which shouldn’t affect the layout). This is indeed a good moment to start supporting v6 in scripts.

1 Like

Except that according to, if I understand it correctly, the stable API is still under work and is a some kind of exception to the feature freeze. So is the eeschema API. For the sake of plugin developers and users I would like to hear some clarification. @Seth_h, can you tell what is the actual status of these? Is it worth porting a plugin to the current pcbnew API? Do you have any other schedule than “rc1, whenever it happens”?

1 Like

I wouldn’t port a plugin to the current API prior to rc1 unless you are OK with porting it again for v6.

We are not removing the old python API. But that was always a thin layer around our C++ header files. This is inherently unstable as we rename and reorganize classes. The instability is the primary reason for developing a stable python API for v6.

Right now, we are in a period of large re-structuring. So you should anticipate that the old API will change/break for a a while in the nightly builds.


Thanks for this clarification.
It is good to hear that the new python API is on its way. From my point of view, this will be a huge step toward more stable and well documented plugins.
I will definitely wait for the RC1.
Thanks for the hard work.


Since the Python API status is known for V6_RC I’ve updated my plugins with the changes proposed by beanjs github user. Huge thanks to you whoever you are !

If anyone wants to test, just clone the V5.99_V6RC branch in the standard repo:
Comments/bug reports are welcome.


@Niluje, maybe this email is related to you:, if not read. And thank you for a compatibility with v6 of this essential plugin! :slight_smile:

1 Like

More direct v6 compatible link: (for whose who have troubles installing)


I backported it so it works both in KiCad 5.1 and 6.0 (single branch 5+6).

1 Like

For those who haven’t followed the situation: teardrops are being implemented natively in KiCad v6.99, to be published in v7. At the moment it seems to follow this plugin’s implementation: it uses zones and even the shapes look similar.

But it is not yet in 6.99, is it?

It is, but it’s behind an advanced config flag because it’s not ready yet to be really tested. You can add AllowTeardrops=1 to file kicad_advanced in your KiCad configuration directory.

It’s in the Tools menu.

Ok. Good to know if I feel like torturing some new feature :slight_smile:

I think the write-up is here and here (some 11 years ago).

Also updated with current V5.99_V6RC branch:

This also includes a kind of 45° teardrops: