KiCad PCB Design Step-by-Step Tutorial for Beginners

KiCad is a free and open-source Electronic Design Automation (EDA) software dedicated to PCB design. It offers a comprehensive set of tools, including schematic design, PCB layout, and the generation of production files. KiCad software is compatible with major operating systems, such as Windows, Linux, and macOS, making it suitable for a wide range of users, from hobbyists and students to professional engineers, regardless of whether they are beginners or have some background in electronics.

Advanced Reading: Best PCB Design Software List

KiCad’s user-friendliness enables the rapid and straightforward creation of customized PCB. Even without an extensive electronics background, you can get started easily. However, if you already possess some electronics knowledge, it will be advantageous to make the most of KiCad’s features. In this TechSparks article, we will provide a comprehensive KiCad tutorial, guiding beginners step by step to bring their creative ideas to life. Before we dive in, we’ve found a KiCad tutorial video on YouTube.

Table of Contents

Step 1: Install Kicad Software

To get started with this beginner’s guide for designing PCB in KiCad, head over to and download a free copy of KiCad for your preferred operating system.

Software installation is quite straightforward. For this tutorial, we are going to use the latest version of KiCad, which is KiCad 7. Any KiCad version higher than KiCad 5 should work fine. Also, note that KiCad 7 offers backward compatibility for files, but not forward compatibility. This means that you can open a KiCad 5 file in KiCad 7, but when you save it as a KiCad 7 file, you cannot open the file using either KiCad 6 or 5.

To begin, visit and navigate to the ‘Downloads’ section. Choose your operating system: Windows, Linux, or macOS. In this tutorial, TechSparks’ll be using Windows.

Once you’ve selected your OS, download the latest worldwide version. After downloading, run the executable file to complete the installation.

Kicad website home page interface

Step 2: Create New Kicad Project

After installing the software on your system, we can proceed to create a new project.

To initiate a new blank project, navigate to File > New File and provide a name for your project.

For this guide, TechSparks will demonstrate designing a motor driver shield for Arduino Uno using a template. To create a project from a template, select File > New Project from Template.

Create New Kicad Project

Step 3: Schematic Design

This step involves creating the circuit schematic, which is a visual representation of an electronic circuit to be implemented in a PCB layout. It provides a high-level view of the circuit’s electrical connections and components

i. Adding Symbols

To begin designing the schematic, you’ll need symbols. In KiCad, a symbol represents an electronic component or device graphically. Symbols are stored in the symbol library. To open the symbol library, press ‘A’ in the schematic editor window.

The circuit we’re creating for the motor driver includes several components: the main IC (L298N, an H-bridge DC motor controller), diodes, a voltage regulator, capacitors, resistors, and an LED.

Search for required components in Kicad

To place these components, search for them in the parts library and left-click in the schematic editor to add them. Right-click when you’re finished to exit the placement mode.

To connect the components and create the schematic, use the wire tool located on the right-hand panel of the schematic editor. You can also hover around the terminals of the components in the schematic editor to connect them using wires.

Sometimes, when wiring, it may be more convenient to use labels instead of physical wires. KiCad offers two types of labels: Global Labels and Net Labels.

  • Global Label: uses unique tags to connect two points in a schematic, and it can connect multiple components between different schematic sheets when dealing with larger circuits organized into schematic hierarchies.
  • Net Labels: connect components on the same schematic sheet by assigning unique net names. Nets with the same names indicate a direct connection within the KiCad schematic editor.

global labels and net labels

In the schematic, you might have noticed arrows pointing up and down; these are power symbols. You can find power symbols in the parts library as well. In this schematic, ground and VCC symbols have been used.

ii. Annotating Schematic

Once all the connections are in place, it’s important to assign reference designators to the components in the schematic. This is crucial for distinguishing each component in the PCB layout. Annotating a schematic is the process of adding these reference designators. While you can add them one by one for more control, KiCad offers an easy way to annotate the schematic using a built-in feature.

To use the annotate tool, navigate to Tools > Annotate Schematic and select “Annotate.” The default settings should work perfectly. Alternatively, you can simply click on the annotated symbol at the top of the schematic editor window.

KiCad Annotating Schematic

iii. Running ERC

Once you’ve completed the annotation process, your schematic design is essentially finished. However, there’s one critical step remaining: the ERC check. ERC, which stands for Electrical Rules Check, is used to ensure that the circuit adheres to electrical rules and that all nets are properly connected.

iv. Assigning Footprints

The next step in the design process is to assign footprints to the schematic components. Footprints describe the shape and how a component will be physically placed and soldered on the PCB. KiCad provides a footprint assignment tool for this purpose. To assign footprints, navigate to Tools > Assign Footprints.

For this particular design, I will be using THT footprints. THT footprints have holes that allow components with leads to be soldered onto the PCB. The alternative footprint type is SMD, which lacks holes but includes pads where components are soldered.

