Panelizing Boards In KiCad

Panelization of printed circuit boards is a very helpful trick for any PCB design tool to have. By panelizing boards, you can get them ready for automated assembly. You can put testing rigs right on the panel. You can combine different boards to reduce your PCB production cost. But Eagle, Fritzing, and KiCad don’t have proper panelization tools, only hacks and third-party tools to get something close to proper panelization. [Flemming] just created a new utility for KiCad that makes multiple copies of a board connected via mouse bites. It’s not complete panelization functionality, but for a lot of us, it’ll be good enough.

The video demo for this utility (try not to click on that because we’re going to blow some bandwidth with this link) starts off by importing a board into Pcbnew, making several copies of the board, arranging these boards to have 3-4mm spacing, and drawing ‘hint lines’ for the script, telling it where the mouse bites should go. The script runs, and boom, mouse bites and a panel.

This is a KiCad specific tool, and we’ve seen other tools for KiCad that make multiple copies of a board. We’ve also seen tools that take raw Gerbers of multiple designs and turn them into a panel. [Flemming]’s efforts are the closest we’ve seen to having all the features you want out of a panelization utility bild exclusively for KiCad.

While this tool will give you a set of Gerbers with multiple copies of a board connected with mouse bites, this is not in any way a complete solution to panelizing PCBs. If you’re panelizing PCBs, you’ll want to add fiducials in the corners of the full panel, which this tool does not allow you to do. You might want to have one complete ‘frame’ as a panel — effectively a rectangular piece of fiberglass that holds all your PCBs — which this tool does not allow you to do. Since you don’t get a frame, it’s impossible to run programming or testing signals to the frame that would be needed for assembly, but not necessary in production. That said, unless you’re going to spend thousand on Altium or use Open tools that have critical flaws such as GerberPanelizer, this is the best option you’ve got.

13 thoughts on “Panelizing Boards In KiCad

  1. “you’ll want to add fiducials in the corners of the full panel, which this tool does not allow you to do.”

    Well, it looks like the PCB can still be edited after panelizing. So it is just a matter of drawing the fiducials manually, which is of course not ideal but easy enough.

    1. “You might want to have one complete ‘frame’ as a panel — effectively a rectangular piece of fiberglass that holds all your PCBs — which this tool does not allow you to do.”

      Looks like it’s supported looking at the readme.md? Or am I missing something?

  2. After sending the link to hackaday I implemented the bits needed for the frame, so now it’s possible to create the frame very easily, before adding the tabs.

    The workflow to get frames is really as easy as it could possibly be:
    * Draw two rectangles on the Edge.Cuts layer with a reasonable spacing around the existing boards to create the frames
    * Adorn the frame board with registration holes and fiducials until you’re happy:)
    * Add break-lines to the frame so it can be broken along with the tabs connecting the payload boards to the frame.
    * Connect the new frame board to the payload boards with tabs that are solidly attached to the frame.

    The two new features to enable this are:
    * The ability to create a tab that stays on the frame, without a break-line.
    * The ability to create a break-line in the frame itself using a line on the Eco2.User layer

    This results in a complete panel that looks like this:

    The tool also has some other neat features, but more of that in another post.

  3. I recently had to panelize some PCBs for production. After spending a bunch of time researching how to accomplish this in kicad I realized I could request it from my PCB supplier. Gave them the design, told them 6-UP and where to put the v-grooves. Came back perfect and my CM had no problems with it.

  4. Well, that’s pretty cool Flemming! Thanks for making and sharing this!

    I’m currently working on my first KiCAD project. It includes multiple small boards and once it is “done” panelizing was a step I need to figure out before I submit my boards to be made.

    So, anyway. I just went over to KiCAD’s site and looked at their roadmap. I was surprised to not see adding built-in panelization anywhere on their list! It seems like that feature would be an important in a modern EDA! But, anyway. Have you considered contacting them about adding that? If they agree could your new tool be integrated in as an official part of KiCAD? It might make things easier on you as you would have full access to their APIs that way. It would also mean that any future changes to KiCAD which break your tool would be considered regressions that would have to be fixed before a new release is made. That might take a lot of future maintenance work off your shoulders.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.