KiCad video series: from concept to manufacture

Many electronics hackers have habit of using Eagle to design their PCBs. You’ll find plenty of support for this software as well as a lot of parts libraries, the free version of Eagle software comes with limitations (board area is limited to 4×3.2 inches, only two signal layers and the schematics editor can only create one sheet). You might want to check out if there are any good open source alternatives without restrictions?

KiCad is an intereresting open source EDA software for Windows, OSX and Linux. Create PCB circuits for free with the most advanced features. With the schematic editor you can create your design without limit; there are no paywalls to unlock features. An official library for schematic symbols and a built-in schematic symbol editor help you get started quickly with your designs. It can make professional PCB layouts with up to 32 copper layers. KiCad also includes a 3D viewer which you can use to inspect your design in an interactive canvas. You can rotate and pan around to inspect details that are difficult to inspect on a 2D view.

EEVblog #253 – KiCAD Install & Schematic – First Impressions video is a continuous 45min screen cast of Dave installing and running KiCAD for the first time, along with his first impressions and rants about things he finds along the way, mainly with the schematic editor portion of the program. How easy and intuitive is it to use the schematic editor for the first time?

For more advanced introduction check out  KiCad video series: from concept to manufacture. It shows people how to design and build their very first PCB using this software

Here is some more information links related to KiCad:

CERN Shows Off New KiCad Module Editor CERN, the people that run a rather large particle collider, have just announced their most recent contributions to the KiCad project. This work focused on adding new features to the module editor, which is used to create footprints for parts. The update includes support for DXF files, which will make it easy to import part drawings, or use external tools for more complex designs. CERN has already implemented a new graphics engine for KiCad, and demonstrated a new push and shove routing tool. Check out the CERN KiCad Developers Team on Launchpad.

A Simple (and Dirty) Bill of Materials and Stock Management Utility introduces you to a simple bill of materials generation too “For a better BOM in Excel“, which can also do simple stock management.