KiCad Assigning Footprints

Step 4: PCB Design and Layout

Once you’ve completed the schematic design, open the PCB editor by clicking on the PCB editor symbol in the top-right corner of the schematic editor or by selecting it from the home page. With the PCB editor open, navigate to Tools > Update PCB from Schematic, or simply click on the “Update PCB” symbol at the top of the PCB editor window.

Advanced Reading: PCB Layout Design Guide for Beginners

i. Creating Edge Cuts

In KiCad, edge cuts are used to define the shape of the PCB. To draw the shape of a PCB, select the edge cuts layer and draw an enclosed shape. In our case, since we’re using a template, the edge cut is already provided.

Kicad Creating Edge Cuts

ii. Component Placement

Before we begin drawing traces on the PCB, we need to position the components on the board and arrange them methodically, ensuring that there are no or minimal crisscrossing traces.

iii. PCB Layers

KiCad’s PCB layout editor includes several layers. Here, we’ll discuss some of the layers you’ll use most frequently:

  • Copper Layer: This layer is where traces and polygons are drawn, enabling connections between components on the PCB. PCB can have one or more copper layers.
  • Silkscreen Layer: This layer is used for adding text and graphics to the PCB. It’s where you’d include component designators, values, PCB revision details, or any other text you want to appear on the PCB.
  • Solder Mask Layer: Responsible for the familiar green color found on many PCBs, this layer specifies where the PCB should be exposed and where it should be covered. Some areas may be exposed, like soldering pads, while others are covered to prevent copper oxidation.
  • Paste Layer: This layer defines the pad locations for components on the PCB. Information from this layer is often used in manufacturing to guide the placement of solder paste.

iv. Routing Traces

After placing all the components in their ideal locations and defining the PCB layout, you can begin routing traces to connect different nets as per the schematic. Before routing traces, adjust the routing properties. You need to increase the route thickness. To do this, click on “Track,” use “Net Class Width,” then select “Edit Pre-defined Sizes” and add 0.3mm for signal traces and 0.8mm for high-current traces, such as those connecting the motor.

Once the PCB traces are set, enter routing mode by pressing ‘X’ on your keyboard. You’ll see a green line attached to your cursor, representing the copper trace. Click on the terminals of the components, and you’ll see a thin line guiding you to the next destination. To begin a trace, ensure you’re in routing mode, then right-click on an unrouted net. Without clicking on any part, start moving (it’s recommended to use an external mouse if you’re on a laptop for easier routing). When the trace reaches its endpoint, right-click to complete it.

For optimal PCB performance, it’s advisable to add a copper region for the Ground net to establish proper current return paths. To create a ground pour on the PCB, go to “Place,” select “Add Filled Zone,” and choose the GND net from the dropdown.

Connect all the nets in the PCB layout editor, and press ‘B’ on the keyboard to repour the copper in the filled zone.

Kicad Routing Traces

v. Running DRC Again

Once all the traces have been routed, copper has been poured, and text on the Silkscreen has been placed, proceed to the DRC. Running DRC will identify errors and warnings where design rules have been violated on the PCB. Warnings are recommendations for changes and often don’t significantly impact the PCB’s functionality.

Navigate to the errors tab and ensure that all errors have been corrected before marking the routing process as complete.

To learn more about an error marker, click on it, and it will take you to the exact location on the PCB where the design rules have been violated. Correct the error and rerun the Design Rules Checker until all errors are resolved.

KiCad designed PCB view

Related Articles:

How to Implement PCB Design Step by Step Using Eagle

How to Design PCB in Altium

More content you may be interested in

tented vias
Tented Vias in PCB

The article emphasizes the significance of tenting PCB vias to shield them from external factors, enhancing signal integrity and assembly processes, particularly in high-speed and

buried via hole
What Are Buried Vias in PCB and Their Purpose

Buried vias enhance signal efficiency in multilayer PCBs, crucial for high-density interconnects. Despite added costs, they play a vital role in advanced electronic devices, optimizing

blind vias in pcb
PCB Blind Via Tutorial

Blind vias revolutionize PCB design, offering precise interlayer connections without spanning the entire board. Their benefits include suitability for miniaturized designs and compatibility with advanced

pcb pad
PCB Pad Fundamentals

PCB pads, essential for electronic connectivity, serve as connection points and aid heat dissipation. Through-hole pads suit pin insertion, while surface mount pads are for

PCB Solder Mask Opening
Guide to PCB Solder Mask Opening Design

PCB solder mask openings are crucial for various applications, including test points, heat dissipation, grounding, gold fingers, and current capacity enhancement. Design considerations, like choosing

pcb ground plane
Optimal Practices for PCB Ground Plane Design

This guide on PCB ground planes covers essential aspects for ensuring circuit stability and performance. It explores ground plane nodes, grounding schemes, and effective techniques.

Scroll to Top