Check out this comment for some tweaks to this guide to support the latest version of the tools!
Panelization is the process of taking two or more PCB designs and combining them using tabs or v-scores that you would then separate into individual boards once they come back from manufacturing. It’s a way to get more than one design made in a single order.
There are a few forum posts or other snippets on how to accomplish this out there already, but not a real guide. For my own sake, this is how you can do this panelization using all free tools. Here are some photos of a board I had fabricated by OSH Park using this panelization method:
I implement this technique whenever I’m creating closely-related PCBs.
The design highlighted in this blog post is a transmitter/receiver pair, meaning that there would never be a transmitter without a receiver, or vice-versa.
Design is made simple by doing the layouts individually, and manufacturing is made simple by getting them made as a single board, not having to coordinate multiple orders. Let’s get started with the guide.
1. Download The Tools
You probably already have KiCAD. Next, make sure to download GerberPanelizer by This is not Rocket Science (site link) from GitHub. This guide uses the 2018-08-10 snapshot release.
2. Export your designs from KiCAD
Your designs have to be completely ready for production before starting this process. Components placed, tracks laid, zones poured etc. It is very “one-way” in that it is impossible to update an already panelized design once it has been exported.
You’ll want to add a grid origin that is really close to your design. In KiCAD, select
grid origin to do this. I am putting it in the top left hand corner of the board.
In pcbnew, select
plot to adjust the gerber export settings.
- Make sure
Output directoryis set to an empty directory somewhere on your disk. In this example, it’s set to
Use auxiliary axis as origin
Use Protel filename extensions
- *Optional* Since I’m not using them in this design, I’ve unchecked
And then click
You should be greeted with a directory of files with dissimilar extensions:
Next, you need to export the
Drill (.drl) File...
These settings will automatically be set to match the previous export, but make sure the output folder and the drill origin match the previous settings. Mine looked like this:
Here is my resulting output directory with all of the files:
3. Modify the exported files
This step is weird. You need to change the extension of all
.gm1 files to
.gko. For this example,
flail-tx-kicad-Edge_Cuts.gm1 needs to be renamed to
flail-tx-kicad-Edge_Cuts.gko as this is what GerberPanelizer expects. Here is my resulting directory:
4. Load the designs into Gerber Panelizer
Open up GerberPanelizer, you will be greeted with this screen:
new to create a new project. Next, select
board placement →
add gerber folder and navigate to the output folder from KiCAD. In this example, it was
You should be seeing something like this:
Where is the board?! Select
board placement →
autopack: native and your design will leap into view:
Now, re-do the guide up until this point for however many unique designs you want to add to this panel. If you want to duplicate your design multiple times in the same panel, you can add an instance by right clicking on the instance in the right hand view and then clicking
5. Arrange designs and add tabs
Since you’ve been hitting
board placement →
autopack: native after each board add, your designs should be properly arranged at this point. You can manually move the designs by clicking and dragging them, but I’ve found that using the autopack works really really well. Here’s what my design looks like at this point:
To join the designs together, you need to add breaktabs.
insert breaktab, and a small red circle will appear in the top left hand corner of the workspace:
Click and drag the tab between the two designs. Make sure black dots appear on either edge of the design:
Continue to add tabs in the same manner until the text turns a bright green color, this lets you know that the boards will be secured.
There is no way to automatically add the proper tabs, so make sure you use your best judgement.
Now we’re ready to export!
6. Export the panelized design
It’s a good idea to first save the design in GerberPanelizer so you can edit the layout later without having to start from scratch. Once you export the final merged gerber files, they cannot be edited or re-arranged. Select
save as to save the project.
Now to export the gerbers.
Again, in GerberPanelizer, select
export merged gerbers and choose an empty output directory. The directory has to be empty because you typically send a zip archive of all gerbers to the manufacturer to get made, and this zip archive should just include this export. You should see this window pop up:
The contents of the merged output directory should look like this:
The merged output directory will include several image renderings of your merged designs, this is a great first check to make sure that everything went well.
Looks good! However before you send any critical designs off for manufacturing it’s best practice to visually inspect the layers with a gerber viewer. Save the merged output directory as a
7. Verify using GerbView
KiCAD ships with a program called GerbView to inspect gerber files. Open that gerbview and then open your zipped merged output directory with
open zip archive file.
There will be an error message which you can ignore.
You should see something like this:
There’s the design as we expect it, you can uncheck the different layers on the right pane just like in pcbnew to inspect them one by one. I’ve uploaded this design to oshpark (a domestic PCB fab service) to see if their preview also looks correct and again, there are no problems.
You’re now ready to send your panelized designs out for manufacturing. Congrats!
8. Wrap up
Thanks for reading! Did this guide work for you? Let me know in the comments below this post.
Note: This is confirmed to work with KiCAD 4 and 5.
You saved me! I am looking for a panelizer for many months and I was not able do put to work this software and your explanation is very clear!
thanks a lot , nice job, very clear explanation
Awesome! The “Use Protel filename extension” solved by problem. Thanks.
while changing the edge cut file from .gm1 to .gko…unfortunately gerber panelization software is closed. I have tried 5 times …same issue
Dang, and you’re on windows?
Oh! The tutorial doesn’t say, but you should close the panelization software before you change the extension.
Nice guide, very comprehensive. Is it possible to add v-cut and support borders instead of tabs?
Not using these tools. If you can figure it out, please let me know!
The version of Gerber Panelizer shown above is not the current one.
Go here for the latest.
I was unable to get the 2018 version to run and was about to give up when I started looking for a later release…
Thanks, did the rest of the technique work with this new version?
There is also a function (in the July 30 2020 version) in the Breaktabs called Create Breaktabs – this automatically adds breaktabs to all your boards. Nice!
Yes, in fact it works better. You also don’t need to rename the file.
This program looked like the answer to my needs, but the output it gives don’t seem to work for me.
If I try and load the gerbers in to Camtastic to check, it just hangs. If I use the UCamco viewer I get error messages for invalid macros or open macros.
JLCPCB don’t render it either, which makes me suggest their software also can’t cope.
Oh, and the top silk doesn’t appear to get merged either, only one board has any silk in the output.
🙁 I’ve used this method a few times, sorry it didn’t work for your use case.
I have tested the Gerber Panelizer. Once I have read how it works, it is very easy to use it. But I have found a problem, the silkscreen layer doesn´t appear. I am 100% sure, the original gerbers files have the silkscreen, but once I make again the gerbers with the gerber panelizer tool (I have tested with only one PCB), the silkscreen layer, doesn´t exist.
Please, do you know what could be the reason, why the gerber panalizer doesn´t makes the silkscreen layer?
Hi Francisco. I have been able to use Gerber Panelizer and maintain the silkscreen, strange you’re not able to.
I have achieved already.
It seems, if the silkscreen is touching the layer “edge cuts”, then the silkscreen doesn´t appears later in the gerber files. But if you uncheck “clip board outlines”, in panel properties, then there is not problem (although the silkscreen would toouch the “edge cuts”).
So, summarizing, I have achieved the silkscreen file in the gerbers, in some of these methods:
– To avoid the silkscreen would touch the layer “edge cuts”, or
– Uncheck “clip board outlines” in panel proporties
And it works very well.
I’ll simply give you a diff so that you can merge it in your guide if you like 🙂
1) Latest GerberTools_2020_7_30
– No need to rename files
– No need to use Protel file extentions
2) On top of your great description, I’d strongly recommend to create “metric” PCBs. X and Y Size should be integers without decimal places! e.g. 18x20mm
Panelizer will more easily arrange metric PCBs!
Protel file extentions are deprecated. So don’t use them. Also no need to. 🙂
3) No need. 🙂 – See 1)
The rest is fine.
Thanks alot for your great help!
Awesome! I’ll link this comment at the top of the post. Thank you!