If you need to export to other tools, check out KiCad Script Hack for Better Mechanical CAD Export article for ideas.


  1. Tomi Engdahl says:

    Half of building a PCB is getting parts and pinouts right. [Josef] is working on a tool to at least semi-automate the importing of pinout tables from datasheets into KiCad. This is a very, very hard problem, and if it’s half right half the time, that’s a tremendous accomplishment.

    Importing pinouts from datasheet tables to KiCad

  2. Tomi Engdahl says:

    KiCad 4.0 is Released

    If you’re a KiCad user, as many of us here at Hackaday are, you’ll be elated to hear that KiCad 4.0 has just been released! If you’re not yet a KiCad user, or if you’ve given it a shot in the past, now’s probably a good time to give it a try.

    The official part footprint libraries changed their format sometime in 2014, and are all now hosted on GitHub in separate “.pretty” folders for modularity and ease of updating.

    The most interesting change, from a basic PCB-layout perspective, is the push-and-shove router.

    If you’re doing a board where timing is critical, KiCad 4.0 has a bunch of differential trace and trace-length tuning options that are something far beyond the last release. The 3D board rendering has also greatly improved.

    KiCad 4.0.0 Is Out!

  3. Tomi Engdahl says:

    KiCad Utilities Generate Parts; Track Costs

    The popularity of KiCad keeps increasing, and not only are more people converting to it and using it for their projects, but there’s also a growing number of folks actively contributing to the project in the form of libraries, scripts and utilities to improve the work flow.

  4. Tomi Engdahl says:

    Eagle to KiCad made easy

    One barrier for those wanting to switch over from Eagle to KiCad has been the lack of a way to convert existing projects from one to the other. An Eagle to KiCad ULP exists, but it only converts the schematic, albeit with errors and hence not too helpful. And for quite some time, KiCad has been able to open Eagle .brd layout files. But without a netlist to read and check for errors, that’s not too useful either. [Lachlan] has written a comprehensive set of Eagle to KiCad ULP scripts to convert schematics, symbols and footprints. Board conversion is still done using KiCad’s built in converter, since it works quite well.

    Overall, the process works pretty well, and we were able to successfully convert two projects from Eagle. The entire process took only about 10 to 15 minutes of clean up after running the scripts.

    Eagle SCH/LIB to KiCad SCH/LIB ULP conversion script

  5. Tomi Engdahl says:

    StickerBOM for KiCad

    When boards were larger and components mostly through hole, designers could put a lot of information on the silk legend – reference designator, values, additional text and so on. But with surface mount components becoming smaller and board real estate at a premium, modern boards do not have a lot of information marked on the silk layer. If you are building and distributing a short run of kits, perhaps for a round of beta testing, then [Adam Greig]’s StickerBOM python script for KiCad can be really handy. StickerBOM is a KiCad BOM exporter designed for people stuffing boards by hand. It generates a PDF for printable sticky labels, where each label reflects one BOM line from a supplier. You then stick these labels on the bags from your supplier, and they show you where the parts go.


    StickerBOM is a KiCAD BOM exporter designed for people stuffing boards by hand. It generates a PDF for printable sticky labels, where each label reflects one BOM line from a supplier. You then stick these labels on the bags from your supplier, and they show you where things go.

  6. Tomi Engdahl says:

    It’s Time to Finally Figure Out How to Use KiCAD

    KiCAD has been making leaps and bounds recently, especially since CERN is using it almost exclusively. However, while many things are the same, just enough of them are different from our regular CAD packages that it’s hard to get started in the new suite.

    10 Part Tutorial On Designing/Building A PCB (Using FOSS)

  7. Tomi Engdahl says:

    Scanning Parts Into KiCad

    You do not know how to make a PCB unless you can make your own parts. [Jan] knows this, but like everyone else he checked out the usual online sources for a footprint for an SD card socket before making his own. It turns out, this SD card socket bought from an online marketplace was completely undocumented. Not only was an Eagle or KiCad footprint unavailable, but CAD files showing the dimensions of the part were non-existent. A solution had to be devised.

    Instead of taking calipers and finely measuring all the pads on this SD card socket – a process that would surely fail – [Jan] decided to use a flatbed scanner to trace out the part. The part was placed on the glass and scanned at 300 dpi with a convenient reference object (a public transport card) in the same picture. This picture was imported into a CAD package, scaled to the correct ratio, and exported as a DXF. Since KiCad readily accepts importing DXFs, the CAD file was easily accessed, traced over, and a new part created.

    Creating footprints from actual parts in KiCad

    Some time ago I sourced a number of very cheap SD card sockets from China for a hobby project I was working on. Sadly, when it came to PCB design, I couldn’t find the footprints for this particular socket anywhere

    Turns out, this is a problem with many, many parts – there are no CAD drawings to be found anywhere, and the only way to really fit the part onto a board is to measure the part and draw everything yourself – a tedious manual process, but with a few tools, any part can be precisely drawn and transferred onto the board.

    In the absence of other tools, one can use any flatbed scanner to reproduce the measurements required to draw a part.

  8. Tomi Engdahl says:

    Creating A PCB In Everything: KiCad, Part 1

    This is the continuation of a series of articles demonstrating how to Create A PCB In Everything. In this series, we take a standard reference circuit and PCB layout — a simple ATtiny85 board — and build it with different PCB design tools. Already, we’ve taken a look at the pre-history of PCB design with Protel Autotrax, we learned Fritzing is a joke for PCB design, and we’ve done a deep dive into Eagle. Each of these tutorials serves two purposes. First, it is a very quick introduction to each PCB design tool. Second, this series provides an overall comparison between different PCB design tools.

    Now, finally, and after many complaints, it’s time for the tutorial everyone has been waiting for. It’s time for KiCad.

  9. Tomi Engdahl says:

    The KiCAD Central

    All you want to know about KiCAD. Whether you’re a starter or a power user, there should be something for everyone here shortly.

    This aims to be a one-stop community resource for KiCAD from helpful pro tips to beginner tutorials to useful links

  10. Tomi Engdahl says:

    Creating A PCB In Everything: KiCad, Part 3
    December 23, 2016 by Brian Benchoff

    In part three of this KiCad tutorial, we’re going to take a look at turning our board into Gerbers. This will allow us to send the board off to any fab house. We’re going to take a look at DRC, so we can make sure the board will work once we receive it from the fab. We’re also going to take a look at some of the cooler features KiCad has to offer, including push and shove routing (as best as we can with our very minimalist board) and 3D rendering.

  11. Tomi Engdahl says:

    Friday Hack Chat: KiCad EDA Suite with Wayne Stambaugh

    KiCad is the premiere open source electronics design automation suite. It’s used by professionals and amateurs alike to design circuits and layout out printed circuit boards. In recent years we’ve seen some incredible features added to KiCad like an improved 3D viewer and push-and-shove routing. This Friday at 10 am PST, join in a Hack Chat with KiCad lead developer [Wayne Stambaugh] to talk about recent improvements and what the team has planned for KiCad in the future.

    Kicad HackChat
    Wayne Stambaugh, Project Leader at Kicad will be discussing the road map and status of the Kicad Project

  12. Tomi Engdahl says:

    A Tool For KiCad Board Renderings

    If you’re producing documentation for a PCB project, you might as well make the board renders look good. But then, that’s a lot of work and you’re not an artist. Enter [Jan]’s new tool that takes KiCad board files, replaces each footprint with (custom) graphics, and provides a nice SVG representation, ready for labelling. If you like the output of a Fritzing layout, but have higher expectations of the PCB tool, this is just the ticket.

    PcbDraw – Awesome Looking Drawings

    To draw boards I use KiCAD Python API to exctract board layers as SVG and to get a list of components. Then I supply module library – SVG drawings of footprints and glue everything together using a Python script

  13. Tomi Engdahl says:

    An Even Smaller BeagleBone

    The BeagleBone famously fits in an Altoids tin. Even though we now have BeagleBone Blacks, Blues, and Greens, the form factor for this curiously strong Linux board has remained unchanged, and able to fit inside a project box available at every cash register on the planet. There is another Altoids tin, though. The Altoid mini tin is just over 60×40 mm, and much too small to fit a normal size BeagleBone. [Michael Welling] has designed a new BeagleBone to fit this miniature project box. He’s calling it the Pocketbone, and it’s as small as the mints are strong.

    The Pocketbone is based on the Octavo Systems OSD355x family, better known as the ‘BeagleBone on a chip’. This chip features a TI AM355x ARM Cortex A8, up to 1GB of DDR3 RAM, 114 GPIOs, 6 UARTs, 2 SPIs, 2x Gigabit Ethernet, and USB. It’s housed in a relatively large BGA package that makes routing easy,

    Pocketbone KiCAD
    Smalls mint tin sized BeagleBone (KiCAD version)

  14. Call Florida Plumber says:

    Thanks a lot for sharing such a nice website with the readers. I think you are doing a great effort to make this website useful.

  15. Tomi Engdahl says:

    Bogdan says:
    May 9, 2017 at 6:10 am

    For this reason I would support KiCad. It is good enough to work with, but in my opinion it takes a lot more effort before you learn how to make the same things that seem to come more natural in others. It’s part because of the missing features (and workarounds), part because of poor quality documentation and part because some things are simply awkward. Once you learn it, it is powerful enough for even advanced work and plus, they are really working on improving it.


  16. Tomi Engdahl says:

    KiCAD Best Practices: Library Management

    One common complaint we hear from most new KiCAD users relates to schematic and footprint libraries. The trick is to use just one schematic symbol and footprint library each with your project. This way any changes to the default schematic libraries will not affect your project and it will be easy to share your project with others without breaking it. I’ve spent some time refining this technique and I’ll walk you through the process in this article.

  17. Tomi Engdahl says:

    Perf++ shields
    We are experimenting with making Perf+ 2 like perf shields

    We designed the initial perf shield using KiCAD’s recently dropped create array option. It is quite useful for designing perf regular footprint board layouts. Hopefully they re-add the capability. Until then, 4.0.2 is the version we recommend with these footprints.

    Perf++ is a similar design to Ben Wang’s Perf+ 2 that he successfully funded through Crowd Supply. Hackaday did a story on it compared to other current perf board concepts -

    Hackaday link. Our version is similar, but we have open sourced the footprints and plan to integrate them into shields, capes, etc.

  18. Tomi Engdahl says:

    What’s Coming In KiCad Version 5

    Way back in the day, at least five years ago, if you wanted to design a printed circuit board your best option was Eagle. Now, Eagle is an Autodesk property, the licensing model has changed (although there’s still a free version, people) and the Open Source EDA suite KiCad is getting better and better. New developers are contributing to the project, and by some measures, KiCad is now the most popular tool to develop Open Source hardware.

    At FOSDEM last week, [Wayne Stambaugh], project lead of KiCad laid out what features are due in the upcoming release of version 5. KiCad just keeps improving, and these new features are really killer features that will make everyone (unjustly) annoyed with Eagle’s new licensing very happy.

    KiCad Version 5 New Feature Demo

  19. Tomi Engdahl says:

    Digikey Tips Its Hat To Kicad With Its Own Library

    Digikey might wow us with their expansive stock, but now they’re wowing us with a personal gesture. The US-based electronics vendor is nodding its head in approval to KiCad users with its very own parts library. What’s more, [Chris Gammell] walks us through the main features and thought process behind its inception.

    With all the work that’s going into this library, it’s nice to see features showing that Digikey took a thorough look at KiCad and how it fits into the current state of open-source PCBA design. First off, this library follows a slightly different design pattern from most other KiCad libraries in that it’s an atomic parts library. What that means is that every symbol is linked to a specific manufacturer part number and, hence, gets linked to a specific footprint.

  20. Tomi Engdahl says:

    Simple KiCad Breakout Board (Part 1)

    A step-by-step guide, using KiCad to make a simple breakout board for tiny, tiny chips!

  21. Tomi Engdahl says:

    Searchable KiCad Component Database Makes Finding Parts A Breeze

    KiCad, the open source EDA software, is popular with Hackaday readers and the hardware community as a whole. But it is not immune from the most common bane of EDA tools. Managing your library of symbols and footprints, and finding new ones for components you’re using in your latest design is rarely a pleasant experience. Swooping in to help alleviate your pain, [twitchyliquid64] has created KiCad Database (KCDB). a beautifully simple web-app for searching component footprints.

  22. Tomi Engdahl says:

    Interactive KiCAD BOMs Make Hand Assembly a Breeze

    We’ve all been there; you finally get the last DigiKey box and now your desk is covered in parts to stuff into a shiny new PCB you’ve been working on. First stop? Passive town, population endless waves of 1uF capacitors. The first one goes in the upper left, then a little below that, then… once you get to C157 it’s getting pretty hard to remember exactly which parts go where. Enter the literally named InteractiveHtmlBom (IHB) to smooth this process out.

    IHB makes the frustrating task of mapping lines in a BOM to a physical position on a board easy. The classic method is of course, to look at the BOM, then search the board for that designator and place the component.

    Interactive HTML BOM generation plugin for KiCad

  23. Tomi Engdahl says:

    Visual Schematic Diffs in KiCAD Help Find Changes

    When writing software a key part of the development workflow is looking at changes between files. With version control systems this process can get pretty advanced, letting you see changes between arbitrary files and slices in time. Tooling exists to do this visually in the world of EDA tools but it hasn’t really trickled all the way down to the free hobbyist level yet. But thanks to open and well understood file formats [jean-noël] has written plotgitsch to do it for KiCAD.

    In the high(er)-end world of EDA tools like OrCAD and Altium there is a tight integration between the version control system and the design tools, with the VCS is sold as a product to improve the design workflow. But KiCAD doesn’t try to force a version control system on the user so it doesn’t really make sense to bake VCS related tools in directly.

  24. Tomi Engdahl says:

    Advanced Techniques For Using Git With KiCAD

    For most developers “distributed version control” probably means git. But by itself git doesn’t work very well with binary files such as images, zip files and the like because git doesn’t know how to make sense of the structure of an arbitrary blobs of bytes. So when trying to figure out how to track changes in design files created by most EDA tools git doesn’t get the nod and designers can be trapped in SVN hell. It turns out though KiCAD’s design files may not have obvious extensions like .txt, they are fundamentally text files (you might know that if you’ve ever tried to work around some of KiCAD’s limitations). And with a few tweaks from [jean-noël]’s guide you’ll be diffing and merging your .pro’s and .sch’s with aplomb.

  25. Tomi Engdahl says:

    Extract Pinouts from PDF Datasheets to Create KiCad Schematics with uConfig

    Need to make parts using KiCad, but the libraries required to make those parts are in PDF form? Now there is a way to do just that, with Robotips’ uConfig tool, which automates the process of making schematic parts and footprints using the text provided in the PDFs.

  26. Tomi Engdahl says:

    KiCAD Quick-Start Tutorial

    This is a short and fast introductory video for those interested in getting started using KiCAD. I wanted to demonstrate a basic work-flow through schematic capture and PCB layout modules, instead of touching on every function or element of the user interface.

    Introductory KiCAD Tutorial

  27. Tomi Engdahl says:

    EEVblog #1193 – KiCAD PCB 4 Layer Swapping & Stackup

    More on the Gigatron 4 layer PCB for EMC compliance testing. Swapping the inner and outer plane layers, experimenting with KiCAD and investigating several issues with the tool.
    Talk on gerber generation, PCB checklists, PCB design for manufacture, PCB stackup, and uploading to JLCPCB for 4 layer manufacture.

  28. Tomi Engdahl says:

    Altium Has Its 2kicad Moment

    Around these parts we tend to be exponents of the KiCad lifestyle; what better way to design a PCBA than with free and open source tools that run anywhere? But there are still capabilities in commercial EDA packages that haven’t found their way into KiCad yet, so it may not always be the best tool for the job. Altium Designer is a popular non-libre option, but at up to tens of thousands of USD per seat it’s not always a good fit for users and businesses without a serious need.

    What do you do as a KiCad user who encounters a design in Altium you’d like to work with? Well as of April 3rd 2020, [Thomas Pointhuber] has merged the beginnings of a native Altium importer into KiCad which looks to be slated for the 6.0 release. As [Thomas] himself points out in the patch submission, this is hardly the first time a 3rd party Altium importer has been published. His new work is a translation of the Perl plugin altium2kicad by [thesourcerer8]. And back in January another user left a comment with links to four other (non-KiCad) tools to handle Altium files.

  29. Tomi Engdahl says:

    KiCad Panelization Made Easy

    There’s a new Python-based script that will panelize your KiCad circuit boards from the command line. The project by [Jan Mrázek] is called KiKit and works on .kicad_pcb files to arrange them in a grid with your choice of mousebites or v-cuts for separating the boards after production.

  30. Tomi Engdahl says:

    STRF Shows How to Do RF Design with an STM32-Based Project

    KiCad schematic and PCB layout techniques for a design with high-speed digital and RF.

    4-layer PCB designed in KiCad. Video:

  31. Tomi Engdahl says:

    Let KiCad And Python Make Your Coils

    We like to pretend that our circuits are as perfect as our schematics. But in truth, PCB traces have unwanted resistance, capacitance, and inductance. On the other hand, that means you can use those traces to build components. For example, it isn’t uncommon to see a very small value current sense resistor be nothing more than a long PC board trace. Using PC layers for decoupling capacitance and creating precise transmission lines are other examples. [IndoorGeek] takes us through his process of creating coils on the PCB using KiCad. To help, he used a Python script that works out the circles, something KiCAD has trouble with.

  32. Tomi Engdahl says:

    Create PCB Coils Using Python and KiCad
    Although KiCad doesn’t like to produce curved traces, its file format is open and text-friendly, so you can make coils using Python scripts.


Leave a Comment

Your email address will not be published. Required fields are marked *