Learn to code KiCad at FOSDEM 2020

FOSDEM 2020 is a free event on Februrary 1st and 2nd for software developers to meet, share ideas and collaborate.  Every year, thousands of developers of free and open source software from all over the world gather at the event in Brussels:

Screenshot from 2020-01-07 12-33-42.png

The Friday before FOSDEM, January 31st, will be an event for those that want to learn about KiCad development from project leaders like Wayne Stambaugh and Seth Hillbrand:

Learn to Code KiCad at FOSDEM 2020

 Are you looking to write code that improves KiCad?

On Friday, Jan 31 (the day before FOSDEM), we’ll be hosting a Learn to Code KiCad session in Brussels, BE. I will be there as will Wayne and possibly a few other of the lead development team. We’ll help you understand how the various KiCad components fit together and work with you to get your favorite feature from idea to committed code.

What you need:

1) An identified bug report (or multiple) that you’d like to address. This can be either a legitimate bug or a wishlist feature that is triaged in our system.
2) A laptop with your development environment
3) A launchpad account
4) A compiling version of KiCad
5) A working knowledge of C++ coding

What we’ll provide:

1) Space, power outlet, wifi
2) Coffee
3) A short introduction to the structure of KiCad and how the parts work together
4) Up to 8 hours of development time with others who share your interests
5) Clarifying insights to your KiCad coding questions

At the end of the day, you should be able to get at least 1 and possibly multiple bug report fixes under your belt and into the code base!

If you’re coming to FOSDEM 2020 and would like to participate, please e-mail me directly (off-list to preserve people’s inboxes). Send me your name/contact info and the list of 1 or more launchpad bugs you’d like to work on during the day. I’ll add you to our shared sheet (to deconflict bugs people are addressing) and get you all of the relevant information for the meeting

Here is a talk that Seth gave at KiCon 2019 which talks about their development community:

and also the KiCad developer panel:

Learn to code KiCad at FOSDEM 2020

KiCad teardop plugin and flexible PCBs

Screenshot from 2019-12-06 21-04-05

Thanks to Anool posting on Hackaday about KiCad plugins.  I decided to try out the Teardrop plugin by NilujePerchut:

Screenshot from 2019-12-11 14-51-09

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

KiCad teardop plugin and flexible PCBs

KiCad Action Plugins

The last two years has been a particularly exciting time for KiCad, for users, casual contributors, and for the core developers too. Even so, there are many cool new features that are still in process. One bottleneck with open-source development of complex tools like KiCad is the limited amount of time that developers can devote for the project. Action plugins stand to both reduce developer load and increase the pace of development by making it easier to add your own functionality to the already extensible tool.

Sometime around version 4.0.7 (correct us if we’re wrong), it was decided to introduce “action plugins” for KiCad, with the intention that the larger community of contributors can add features that were not on the immediate road map or the core developers were not working on. The plugin system is a framework for extending the capabilities of KiCad using shared libraries. If you’re interested in creating action plugins, check out documentation at KiCad Plugin System and Python Plugin Development for Pcbnew. Then head over to this forum post for a roundup of Tutorials on python scripting in pcbnew, and figure out how to Register a python plugin inside pcbnew Tools menu.

Since version 5.0, we’ve seen an explosion of extremely useful action plugins for KiCad that have added some very useful bells and whistles. The KiCad website lists a couple of external tools, but there’s a lot of action happening out there, so we decided to round up some of the more useful ones.

via KiCad Action Plugins — Hackaday

Also, the Teardrop plugin could be useful for those using our 2 layer Flex service:

In the early days, PCB fabs often had yield issues due to offset drill holes, particularly on vias and micro-vias. One trick that PCB designers used to mitigate this problem was to use “teardrops”. The area around the pad or via that connected to the track was made into a teardrop shape, ostensibly in the hope that it would improve matters. Fabs nowadays do a pretty good job due to improved processes and accurate machines, so the jury is still out on the use of teardrops, but KiCad does have a Teardrop plugin, in case anyone wants to use it. Combined with smooth, rounded tracks, we’re guessing teardrops would be pretty helpful in the artistic PCBs department.

 

Quote

Hardware Happy Hour Chicago tonight, KiCon tomorrow!

Exciting times for people in Chicago that like hardware!

Screenshot from 2019-04-18 16-45-31.png

Tonight, Thursday, April 25th is Hardware Happy Hour (3H) Chicago at Ballast Point!  It’s an informal hardware show ‘n tell that is a lot of fun:

April 3H Chicago Meetup (KiCon eve!)

Thursday, Apr 25, 2019, 7:00 PM

Ballast Point Brewing Chicago
212 N Green St Chicago, il

38 Members Attending

Please bring your latest project with you! Anything you’re working on, electrical, mechanical or software works! We want to see the stuff that you’re interested in!

Check out this Meetup →

And KiCon 2019 begins tomorrow!  Come learn more about designing circuit boards with KiCad.

Screenshot from 2019-04-25 18-20-01.png

There is also a party at Chicago hackerspace Pumping Station: One on Friday night and then a Bring-A-Hack party with Hackaday on Saturday night.

Look for our Drew Fustini (@pdp7) in purple at all the above events!

Hardware Happy Hour Chicago tonight, KiCon tomorrow!

KiCad 5.1.0 Release

The KiCad project has released a new version:

kicad_logo_large

KiCad 5.1.0 Release

The KiCad project is proud to announce the release of version 5.1.0. This is the first ever minor version release of KiCad and was developed primarily to resolve compatibility issues with Linux GTK3 and long awaited support for python3.

In addition to the primary focus, there have been many important changes that make this release a substantial improvement over the 5.0 series and a worthwhile upgrade for users on all platforms. Included in the improvements are:

  • Improved 3D model library path configuration.
  • Cairo canvas is now used for printing support on all platforms.
  • Schematic and symbol library editors now use the modern canvases for rendering.
  • Symbol pin table is now editable.
  • Pcbnew scripting support for Python 3 has been added.
  • Snapping for graphical object drawing in board and footprint editors.
  • Significant user interface improvements.
  • Major dialog box improvements.
  • Both the footprint and symbol library editors now share the same user interface paradigm with a library tree view pane.
  • Symbol, footprint, and 3D model library improvements.
  • Documentation and translation improvements.
  • Less pain for Linux package maintainers, now all features should be easy to support.
KiCad 5.1.0 Release

Hackaday Supercon – Chris Gammell : Improve Your Circuit Toolbox in KiCad

Chris Gammell at Hackaday Supercon:

Simple designs will save your next product if you know which circuits to piece together. Utility circuits practical for everyday electronics. Hackaday Superconference: The greatest gathering of hardware hackers, builders, engineers and enthusiasts on the planet returns. Streaming Live talks from our ‘Main Stage’ in Pasadena, CA. Visit for full list of talks and workshops : https://hackaday.io/superconference/

Hackaday Supercon – Chris Gammell : Improve Your Circuit Toolbox in KiCad