How to add tear drop in kicad?

like this picure:slight_smile:

1 Like

thankyou for your help!
I get a error like this

Traceback (most recent call last):
File “”, line 1, in
File “”, line 12, in
from pcbnew import *
File “”, line 31, in
import _pcbnew
ImportError: DLL load failed: %1 不是有效的 Win32 应用程序

win10 64bit
python2.7.4 64bit

why tear-drops ?

dont need them 2017

When I wrote this script, I only tested it against Ubuntu 14.04 with python 2.7.

I don’t have any solution right now but I will install kicad inside a virtual machine and try to reproduce your problem.

I use teardrops to protect me against drill imprecision.

If the drill is made too close to the track, the remaining conductive material might be too small to be remain functional.

See this blog entry for more details.

Teardrops allow you to add conductive material to prevent that problem. This actually a problem of confidence in your PCB manufacturer. If you impose the right drill tolerance to your manufacturer, you don’t need teardrops. But if you need to save some money on the PCB, reducing drill tolerance can be one solution. And then teardrops are a simple protective method.

By the way, my script is just a quick (and dirty) hack. I recently seen this (and hoping it will be integrated quickly):


do you drill yourself by hand ?

if you use a fab house they wont miss
if they fear they will, they add the tear-drops (after asking you of-course if its OK)

standard via

0.25mm drill bit
0.45mm pad

no problem whatsoever

Good guess!
I wrote this script for a hand made PCB.

At my current company, we are designing very high density PCB (over 12 layers with very highly controled tolerances) and we never needed any teardrop and all is working like a charm.

1 Like

After some (quick) research, I don’t think this is due to the td script. I think you can reproduce it just by importing pcbnew by typing :
from pcbnew import *

it seams that this is due to a mismatch between python’s version and kicad’s version. Both need to be equal (both 32bit or both 64bit).

See the second answer to on this post:

I hope this will help.

1 Like


And the via settings in that case were 0.6/0.4

Never say never.

In that second image even a teardrop wouldn’t help (nor would it help in the first image for that matter). It all goes back to the matter of the setup and competency of the fab.

You can build kicad from my source mirror to use teardrops. This is an updated version of Mikhail Karpenko’s teardrops code, which was sadly out of date.

1 Like

Have you planned to push in the main tree?
This would be awesome.

1 Like

Sneaky peak from the strictly unofficial, “you ain’t seen me” smoke filled backrooms

hopefully makes it to official KiCad one day.



which version is this? I would like to try it!

@Niluje - I’ve linked the repo to the bug report at Dealing with launchpad is not my cup of tea, so figuring out the pull request system is lower on my priority list. Sorry!

Ever design flex circuits?

13 pcs in 2017, not counting the flex-rigid ones.


Do you not find teardrops useful there? My boardhouse highly recommends them for the same reason you don’t use 90deg bends: stress concentrators.

A few resources:

Even though it is 2018, I still think teardrops can be useful, and KiCad would benefit from their inclusion.

Flexis are a special case that really benefit from tear dropping.
They are very common in professional and military radios

1 Like