PCB design tutorial for beginners starts right here — with KiCad, the free and open-source EDA tool that professional engineers and hobbyists alike use to design circuit boards. If you have never designed a PCB before, this step-by-step guide walks you through the entire process: from installing KiCad 8 on your computer to generating manufacturing-ready Gerber files that you can send to any PCB fabrication house. We will build a simple but practical Arduino LED shield, covering every click along the way.
Table of Contents
- Why KiCad for Your First PCB?
- Installing KiCad 8
- Creating Your First Project
- Drawing the Schematic
- Assigning Footprints to Components
- PCB Layout: Placing and Routing
- Running Design Rule Check (DRC)
- Generating Gerber Files
- DFM Tips for Indian Manufacturers
- Frequently Asked Questions
- Conclusion
Why KiCad for Your First PCB?
There are several PCB design tools available — Altium Designer, Eagle, EasyEDA, and KiCad being the most popular. For beginners, KiCad stands out for several reasons:
Completely free: Unlike Altium (which costs lakhs per year) or Eagle (which limits board size on free plans), KiCad has no restrictions. You can design boards of any size and complexity without paying a rupee. This matters when you are learning because you do not want licensing limitations getting in the way of experimentation.
Professional-grade: KiCad is not a toy. CERN uses it. Hardware startups use it. The component libraries are extensive, the routing engine is capable, and the output files work with every manufacturer on the planet. Skills you build in KiCad transfer directly to professional work.
Active community: Forums, YouTube tutorials, and Reddit communities around KiCad are thriving. When you get stuck, help is easy to find. The KiCad 8 release (which we use in this tutorial) brought major UI improvements that make it more approachable than earlier versions.
Cross-platform: KiCad runs on Windows, macOS, and Linux. The interface is identical across platforms, so this tutorial works regardless of your operating system.
Installing KiCad 8
Head to kicad.org/download and grab the latest KiCad 8.x installer for your platform. The download is roughly 1.5-2 GB as it includes the complete component and footprint libraries.
Windows: Download the .exe installer and run it. Accept the defaults — the installer will set up KiCad, its libraries, and the 3D model packages. Installation takes about 5-10 minutes on a modern SSD.
macOS: Download the .dmg file, drag KiCad to your Applications folder. On Apple Silicon Macs, KiCad 8 runs natively — no Rosetta needed.
Linux (Ubuntu/Debian): Add the KiCad PPA for the latest version:
sudo add-apt-repository ppa:kicad/kicad-8.0-releases
sudo apt update
sudo apt install kicad
After installation, launch KiCad. You will see the project manager window with options to create new projects or open existing ones. Take a moment to explore the interface — notice the separate launchers for the Schematic Editor, PCB Editor, Footprint Editor, and other tools along the right side.
First-run tip: Go to Preferences > Configure Paths and verify that KICAD8_SYMBOL_DIR, KICAD8_FOOTPRINT_DIR, and KICAD8_3DMODEL_DIR all point to valid directories. If these are wrong (which occasionally happens on Linux installations), the component libraries will not load.
Creating Your First Project
Our project is an Arduino Nano LED shield — a small PCB that plugs onto an Arduino Nano and has 4 LEDs with current-limiting resistors. This is simple enough to complete in one sitting but complex enough to teach you the full PCB design workflow.
Step 1: In the KiCad project manager, click File > New Project. Choose a location on your drive (avoid paths with spaces or special characters — some export tools handle them poorly). Name your project “arduino-led-shield”.
KiCad creates three files: a .kicad_pro (project settings), a .kicad_sch (schematic), and a .kicad_pcb (PCB layout). All three are plain text files, which makes them version-control friendly if you use Git.
Step 2: Double-click the .kicad_sch file (or click the schematic editor icon) to open the schematic editor. This is where we will draw our circuit diagram before converting it to a PCB layout.
The schematic editor opens with an empty sheet. On the right side, you will see a toolbar with tools for placing symbols (components), wires, labels, and power flags. The most important shortcut to remember: press A to add a component symbol.
Drawing the Schematic
Our LED shield circuit is straightforward: 4 LEDs, each with a 220-ohm current-limiting resistor, connected to Arduino Nano digital pins D2, D3, D4, and D5. We also need header pins to connect to the Nano.
Step 1 — Add the LED symbols: Press A to open the symbol chooser. Type “LED” in the search box. Select the basic LED symbol from the Device library. Click to place it on the schematic. Press A again and place 3 more LEDs. Arrange them in a row with some spacing.
Step 2 — Add the resistors: Press A, search for “R” (resistor). Place 4 resistors, one next to each LED. The resistor value does not matter for the schematic — we will set it to 220R later.
Step 3 — Add the pin headers: Press A, search for “Conn_01x15_Pin” in the Connector library (you need 15 pins per side for the Arduino Nano). Place two 15-pin headers to represent the Nano’s left and right pin rows.
Step 4 — Wire everything up: Press W to start drawing wires. Connect each resistor to its LED. Connect the other end of each resistor to the appropriate header pin (D2-D5). Connect the cathode of each LED to GND on the header.
Step 5 — Add power flags: KiCad’s electrical rules checker (ERC) requires power flags on nets that derive power from connectors. Search for “PWR_FLAG” and place one on the GND net and one on the VCC net. This tells KiCad that these nets are intentionally powered from the connector, not from a regulator or battery symbol.
Step 6 — Annotate: Click Tools > Annotate Schematic. Click “Annotate” with the default settings. This assigns unique reference designators (R1, R2, R3, R4, D1, D2, D3, D4, J1, J2) to each component.
Step 7 — Set values: Double-click each resistor and set its value to “220”. Double-click each LED and set a meaningful value like “Red LED” or just “LED”. These values appear on the silkscreen if you choose to include them.
Step 8 — Run ERC: Click Inspect > Electrical Rules Checker > Run ERC. Fix any errors (common ones: unconnected pins, missing power flags). Warnings about unconnected header pins are acceptable since we are not using all 15 pins on each header.
Assigning Footprints to Components
Footprints define the physical pads and holes on the PCB for each component. Every schematic symbol needs a footprint before you can create the PCB layout.
Step 1: Click Tools > Assign Footprints. This opens a three-pane window: libraries on the left, your components in the middle, and available footprints on the right.
Step 2 — Resistors: Select each resistor in the middle pane. For through-hole resistors (easier to solder for beginners), find Resistor_THT > R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal. This is a standard 1/4W resistor footprint with 7.62mm pin spacing.
Step 3 — LEDs: Select each LED. Choose LED_THT > LED_D3.0mm (standard 3mm through-hole LED). If you prefer 5mm LEDs, use LED_D5.0mm instead.
Step 4 — Pin headers: Select the connectors. Choose Connector_PinHeader_2.54mm > PinHeader_1x15_P2.54mm_Vertical. This matches the standard 2.54mm (0.1 inch) pin spacing used by Arduino boards.
Step 5: Click “Apply, Save Schematic & Continue” then close the window. All components now have physical footprints assigned.
Important tip: Always verify footprints match your actual components. Download the datasheet for each part you plan to use and compare the pad dimensions. A wrong footprint is the number one cause of boards that cannot be assembled. When in doubt, print the PCB layout at 1:1 scale on paper and physically place the component on it to check alignment.
PCB Layout: Placing and Routing
Now the fun part — turning your schematic into a physical board layout.
Step 1 — Open the PCB editor: Back in the KiCad project manager, open the .kicad_pcb file. Click Tools > Update PCB from Schematic (or press F8). Click “Update PCB”. All your components appear in a cluster near the origin, connected by thin lines (called the ratsnest) showing which pads need to be connected.
Step 2 — Set up the board outline: Switch to the Edge.Cuts layer. Use the rectangle tool to draw your board outline. For an Arduino Nano shield, a good size is 45mm x 18mm. Position it so the pin headers will align with the Nano’s footprint. The Nano’s pin rows are spaced 15.24mm apart (6 x 2.54mm).
Step 3 — Place the pin headers: Move J1 and J2 (pin headers) to their correct positions first. These are your anchor points — everything else is positioned relative to them. Space them 15.24mm apart, matching the Nano’s dimensions. Use the coordinate readout at the bottom of the screen for precise placement.
Step 4 — Place LEDs and resistors: Arrange the LEDs in a row near the top of the board. Place each resistor close to its associated LED. Keep components on a 1.27mm or 0.635mm grid for neat alignment. Think about how the board will look when assembled — component alignment affects both aesthetics and ease of hand soldering.
Step 5 — Route traces: Press X to start routing. Click on a pad, then route to the connected pad (shown by the ratsnest line). For this simple board, all traces can go on the front copper layer (F.Cu). Use 0.25mm trace width for signal traces and 0.5mm for power traces (GND, VCC). KiCad will automatically prevent you from creating shorts.
Step 6 — Add a ground pour: A copper fill (ground pour) on the back layer is good practice even on simple boards. Select the B.Cu layer, use the zone tool (Add Filled Zone), draw a rectangle covering the entire board, and assign it to the GND net. Click Edit > Fill All Zones (press B) to fill it.
Running Design Rule Check (DRC)
The DRC verifies that your PCB layout meets manufacturing constraints and matches your schematic. Never skip this step — even experienced designers find issues during DRC.
Step 1 — Configure design rules: Click File > Board Setup > Design Rules > Constraints. Set these minimum values (safe for most Indian manufacturers):
- Minimum trace width: 0.2mm (8 mil)
- Minimum clearance: 0.2mm (8 mil)
- Minimum via diameter: 0.6mm
- Minimum via drill: 0.3mm
- Minimum hole size: 0.3mm
Step 2 — Run DRC: Click Inspect > Design Rules Checker > Run DRC. Review any errors carefully:
- Clearance violations: Traces or pads are too close together. Move the offending trace or component to fix.
- Unconnected items: A ratsnest line still exists — you missed routing a connection. Route the missing trace.
- Track width violations: A trace is too narrow. Select it and increase the width.
- Courtyard overlaps: Components are too close together. Move them apart so their courtyards (the dashed outlines) do not overlap.
Step 3: Fix all errors and run DRC again. Repeat until you get zero errors. Warnings can sometimes be ignored (such as silkscreen over pads), but errors must all be resolved.
Pro tip: DRC settings should match your chosen manufacturer’s capabilities. Indian manufacturers typically support 6-8 mil minimum trace/space and 0.3mm minimum drill. If you are ordering from a budget manufacturer, use 8 mil minimums to be safe. Check the manufacturer’s capability page before finalising your design rules.
Generating Gerber Files
Gerber files are the industry-standard format that PCB manufacturers use to fabricate your board. KiCad generates one Gerber file per layer, plus drill files.
Step 1: Click File > Fabrication Outputs > Gerbers (.gbr). In the dialog that opens, you need to select the layers to export:
- F.Cu — Front copper
- B.Cu — Back copper
- F.SilkS — Front silkscreen
- B.SilkS — Back silkscreen
- F.Mask — Front solder mask
- B.Mask — Back solder mask
- Edge.Cuts — Board outline
Step 2 — Export settings: Set the format to Gerber X2 (newer format, widely supported) or standard Gerber RS-274X (universal compatibility). Check “Use Protel filename extensions” — this is the naming convention most manufacturers expect (.GTL for top copper, .GBL for bottom copper, etc.).
Step 3 — Generate drill files: Click “Generate Drill Files” in the same dialog. Select Excellon format, millimetres as the unit, and “Minimal header” for maximum compatibility. This creates .drl files that specify where to drill holes.
Step 4 — Verify with GerbView: Open KiCad’s GerbView tool (from the project manager). Load all generated Gerber and drill files. Visually inspect each layer — check that traces are correct, pads align between layers, the board outline is closed, and drill holes appear in the right locations.
Step 5 — Package for ordering: Create a ZIP file containing all Gerber files (.gbr or Protel extensions) and drill files (.drl). This single ZIP is what you upload to your manufacturer’s website. Most manufacturers (including Zbotic’s PCB service) accept this format directly.
DFM Tips for Indian Manufacturers
Design for Manufacturing (DFM) means designing your PCB so it can be fabricated reliably and cheaply. Here are specific tips tailored to Indian manufacturer capabilities:
Trace width and spacing: While some Indian manufacturers advertise 4 mil (0.1mm) capability, use 8 mil (0.2mm) minimum for your first board. This gives you margin for manufacturing tolerances and reduces the risk of rejection. You can always go tighter on future boards once you know your manufacturer’s actual capability.
Via sizes: Use 0.6mm via diameter with 0.3mm drill for standard vias. Some Indian manufacturers charge extra for vias smaller than 0.3mm drill. If your design permits it, use larger vias — they are cheaper and more reliable.
Board thickness: Standard 1.6mm FR-4 is the cheapest option everywhere. Non-standard thicknesses (0.8mm, 2.0mm) cost more and take longer. Stick with 1.6mm unless your design specifically requires otherwise.
Panelisation: If you are ordering multiple small boards, ask your manufacturer about panelisation — combining multiple board designs (or copies) onto a single panel. This reduces per-board cost significantly. Add V-score or mouse-bite break-away tabs to your Edge.Cuts layer for easy separation.
Solder mask colour: Green is the standard and cheapest option. Other colours (black, white, blue, red) may cost ₹50-200 extra per order depending on the manufacturer. Some manufacturers only offer green for express orders.
Frequently Asked Questions
Is KiCad good enough for professional PCB design?
Absolutely. KiCad 8 is used by companies, research labs, and professional engineers worldwide. CERN originally developed it for their particle physics experiments. It supports multi-layer boards, differential pairs, length matching, and 3D visualisation. The main limitation compared to Altium is the lack of some advanced simulation features and enterprise collaboration tools, but for 95% of PCB design work, KiCad is more than capable.
What file format should I send to my PCB manufacturer?
Send Gerber files (RS-274X or Gerber X2 format) along with Excellon drill files, all packaged in a single ZIP. This is the universal standard accepted by every PCB manufacturer. Some manufacturers also accept native KiCad .kicad_pcb files or ODB++ format, but Gerber is the safest bet. Always use Protel filename extensions (.GTL, .GBL, .GTS, .GBS, etc.) for maximum compatibility.
How much does it cost to get a simple 2-layer PCB manufactured?
From Indian manufacturers, a simple 2-layer board (100x100mm or smaller, 5 pieces, standard specs) costs ₹300-800 depending on the manufacturer and lead time. From JLCPCB, the same order costs roughly ₹150 plus ₹400-800 for shipping to India. For your first boards, Indian manufacturers often provide better value when you factor in shipping speed and no customs hassle.
Can I design a 4-layer board in KiCad as a beginner?
KiCad fully supports multi-layer boards, but start with 2-layer designs until you are comfortable with the workflow. A 4-layer board adds complexity in stackup configuration, via management, and design rules. Once you have successfully manufactured 2-3 two-layer boards, you will have the experience to tackle a 4-layer design confidently. Most hobby and simple IoT projects work fine with 2 layers.
What are common mistakes beginners make in PCB design?
The top five beginner mistakes are: (1) wrong footprints that do not match actual components, (2) traces too close to the board edge (keep 0.5mm minimum clearance from Edge.Cuts), (3) missing thermal relief on ground pads connected to copper pours, (4) forgetting to add mounting holes, and (5) not running DRC before generating Gerbers. Print your board layout at 1:1 scale and physically check component fit before ordering.
Conclusion
You now have the knowledge to go from a blank KiCad project to manufacturing-ready Gerber files. The process — schematic capture, footprint assignment, PCB layout, DRC, and Gerber generation — is the same whether you are building a simple LED shield or a complex IoT device. The only things that change are the complexity of the circuit and the tightness of the design rules.
For your first order, start small: a simple 2-layer board with through-hole components. Get it manufactured, solder it, and test it. That experience of holding a board you designed yourself is what hooks most people on PCB design. And when you need components to populate your boards, browse our complete range of PCB tools and components at Zbotic.in.
Add comment