Today I am pleased to announce that Raspberry Pi Ltd is helping KiCad with their end-of-year funding drive by matching donations made on KiCad’s website up to $5000.
KiCad is a free, open source suite of CAD tools for schematic capture and Printed Circuit Board (PCB) design. It allows you to draw your electronic circuits in schematic form, using graphically represented components and wires, and then transfer this data into a PCB editor which is used to place the components and draw the copper tracks and vias that connect them. The tools know what is connected to what, and also what design rules must be followed (such as what is the smallest width of copper track you can use), and they therefore help the designer make sure that the design is manufacturable. Once a design is completed, the tool will spit out data that a PCB manufacturer can use to make a physical PCB.
I have long been a fan of KiCad, having started using it in 2011 for a hobby project. It had a few rough edges back then but was very usable even for fairly complex designs. Therefore, when I joined Raspberry Pi at the start of 2013 (a long time ago now!), I was already thinking that it would be nice to use it for commercial projects.
Supporting the development of a powerful open source tool
In 2014 we sponsored the work to add differential pair routing support to KiCad, which was something it had been lacking. Differential pairs are traces on the PCB that have a controlled geometry, and therefore impedance, and are used for high-speed signals such as HDMI and USB.
The addition of differential pair support, as well as the many other improvements to the tool since then, have meant we are now able to use it for some of our product designs. Dominic developed the Compute Module 4 IO board using KiCad, and the design database is free for anyone to download and use as a starting point for their own CM4 projects: you can download a zip file of the database here. We have also used KiCad to develop the RP2040 minimal design as well as the Pico VGA demo board as open designs: you can find both of these in the Hardware Design with RP2040 guide.
While it’s likely that we will always need to use high-end non-free CAD tools for certain products, especially those that need very high-speed design and simulation, we are extremely impressed with how far KiCad has come. It’s amazing to have an open source tool that’s this powerful freely available.
KiCad now works well on Raspberry Pi 4
While KiCad has been available on Raspberry Pi OS for some time, the default version in Debian Bullseye (which is what Raspberry Pi OS is built on) was fairly old.
Recently we have made a newer version of KiCad available. Typing
apt install kicad on an up-to-date Raspberry Pi OS Bullseye image will install it. Changes made in the newer version 6 KiCad codebase have brought improved OpenGL hardware acceleration, and therefore much better performance on Raspberry Pi computers.
One of our engineers, Richard Jones, recently completed a PCB for an internal test platform and designed it entirely using KiCad running on a Raspberry Pi 4. He has found that the new version works well and is very usable.
Richard has also used it for other projects. When you’ve got a big pile of USB leads it can be frustrating unless you’ve labelled them really carefully; inevitably the lead you’ll reach for will be broken, or it won’t support data transfer. This can mean hours of fruitless debugging, when all you needed was a lead that wasn’t broken. This is where Richard’s design for a test board for USB leads comes in, and you can take a look at it — in KiCad on your Raspberry Pi — if you like, because we’ve made the design available for download under an open license, with no limitations on reuse.
It’s great to see KiCad maturing into such a capable platform, and we are looking forward to seeing what new features will be made available in the upcoming versions. Meanwhile, please support them by heading over to the KiCad website to donate! We will be pleased to match the first $5000 of donations.