The Kicad design process

In this chapter you will learn about Kicad’s PCB design workflow.


The process of designing a PCB using Kicad begins with Eeschema.

The process begins with Eescema. In Eeschema we create the electrical schematic that describes the circuit that eventually will be printed onto the PCB board. We draw the schematic by picking components from the library and if a component that we need doesn’t exist in the library, we can create it using the schematic library editor.

At some point in our design of this schematic we can run the electrical rules check and that is a utility that ensures that we don’t have any obvious mistakes or any electrical mistakes in our design. The electrical rules check will give us a defect report and we’ll use that report correct any problems in Eeschema.

Once we have everything set out correctly and there are no more defects in our schematic, we are almost ready to move ahead and go into the Pcbnew application in order to start doing the layout for our PCB.

There are two things we need to do before we go to Pcbew. The first one is to associate the components in Eeschema with footprints. To do that we use another component of Kicad called Cvpcb.


With Cvpcb, we associate schematic components with footprints.

This allows us to match schematic components with footprint modules. One thing to remember in terms of terminology is that in Kicad a schematic has components and a PCB has footprints. If there is a footprint that doesn’t exist in the footprint library, then again we can create it. There is a small utility called the “PCB footprint editor” that allow us to create our own custom footprints just like you can create your custom schematic components using the schematic library editor with Eeschema.

Once you have the matching between components and modules completed then we export a file called Netlist through Eeschema. The netlist file will contain in it all the information about components and their connections to other components, as well as their associations with footprints and other meta-information (like component names and values). Then we’ll import the netlist into Pcbnew and all the components that we created in Eeschema will appear in a new blank canvas that makes up our PCB.


Once the schematic is complete, we work on the layout of the board using Pcbnew

We use Pcbnew to place the footprints on the blank canvas, and then do the wiring. We can move the components around so that they are nice and tidy and we’ll start doing all the connections between the various pins using. This process is very time consuming, especially for large projects. The placing and routing is mostly a manual process. Although Kicad does have an auto router, most people prefer not to use it, in favour of the manual process which give the designer absolute control.

Once you have your PCB laid out and connection’s completed you can go ahead and do a design rules check that’s going to make sure that, for example, a track’s not too close to a pad and things like that. Look for any pads that are not connected and things of that sort. We can always fix footprints using the footprint editor.

Assuming that you are finished with the current iteration, you will want to have it fabricated. To do that you must export the PCB data as a collection of files, called “Gerber files”. I will describe Gerber files in more detail in the next chapter. Gerber files contain several related files, with one Gerber file per layer on your PCB and contains instructions that the fabrication house will need in order to make your PCB.

One thing to notice about the Kicad design process is that it has a lot of closed loops; there is a lot of iteration happening. As we’ll see in the first example project, It is often the case where you go into your PCB design and then you realize that there is a component you should have included in your schematic design in Eeschema but then you forgot about it or you just didn’t think it would be necessary until later in the process. In this case you can go back to Eeschema, adjust the schematic with whatever was missing or make your additions or changes and then go and create a netlist and go back to Pcbnew to continue your layout work there. There is a lot of iteration that is happening here. This is ok! It’s not that hard to be iterative in Kicad; the workflow allows you for that.

Let’s move on to the next chapter where we’ll talk about fabrication.

Back to top
« « What is a Printed Circuit Board? | Fabrication » »