Introduction to printed circuit board design – Part 1
Printed Circuit Boards (PCB), are at the heart of modern electronics. They consist of layers of copper separated by an insulating material, often seen in green. They serve as a support to connect and hold components, with the goal of building an electronic board.
In this tutorial, you will learn how to use KiCad software to design a simple PCB, from the electronic schematic to the board layout ready for fabrication.
For any comments or questions, feel free to email me at .
Requirements
- A computer with KiCad installed
- That’s it!
Goal
The goal of this tutorial is to create a small PCB with simple components (LEDs, buzzers, resistors, etc.) that can later be connected and used with a microcontroller board:
This project is carried out in two parts:
- Schematic: Here we draw the circuit schematic, just like in the introduction to embedded programming. You will find such schematics in electronics courses.
- Routing: This is where the position of the various components is chosen, and where they are connected together by routing.
Schematic
Mission
Create a new KiCad project, then open the “Schematic Editor” to get the page shown above.
Tip
You can edit the title block at the bottom right of your schematic by double-clicking it. It’s common to add the date, version, title, your name, and comments, etc.
Placing Components
For our board, we need to place the following components on the page:
- 3 LEDs (LED)
- A 7-pin male connector (Conn_01x07_Pin)
- 4 resistors (R)
- 1 push-button switch (SW_Push)
Mission
Add all the required components to the schematic as shown above using the “Place Symbol” tool.
Tip
The “A” shortcut key also opens the “Place Symbol” tool! For future missions, shortcuts will be provided in parentheses when available.
Connecting Components
Now we will connect the components together with wires, and also using what are called labels.
Local and global labels allow you to connect components without drawing wires between them. This is very useful for improving readability in a large schematic. Here is an example without labels:
And the same schematic with labels (both are equivalent!):
- Local label: Functional for a single page of the project (what we will use in this tutorial since we only have one page).
- Global label: Functional across all pages of the same project.
Mission
Connect the components with wires (W) and labels (L), and add the +5V power rail and GND ground (A).
Did you know?
To avoid errors later during the Electrical Rules Check, place a power flag (PWR_FLAG) in parallel on +5V and ground, as shown below. This flag tells KiCad where the power is supplied from.
Annotating Components
Next, we will assign unique reference designators to each component so they can be distinguished.
Mission
Use the “Annotate Schematic” tool to review and update the reference designators.
Electrical Rules Check
Your schematic is now complete, but you must verify that there are no errors. This is done with the Electrical Rules Checker (ERC).
In the example above, a connection between LED D1 and ground was missing. We add the required wire, rerun the ERC, and the errors disappear:
Mission
Run the ERC and fix any errors until there are none left.
Assigning Footprints
Now we need to assign a footprint to each component, defining its shape and dimensions on the PCB. We do this with the “Assign Footprints” tool.
The tool is divided into three columns:
- Available footprint libraries
- Your schematic symbols and their currently assigned footprints (none yet)
- The list of all footprints in KiCad
To avoid searching through all footprints, you can apply three filters:
- Footprints defined for the selected symbol
- Filter by pin count of the selected symbol
- Filter by selected libraries in the left column
In this example, you can enable all three filters at once by checking their boxes.
Mission
Assign the appropriate footprints to each component as indicated above.
Once all footprints are assigned and the ERC shows no errors, we can move on to PCB layout in the next part.
Credits
- Writer: Ousmane THIONGANE
- Lastest update: June 2025
- Reviewer: Loubna LATRECHE