Panelizing a PCB in KiCad involves arranging multiple copies of a PCB design on a single panel for efficient manufacturing and assembly. Below is a concise, step-by-step guide to panelizing a PCB in KiCad, based on common methods and tools. Note that KiCad does not have a native panelization tool, so manual methods or third-party plugins like KiKit are often used.
Steps to Panelize a PCB in KiCad
Option 1: Manual Panelization in KiCad
- Prepare Your PCB Design:
- Complete your single PCB design in KiCad’s PCB Editor (Pcbnew) and ensure it’s ready for manufacturing (DRC checks passed, Gerber files validated).
- Save the .kicad_pcb file in your project folder.
- Create a New Panel Project:
- Create a new KiCad project or duplicate your existing project to keep the original PCB file intact. Name it something like project_name_panel.kicad_pcb.
- Open the new project in Pcbnew.
- Append the PCB Design:
- In Pcbnew, go to File > Append Board and select your original .kicad_pcb file.
- Place the first copy of the board at the desired position (e.g., top-left corner of the panel). Use Place > Grid Origin to align it precisely.
- Create an Array of Boards:
- Select the entire board (including tracks, footprints, and edge cuts).
- Right-click and choose Create Array (or use Ctrl+T).
- Specify the number of rows and columns (e.g., 2×3 for six boards), spacing (typically 3-4 mm), and tab width for connections. Ensure the spacing accounts for routing or V-cuts.
- Add Tabs and Mouse Bites:
- Tabs: Use footprints like SINGLE_SIDED_TAB or DOUBLE_SIDED_TAB (available from sources like MicroType Engineering) to connect boards. Place these on the Cmts.User or Dwgs.User layer to indicate where the fab house should route.
- Mouse Bites: Draw small perforations (e.g., 0.5 mm holes spaced 1 mm apart) on the Edge.Cuts or Dwgs.User layer between boards. You can create a custom footprint for mouse bites in the Footprint Editor.
- Ensure tabs are placed strategically (e.g., two per side) to prevent warpage during assembly.
- Add Fiducials and Rails:
- Place fiducial marks (alignment targets) on the Edge.Cuts layer at the panel’s corners or diagonally for assembly alignment. Check with your fab house for specific requirements.
- Add waste boards (rails) around the panel (e.g., 10 mm wide) to support the panel during manufacturing. Draw these on the Edge.Cuts layer.
- Export Gerber Files:
- Go to File > Plot and select the layers to export (e.g., copper, silkscreen, solder mask, and Edge.Cuts for board outlines).
- Ensure the Cmts.User or Dwgs.User layer is included if it contains tab or mouse bite instructions.
- Generate drill files via File > Fabrication Outputs > Drill Files.
- Save all files to a dedicated folder (e.g., panel_gerbers).
- Verify with Fab House:
- Upload the Gerber files to your PCB manufacturer’s online viewer (e.g., JLCPCB, PCBWay) to confirm the panel layout.
- Include a note specifying which layers contain cut instructions (e.g., Dwgs.User for mouse bites or V-cuts).
Option 2: Using KiKit (Automated Panelization)
KiKit is a popular Python-based plugin for automating panelization in KiCad. It simplifies the process and supports features like mouse bites, V-cuts, and fiducials.
- Install KiKit:
- Install Python 3 and KiKit via pip: pip install kikit.
- Ensure KiCad’s Python API (pcbnew) is accessible. You may need to set up a specific environment or use a Docker image for compatibility.
- Run KiKit:
- Use the command line to panelize your board. Example command for a 2×3 grid with mouse bites:
bash
Copy
kikit panelize grid –space 3 –gridsize 2 3 –tabwidth 3 –tabheight 3 –htabs 2 –vtabs 1 –mousebites 0.5 1 0.25 –radius 1 input.kicad_pcb output_panel.kicad_pcb
- This creates a panel with 2 rows, 3 columns, 3 mm spacing, and mouse bites (0.5 mm holes, 1 mm spacing). Adjust parameters as needed.
- Customize the Panel:
- Open the output .kicad_pcb file in Pcbnew to review the panel.
- Add fiducials or rails manually if needed, or configure KiKit’s config file for advanced features like custom tab placement.
- Export Gerber Files:
- Follow the same Gerber export process as in the manual method.
- Check for silkscreen issues (e.g., clipping near Edge.Cuts) and uncheck “clip board outlines” in KiKit if needed.
Option 3: GerberPanelizer (Post-Processing Gerbers)
If you prefer working with Gerber files:
- Export Gerber and drill files for your single PCB.
- Download GerberPanelizer from GitHub (2018-08-10 snapshot recommended).
- Configure the tool to combine multiple Gerber files into a panel, specifying spacing and tab styles.
- Verify the output in a Gerber viewer before sending it to the fab house.
Key Considerations
- Fab House Requirements: Check with your manufacturer (e.g., JLCPCB, PCBWay) for panel size limits, fiducial placement, and preferred tab styles (mouse bites or V-cuts). Some fabs offer panelization services, but manual panelization gives you control over the layout.
- SMT Assembly: For pick-and-place assembly, ensure the panel fits the fab’s stencil jig and includes fiducials. Generate a .pos file for component placement.
- Updates: Manual panelization requires recreating the panel if the PCB design changes. KiKit can streamline updates by re-running the script.
- Layers: Use Dwgs.User or Cmts.User for cut instructions to avoid confusion with Edge.Cuts. Communicate clearly with your fab house.
Resources
- Tutorials:
- MicroType Engineering’s YouTube videos on panelization with custom footprints.
- Kevin Neubauer’s video and blog post for a detailed walkthrough.
- Sayanee Basu’s guide on PCBWay for manual tab and mouse bite creation.
- Tools:
- KiKit GitHub: https://github.com/yaqwsx/KiKit[](https://hackaday.com/2020/04/25/kicad-panelization-made-easy/)[](https://www.reddit.com/r/KiCad/comments/1dov2uv/how_to_panelize_in_kicad/)
- GerberPanelizer GitHub: https://github.com/ThisIsNotRocketScience/GerberPanelizer[](https://esologic.com/how-to-panelize-kicad-designs-for-free/)
