Repository navigation
Double Sided
The 2-Sided plugin prepares a double-sided PCB. It mirors the bottom layer so that it lines up with the top layer when the board is turned over. It can also create alignment holes and an Excellon object for them. Use it with the Tutorial Double-Sided PCB when you mill both sides by hand or on a CNC machine.
The plugin has 2 levels. Beginner shows the Basic panel. Advanced shows the full set of mirror and alignment tools.
- Menu: Plugins > 2-Sided PCB.
- Keyboard: Alt+U.
- Toolbar: 2-Sided button in the Plugin toolbar.
- The panel opens in a tab next to Project and Properties. The tab shows the plugin name.
Screenshot placeholder:
images/Double-Sided-1.png- The 2-Sided panel in Beginner mode. Show the Source Objects combos (Top, Bottom, Drills), the Type combo, the Alignment Drills frame and the Generate button.
These steps use the Beginner mode.
- Load the top Gerber, the bottom Gerber and the drill Excellon file. See Importing Files.
- Open the plugin with Alt+U or the 2-Sided button.
- Set the Beginner / Advanced button to Beginner if it is not already set.
- Select the top layer in Top, the bottom layer in Bottom and the drills in Drills.
- Select the turn direction in Type: L-R or T-B.
- Tick Enable to make alignment holes. Set Drill Dia and Offset.
- Keep AutoAlign and Failsafe ticked.
- Click Generate.
- Check the result on the canvas. The bottom layer is now mirrored. The alignment holes are in the Alignment Drills object.
- Make all the CNC jobs of both sides from the synced objects. Save the G-code.
- Drill the alignment holes and mill the top side. Turn the board over on the pins and mill the bottom side.
Values are in mm (or inch in an inch project).
| Parameter | Description | Default |
|---|---|---|
| Top | The side that is milled first. It is never mirrored. Only Gerber objects are listed. | Empty |
| Bottom | The side that is milled after the board is turned over onto the pins. It is mirrored in place about the vertical center line of all sources. | Empty |
| Drills | The Excellon object with the drill holes. It is never mirrored. | Empty |
| Type | The turn direction. L-R: the board turns over left to right. The Bottom object is mirrored left to right (the X values flip). T-B: the board turns over top to bottom. The Bottom object is mirrored top to bottom (the Y values flip). | L-R |
Use the same object only once. A message tells you when the same object is set as both Top and Bottom.
Screenshot placeholder:
images/Double-Sided-2.png- The Source Objects frame with the Type combo open, showing L-R and T-B.
| Parameter | Description | Default |
|---|---|---|
| Enable | Enables the generation of alignment drill holes. When it is off, the other alignment fields are disabled. | Off |
| Drill Dia | The diameter of the drill bit for the alignment holes. | 3.125 |
| Offset | How far the alignment holes are from the objects. It is the distance from the source bounds to the hole center. It must be at least half of the drill diameter. | 2 |
| Add to selected Excellon | Adds the alignment holes to the Excellon object in Drills. It is enabled only when Enable is on and Drills is set. When it is off, the plugin uses an Excellon object named Alignment Drills instead. | Off |
| Failsafe | Adds a 3rd keyed hole. The board fits the pins only when it is turned in the Type direction. If this option is off, the operator must turn the board in the Type direction. | On |
| AutoAlign | Aligns the pads and the drills with a translation and a rotation. The Top object stays fixed. If AutoAlign is off, the Bottom object stays fixed. Ambiguous or too few matches stop the operation. Use Align Objects to check the matches. | On |
| Generate | Runs the process. It registers the Bottom layer and the drills to the Top layer when AutoAlign is on. It mirrors the Bottom object in place. It makes the alignment holes when Enable is on. | — |
The process is one Undo step (2-Sided Process).
Screenshot placeholder:
images/Double-Sided-3.png- The Alignment Drills frame with Enable on, the Drill Dia and Offset fields, and the Failsafe, AutoAlign and Add to selected Excellon options.
The Advanced mode shows the object tools and the mirror and alignment tools. Use these when you need more control.
| Parameter | Description | Default |
|---|---|---|
| Target | The type of object that the Object list shows: Gerber, Excellon or Geometry. | Gerber |
| Object | The object to mirror. | — |
| Parameter | Description | Default |
|---|---|---|
| X min / Y min / X max / Y max | The bounds of the selected objects. The values are read only. Click a button to copy the value to a point. | — |
| Centroid | The center point of the rectangle around the objects, in the format (x, y). It is read only. | — |
| Calculate Bounds Values | Calculates the rectangle around the objects that you select on the canvas. The rectangle is parallel to the X and Y axes. | — |
| Parameter | Description | Default |
|---|---|---|
| Axis | The mirror axis. X: mirror vertically. Y: mirror horizontally. | X |
| Reference | The reference for the mirror. Point: a set of coordinates. Box: the center of the bounding box of another object. Snap: the center of a drill hole of an Excellon object. | Point |
| Point coordinates (Point) | The point the mirror passes through, in the format (x, y). You can enter it, or capture it with SHIFT and a left click on the canvas. | Empty |
| Add (Point) | Adds the entered coordinates as the mirror point. | — |
| Gerber / Excellon / Geometry (Box) | The type of the object that gives the box center. | Gerber |
| Box object (Box) | The object whose bounding box center is the reference. | — |
| Excellon (Snap) | The Excellon object that has the hole to use as reference. | — |
| Pick hole (Snap) | Click inside a drill hole of the selected Excellon object on the canvas. The center of the hole is copied to the Point field. | — |
| Mirror | Mirrors the selected object around the axis. It changes the object. It does not create a new object. | — |
| Parameter | Description | Default |
|---|---|---|
| Drill Dia | The diameter of the alignment drill. | 3.125 |
| Type | The content of the alignment holes. X: pairs of holes that are mirrored vertically from the reference point. Y: pairs of holes that are mirrored horizontally from the reference point. Manual: no mirror. The holes are used as they are. | X |
| Reference | The reference point for the second alignment hole, made by the mirror. It is shown for X and Y. It follows the Mirror Operation Reference setting. | Point |
| Drill Coordinates | The list of alignment hole coordinates, in the format (x1, y1), (x2, y2). With X or Y, each pair adds 2 holes: the given hole and its mirror image. With Manual, no mirror hole is made. SHIFT and a left click on the canvas add one set of coordinates. Ctrl + SHIFT and a left click add sets that accumulate. | Empty |
| Delete the last coordinates tuple | Deletes the last coordinates pair in the list. | — |
| Create Excellon Object | Creates an Excellon object with the alignment holes and their mirror images. | — |
Screenshot placeholder:
images/Double-Sided-4.png- The Advanced panel with the Mirror Operation and PCB Alignment frames. Show the Reference radio set to Point and the Drill Coordinates list.
| Button | Description |
|---|---|
| Reset Tool | Sets the parameters of the plugin back to the defaults. |
- The plugin reads the 3 objects and the settings.
- With AutoAlign on, it finds the transform that matches the bottom layer and the drills to the top layer. The top layer stays fixed.
- It mirrors the Bottom object around the vertical center line of all the sources (for L-R) or the horizontal center line (for T-B).
- It makes or updates the alignment holes. The holes made by an earlier run are removed from their old object first. A new run does not leave old holes behind.
- It writes the result to the objects. The whole process is one Undo step.
If a step fails, the objects are restored to their state before the process.
Click Generate again after you change the settings. The alignment holes of the earlier run are replaced.
- With Add to selected Excellon on, the holes go into the Excellon object in Drills.
- With the option off, the plugin uses an Excellon object named Alignment Drills. A later run updates this object.
- A failed alignment (for example, too few or ambiguous matches) stops the operation with a message. Use Align Objects to see the matches.
- Tutorial Double-Sided PCB - a full example.
- Align Objects - check and move the objects by hand.
- Object Operations - mirror and transform in the Edit menu.
- Gerber Object and Excellon Object - the source objects.
- Drilling - drill the alignment holes and the PCB holes.
- Milling - mill the top and the bottom side.
- Keyboard Shortcuts - all shortcut keys.
FlatCAM Evo Manual · Source code · Report a problem · MIT license
Start here
- Installation
- Getting Started
- Tutorial: Single-Sided PCB
- Tutorial: Double-Sided PCB
- User Interface
- Keyboard Shortcuts
- Glossary
- FAQ and Troubleshooting
Files and projects
Objects
Editors
PCB operations
- Isolation Routing
- Non-Copper Clearing
- Paint
- Cutout
- Drilling
- Milling
- Follow
- Double-Sided
- Solder Paste
- Film
- Panelize
- Copper Thieving
- Fiducials
- Markers
- Punch Gerber
- Invert Gerber
- Etch Compensation
- Extract
- Rules Check
- QR Code
Utility plugins
- Align Objects
- Calculators
- Distance · Object Distance
- Optimal
- Move · Transform
- Subtract
- Image Import · PDF Import
- PCB Wizard
- Report
- Tcl Shell
Machine control (in development)
Advanced
- Tools Database
- Preprocessors
- Path Optimization
- Tcl Scripting
- Tcl Command Reference
- Developer Guide
- Translating
Preferences