Thanks to Anool posting on Hackaday about KiCad plugins. I decided to try out the Teardrop plugin by NilujePerchut:
KiCad Teardrop Plugin
This action plugin adds and deletes teardrops to a PCB.
This implementation uses zones instead of arcs. This allows to comply with DRC rules by simply rebuild all zones. You can also modify their shape by simply modifying the zone outline (like any other zone). Teardrops created with this script use a specific priority (0x4242) to be recognized as teardrops.
Here is the result of my first experiment to use the Teardrop plugin on a flexible PCB to reduce the mechanical stress of flexing the trace:
The board is available as an OSH Park shared project and the KiCad design files are on GitHub.
The author of the plugin was very responsive to GitHub issues and I was able to get better results on my next flex design which is currently being manufactured:
My flex “business card” will fold over a coin cell battery to light a 0603 LED.
Curious how the plugin works? It creates zones next to the vias and pads. Here are the two teardrop zones that connect traces to a via:
Warning: you need create a schematic and generate a netlist before starting the PCB layout. Otherwise the the zones the plugin creates won’t be filled:
You also need to be careful that there is not copper on the same layer too close to the zone. For example, the text was too close to the teardrop zone on this via, so I moved the text down and the zone now fills correctly:
An open GitHub issue is that the teardrop zone does not align perfectly for SMD pads that are not circles (like rectangles, squares, rounded rectangles). The work around I used was to move the zone after it is filled to align with my SMD pad:
I hope you have fun with this plugin and leave a comment if you use it your own design!
UPDATE: I joined Adafruit Show-n-Tell to talk about flex PCBs and the teardrop plugin at 10 min 51 sec mark