pcb-rnd knowledge pool


Interactive panelization with GUI

panel1 by Tibor 'Igor2' Palinkas on 2019-09-17

Tags: howto, panel, panelize, mouse, bite, mouse-bite, menufile2

node source



Abstract: n/a

  Panelization is when multiple instances of one or more boards are montaged onto one large panel. The main reason to do that is making pick&place cheaper (or in some cases possible at all):

This howto demonstrates creating a panel out of two tiny boards using a manual, interactive, GUI coming from an user script.

1. Dependencies

You will need a pcb-rnd newer than the release 2.1.3 or svn revision r27593.

Please download the user script from edakrill , unpack the tarball (anywhere).

There is no further dependencies if your pcb-rnd compilation is standard (all plugins enabled) because the script is written in fawk, which is distributed with pcb-rnd and is enabled by default.

2. Preparation

Prepare your board(s):

Prepare your panel board:

3. Load the script

Open the Plugins menu, pick "Manage scripts". A dialog box listing all user scripts loaded comes up (normally with empty lists). Click "Load" and select panel.fawk from where you saved it the first step. A new dialog box will come up where you can specify the scripting language - it is set to fawk, accept it by clicking ok.

Now the script should show up in the scripts list on the left. If you click the script, the list of actions the script defined will be presented on the right.

Close the manage scripts dialog.

4. Invoke the panel dashboard dialog

Press ':' to bring up the command line and type


This will bring up a dialog box which is the dashboard for the panelization script. You can close it and reopen it any time with the above action.

5. Place the boards

Use the "Load board into panel" button to import a simplified model of the boards to be panelized. The simplified model will act as one large subcircuit but will retain all padstacks, copper, silk, and boundary features. It is enough to place one instance of each board, it will be cheap to copy, rotate and place copies of them.

There are different strategies for placing the boards in a panel. Sometimes two boards should share the same boundary line to save space, sometimes there should be a centimeter of solid PCB between them to make the resulting panel rigid. Please consult with your board fab and assembly house for their recommendations.

6. Place the mouse-bites

The most common way to split up the panel at the end is using small bridges over the contour of the board to keep the boards in the panel, but drill a line of holes in that bridge to make it easy to break. This construct is nicknamed mouse bite.

The left section of the panelization dashboard offers a cheap way to generate mouse bites of different geometry. The result is a subcircuit that can be placed and copied in many instances (and rotated, when needed). The mouse bite subcircuit has some extra attributes which will be important at the end, for the final rendering.

7. Finish the panel

8. Generate/render the panel

The panel board at this stage contains only a simplified schematics if the final panel: mouse bites are not really bridges and the boards lost their subcircuits (which would run the XY export for pick and place).

The final step is using one of the top right buttons on the panelize dashboard to generate (render) the final, detailed panel. The rendered version will also be a pcb-rnd board, but with all the original subcircuits and mouse bites fixed up. There are mainly two things happening at render time:

There are two ways doing the final render:

Note: there is no way to go back from a rendered panel to the simplified version and editing the renderd board is much more labour-intensive. This it is recommended to keep the simplified panel board, make modifications there and render the final panel board from the new version.

9. Fab!

Load the rendered panel board and export to gerber (typically using a cam export job, key combination: {f x}) and XY.

Notes and references