There are two rigid-flex design modes available in Altium's PCB design software. The original, or standard mode, referred to as Rigid-Flex, supports simple rigid-flex designs. If your design has more complex rigid-flex requirements, such as overlapping flex regions, then you need the Advanced Rigid-Flex mode (also known as rigid-flex 2.0). As well as overlapping flex regions, the Advanced mode also brings: visual definition of the substacks, easier definition of the rigid and flexible board regions, bends on nested cutouts, custom-shaped splits, and support for bookbinder-type structures. The required mode is selected in the Layer Stack Manager, more on this below.
What is Rigid-Flex?
As the name suggests, a flexible printed circuit is a pattern of conductors printed onto a flexible insulating film. Rigid-flex is the name given to a printed circuit that is a combination of both flexible circuit(s) and rigid circuit(s), as shown in the image.
Flexible circuit technology was initially developed for the space program to save space and weight. It is popular today as it not only saves space and weight - making it ideal for portable devices such as mobile phones and tablets - it can also reduce packaging complexity, improve product reliability, and reduce cost.
Flexible circuits are normally divided into two usage classes: static flexible circuits, and dynamic flexible circuits. Static flexible circuits (also referred to as use A), are those that undergo minimal flexing during assembly and service. Dynamic flexible circuits (also referred to as use B), are those that are designed for frequent flexing, such as a disk drive head, a printer head, or as part of the hinge in a laptop screen. This distinction is important as it affects both the material selection and the construction methodology. There are a number of layer stackup configurations that can be fabricated as rigid-flex, each with its own electrical, physical, and cost advantages.
Mechanical Rigid-Flex Design
Designing a flex or rigid-flex circuit is very much an electromechanical process. Designing any PCB is a three-dimensional design process, but for a flex or rigid-flex design, the three-dimensional requirements are much more important. Why? Because the rigid-flex board may attach to multiple surfaces within the product enclosure, with the attaching and folding process often happening during product assembly. Delivering a working electromechanical design requires close and constant collaboration between the mechanical and electrical engineering teams. The traditional approach to confirm that the folded board fits within its enclosure has been to create a mechanical mockup - known as a paper doll cut out. By its very nature, it's difficult to achieve the accuracy and realism required with this approach.
A board with two rigid regions connected by a flexible region in the ECAD PCB editor and in MCAD.
Altium is helping to solve this challenge with CoDesigner, a sophisticated mechanical-to-electronic design interface technology. CoDesigner allows the engineers to pass the board shape and component changes back and forth between the ECAD and MCAD design domains directly from within the ECAD and MCAD design software.
For an engaging discussion on the materials, technologies, and processes, as well as the challenges involved with the production of a rigid-flex board, download and read the free Rigid-Flex Guidebook.
Designing a Rigid-Flex PCB
A printed circuit board is designed as a series of layers stacked on top of one another. For a traditional rigid printed circuit board, the board shape defines the board in the X-Y plane, and the stack of layers defines the board in the Z plane. The X-Y board shape is defined in the main PCB editing window, and the layers are configured in the Layer Stack Manager. In a rigid-flex PCB, there is more than one zone or Region in the finished printed circuit board, and each of those Regions can use a different set of layers.
To design a rigid-flex board, you need to:
Enable the required Rigid-Flex mode (Layer Stack Manager, Tools » Features » Rigid-Flex, or Tools » Features » Rigid-Flex (Advanced) command)
Define the Substack needed for each Region of the board, and configure how those Substacks align with each other in the Z plane.
Define the shape of each rigid and flex Region in the X-Y plane, and assign the correct Substack to each Region.
Enabling Rigid-Flex Design
To support the complex structures present in a modern rigid-flex printed circuit board, the Z plane editor - the Layer Stack Manager, provides different display modes for editing the structure of your board. Select the Design » Layer Stack Manager command to open the Layer Stack Manager, where you can enable the required rigid-flex mode, and create and align the Substacks needed in your rigid-flex design.
When the Layer Stack Manager opens, it will show the current board layer Stackup. For a new PCB, this will be a simple two-layer board. To enable the features needed to design a rigid-flex board, open the Tools » Features sub-menu or click the Features button () to select either the Rigid-Flex command, or the Rigid-Flex (Advanced) command.
Select the command to enable the required rigid-flex mode.
A quick way to check which rigid-flex mode is being used for a board is to switch to Board Planning Mode (1 shortcut) and have a look at the Active Bar.
Standard rigid-flex Board Planning mode Active Bar
Advanced rigid-flex Board Planning mode Active Bar
To learn about defining the substacks, refer to the following sections of the Substack Creation page:
The Board Shape defines the boundary, or extents, of the board in the PCB Editor. The Board Shape is a PCB object (also referred to as the Board Outline) which is essentially a closed polygon. When you create a new PCB document, it is the black area displayed in the PCB editor workspace.
There are a number of ways the board shape can be defined. The video below demonstrates using an outline created from lines and arcs on a mechanical layer. Once the overall outline has been defined, it is split into the different rigid and flex regions.
Defining the Board Shape and Regions:
The board shape can be defined interactively in Board Planning Mode (View » Board Planning Mode), or it can be defined based on an existing outline in 2D layout mode (View » 2D Layout Mode), as demonstrated in the video above.
To define the board shape from an existing outline, select the outline in 2D layout mode and run the Design » Board Shape » Define Board Shape from Selected Objects command. The software will trace along the centerline of the selected track/arc objects to define the outer edge of the board shape. Note that the ends of the outline tracks/arcs must be coincident for the tracing algorithm to be able to follow the centerline. If it fails, the tracing algorithm will offer to attempt to trace along the outer edge of the selected objects.
To define the board shape interactively, switch to Board Planning Mode (1 shortcut) and select the Design » Redefine Board Shape command. The standard region object placement behaviors apply during board shape definition, use the Snap Grid and workspace Guides to help with this process. Enable the Board Shape option in the Snap Options palette to give the best level of control during board shape editing. Learn more about Understanding the Snap Behavior.
To define the Name and assign a Layer stack for each region, double-click on the region. Alternatively, set the PCB panel to Layer Stack Regions mode, where you can examine and edit the regions and bending lines.
To split a Board Region into two smaller regions, use the Design » Define Split Line command. The command places a straight line between two click locations, when you click within the board shape the first location will be on the board edge closest to where you clicked. Move the cursor to locate the second location, then click a second time. Click and hold on the vertex of a Split Line to move it to a new location.
The location and shape of an existing Board Region can be edited. Run the Design Design » Edit Board Shape command, then use the standard polygonal object editing techniques to adjust the shape.
Once a flex Region has been created, Bending Lines can be defined in that region. A bending Line is a linear object that is placed across a region.
Defining a Bending Line:
Bending Lines are placed in Board Planning Mode (1 shortcut).
To place a Bending Line, run the Design » Define Bending Line command.
Place the Bending Line across the flexible board Region. It is not necessary to precisely touch each edge of the region with the start and end of the Bending Line, the software will automatically extend it (if too short) or reduce it (if too long). At least one end of the Bending Line must touch or pass over the edge of the Region.
To edit the properties of a Bending Line, click anywhere within the region to display the verticies for all Bending Lines within that region, then:
The layer stack defines the board in the vertical direction, or Z plane. In the PCB editor, the area that the board occupies in the X and Y planes is defined by the Board Shape. The board shape can be a polygonal region of any shape, with straight or curved edges that lie at any angle, that can also include cutouts (internal holes) of any shape.
There are two techniques that can be used to defining the overall board shape and the various rigid and flex regions:
Define the overall board shape, and then slice it into regions. Learn more about defining the Board Shape.
Place each rigid and flex Board Region in the workspace to build up the final board shape. Learn more about placing Board Regions.
The final shape can be created using a mixture of the two techniques.
The overall Board Shape is defined by the set of Board Regions, the video shows two ways these regions can be created.
Defining the Board Shape and Regions:
The board shape can be defined interactively in Board Planning Mode (View » Board Planning Mode), or it can be defined based on an existing outline in 2D layout mode (View » 2D Layout Mode).
To define the board shape from an existing outline, select the outline in 2D layout mode and run the Design » Board Shape » Define from selected objects command (or the Tools » Convert » Create Board Region from selected primitives command). The software will trace along the centerline of the selected track/arc objects to define the outer edge of the board shape.
To define the board shape interactively, switch to Board Planning Mode and select the Place » Board Region command (or click the button on the Active Bar). The standard region object placement behaviors apply, use the Snap Grid and workspace Guides to help with this process. Enable the Board Shape option in the Snap Options palette to give the best level of control during Board Region editing. Learn more about Understanding the Snap Behavior.
Place the required number of Regions. Regions can be drawn so they are overlapped, note that this does not define the extent that a flex region overlaps into a rigid region, that is defined by the Intrusion values in the Stackup definition.
To define the Name and assign a Layer stack for each region, select the region and edit the properties in the Board Region mode of the Properties panel.
To slice a Board Region into two smaller regions, use the Design » Slice Board Region command (or click the button on the Active Bar). The Slicing tool uses the standard line placement cornering modes, including 45°, 90°, 45° arc, 90° arc and any angle, press Shift+Spacebar to change the mode during slicing.
In the standard rigid-flex mode, the boundary between two Board Regions is defined by placing a Split Line. The Advanced rigid-flex mode does not use Split Lines, instead the edge of the Board Region defines where one Substack ends and the adjacent Substack begins. If two Board Regions are overlapped (and those regions have common layers), then the stack with more layers is applied in the overlapping area.
When overlapped regions do not have common layers they can be folded independently.
A bend in a flexible section of a rigid-flex board is defined by placing a Bending Line. A bending Line is a linear object, whose properties are edited in the Bend mode of the Properties panel.
Placing Bending Lines
Bending Lines are placed in Board Planning Mode (1 shortcut).
To place a Bending Line run the Place » Define Bending Line command (or click the button on the Active Bar). Place the Bending Line across the flexible Board Region. It is not necessary to precisely touch each edge of the region with the start and end of the Bending Line, the software will automatically extend it (if too short) or reduce it (if too long). At least one end of the Bending Line must touch or pass over the edge of the Region.
To edit the properties of a Bend, select it and edit the settings in the Bend mode of the Properties panel:
The Bend zone is displayed in a green-orange color, click anywhere within the zone to select that Bend.
Each Bend can be named so it can be easily identified.
Confirm that the Bend is being applied to the correct Substack Region, available regions are listed in the Stack Regions section.
Set the Bend Zone Radius and Bend Angle as required.
Bends are folded in the order of their Fold Index, use this feature when the folding order is important to check.
To move a Bending Line, click and drag on each end handle.
Bending Lines can be applied to board cutouts edges.
A selected Bend can be removed by clicking and holding on one of the vertices, then pressing Delete on the keyboard.
A common feature on rigid-flex boards is the selective use of coverlay material. This insulation layer is cut and laminated onto specific areas of the board, and because of this selective use, coverlay is also referred to as bikini coverlay. Coverlay layers are added in the Layer Stack Manager and the shape of coverlay objects can be manipulated in Board Planning Mode, once coverlays have been enabled for that region of the board.
An example of a custom coverlay
Adding and Configuring a Coverlay
Coverlay layers are added in the Layer Stack Manager. To add coverlay layers:
Enable the Is Flex option for the flex substack.
Right-click on the appropriate layer(s) and select the Insert layer above (below) » Coverlay command to add coverlays.
Define the properties of the coverlay, including the Coverlay expansion property. If the Coverlay expansion column is not visible, right-click on an existing column heading to open the Select Columns dialog, where it can be enabled.
Save the layer stack to reflect the changes on the board.
In Board Planning mode there will now be additional tabs for each coverlay layer added in the stack. Note that the color of the coverlay is defined by the layer color (View Configuration panel), not the color assigned in the Layer Stack Manager.
Add the coverlay layer(s) into the substack and configure the layer properties in the Layer Stack Manager.
Enabling and Viewing the Coverlay
If coverlay layers are added to the substack before that substack is assigned to a Board Region, the coverlay objects will be present when the substack is assigned to a Board Region.
If coverlay layers are added to the substack after that substack has already been assigned to a Board Region, then coverlays must be added to that region. Coverlays can be added in Board Planning mode by selecting the Board Region and then either:
In Standard Rigid-Flex mode:
Double-click on the flex region to open the Board Region dialog, and enable the Custom Coverlays option.
In Advanced RIgid-Flex mode:
Right-clicking on the region and selecting the Coverlay Actions » Add Coverlay command, or
Clicking the Add Coverlay button in the Board Region mode of the Properties panel.
If the Board Region had the substack assigned before the coverlays were added in the LSM, use the right-click command or the panel button to add them to that region.
Note the additional tab for each coverlay layer added in the substack, click on a layer tab to make that layer the current layer, and examine or edit the coverlay.
Editing or Placing Additional Coverlay
Coverlay is automatically added to cover the entire area of the Board Region it was added to, as shown in the image below (in accordance with the Coverlay expansion value defined in the Layer Stack Manager). Behaving like an additional solder mask layer, openings are automatically created for component pads in accordance with the applicable Solder Mask Expansion design rule, or else the settings defined for the Pad if the Solder Mask Expansions setting has been configured to override the design rule.
Openings in the coverlay for the component pads is controlled by the applicable Solder Mask Expansion design rule (which can be overridden by local pad settings).
To edit the coverlay:
Switch to Board Planning mode.
Click the appropriate layer tab to make the Coverlay layer the active layer (the Coverlay layers may need to be made visible in the View Configuration panel).
The automatic coverlay is formed as a polygonal object, it can be selected and reshaped (or deleted) as required.
A section of custom coverlay has been placed and a cutout is about to be defined in it.
When the Coverlay layer is the active layer, clicking on the Board Region will select the Coverlay, not the region. To be able to select the Board Region or a Bending Line you must switch to a different layer, for example the Multi-Layer.
Keep in mind that user-defined coverlay changes, such as modifying the shape of the automatic coverlay or placing additional coverlay objects, are removed if the Remove Coverlay command is used on that Board Region.
If a Board Region that has coverlay defined is moved, the coverlay polygon will not move with it. In this situation, you must remove the coverlay (Right-Click » Coverlay Actions » Remove Coverlay) and re-add the coverlay ((Right-Click » Coverlay Actions » Add Coverlay). Alternatively, you can remove the coverlay polygon by enabling its layer in the View Configuration panel, clicking the Coverlay layer tab at the bottom of the PCB editor to make the layer active, then selecting and deleting the coverlay polygon.
Coverlay Polygons can be placed when a PCB editor is in Board Planning Mode. Select the Design » Place Coverlay Polygon command from the main menus.
Coverlay Polygon Placement Modes
While placing a polygon there are five available corner modes, four of which also have corner direction sub-modes. During placement:
Press Shift+Spacebar to cycle through the five available corner modes.
Press Spacebar to toggle between the two corner direction sub-modes.
When in either of the arc corner modes, hold the arrow keys to shrink or grow the arc. Hold the Shift key as you press to accelerate arc resizing.
Press the 1 shortcut key to toggle between placing two edges per click or one edge per click. In the second mode, the dashed edge is referred to as the look-ahead segment (as shown in the last image in the set below).
Press the Backspace key to remove the last vertex.
Press Shift+Spacebar to cycle through the five available corner modes, press the 1 shortcut to toggle placement between two edges or one edge.
Graphical Editing of a Coverlay Polygon
This method of editing allows you to select a placed coverlay polygon object directly in the design space and graphically change its size, shape or location.
Click once on a coverlay polygon object to select it, which puts it into edit mode. The outer shape of the coverlay polygon object is defined by a series of edges, where each edge is represented by an end vertex at each end, shown as a solid white square, and a center vertex in the middle is shown as a hollow white square. Each end vertex represents the location where two edges meet.
A selected Coverlay Polygon
Click and drag A to move the applicable end vertex.
Click and drag B to move the applicable center vertex, effectively creating a new end vertex and splitting the original edge into two.
Click anywhere along an edge away from editing handles then drag to slide that edge.
Ctrl+click anywhere along an edge away from editing handles to insert a new end vertex.
Click and hold on an end vertex then press Delete to remove that vertex.
Click anywhere on the coverlay polygon away from editing handles then drag to reposition it. While dragging, the coverlay polygon can be rotated or mirrored:
Press the Spacebar to rotate the coverlay polygon counterclockwise or Shift+Spacebar for clockwise rotation. The Rotation Step size is defined on the PCB Editor – General page of the Preferences dialog.
Press the X or Y keys to mirror the coverlay polygon along the X-axis or Y-axis.
How Output is Generated for Coverlay Layers
When the output is generated, each layer is output as separate data. For example, when Gerber is generated, the top solder mask is written to one Gerber file, the top coverlay is written to another Gerber file.
The output for a coverlay can be divided into 2 categories:
Pad/via openings - the output for pad/via openings is generated in the same way as regular top/bottom solder mask output: an object of the correct size/shape is flashed, in accordance with the applicable solder mask expansion design rule, or the object settings if the local override is enabled.
Polygonal areas of coverlay (both automatic and manually placed) - a closed polyline outline is generated, defining the outer edge of each region of coverlay. The outline can be used to define a cutting path for the coverlay. Cutouts (user-defined irregular-shaped holes) defined in the coverlay are also output as a closed polyline for cutting path generation.
The centerline of the 1mil wide closed polyline is the edge of the coverlay.
Examining the Gerber output in a CAM viewer - the blue is the coverlay layer, the purple is the top solder mask layer.
Zoomed in, a custom coverlay cutout is selected - as with the coverlay outline the cutout is also defined as a closed polyline.
Supported Coverlay Output Formats
Coverlay output is supported by all of the appropriate output formats available in Altium Designer.
Coverlay film outputs
Gerber RS-274X, X2 - Openings defined over objects, such as pads and vias, are flashed. The outer edge of the coverlay, as well as user-defined cutouts, are rendered as outlines - these outlines can be used by the fab house to generate a cutting path.
ODB++ - Specific layer stack material regions are output (polygons and polygon cutouts) in ODB++ v7.0 and later, which properly supports multiple layer stacks and rigid-flex definitions.
IPC2581B - as with ODB++, supporting multiple layer stack definitions and polygons of layer stack regions.
Layer Stack Outputs
Layer Stack Report
NC / Excellon Route Tool Path - generated from outline for polyline objects.
Prints can be configured as required.
Designing a Flex-only PCB (Advanced mode)
A flex-only board can only be created in Advanced Rigid-Flex mode.
The Layer Stack Manager requires at least one rigid substack to be defined. To design a flex-only PCB, first define the rigid substack then add a flex substack, as shown in the image below.
A flex-only board still requires a rigid substack to be defined in the Layer Stack Manager.
In Board Planning Mode, define the shape of the flex-only PCB and assign the flex substack in the Board Region mode of the Properties panel.
A flex-only PCB, hover the cursor over the image to show the board in 3D.
Designing a Board with a Flex Region Inside a Cutout (Advanced mode)
It is possible to design a rigid-flex board that has a flexible region within a cutout in the main PCB.
A board with a flex region inside a cutout can only be created in Advanced Rigid-Flex mode.
Notes about creating this type of board:
The video below demonstrates the process.
The board cutout must trace the outline of the flex region(s) within the cutout.
Place the cutout before placing the flex region(s) inside the cutout zone.
Any region within the cutout that does not use the same substack as the outer rigid region must have its priority set to a higher value than the value assigned to the outer rigid region.
Configure the Used Stack Regions options for Bending lines placed on internal flex regions so that they only apply to that flex region.
It can be easier and more accurate to define the shapes required for the cutout and the flex region(s) as outlines on a mechanical layer, using tracks and arcs. Then use the tools available to convert a selected outline to a board cutout, or a board region. Note that the conversion tool follows the centerline of the selected tracks and arcs, and requires the end points of adjacent tracks/arcs to exactly meet.
Design » Board Shape » Create Board Region from Selected Objects (in 2D Mode)
Tools » Convert » Create Board Cutout From Selected Primitives (in 2D Mode)
Tools » Convert » Convert Selected Line to Bend Line (in 2D Mode)
The PCB editor includes a powerful 3D rendering engine, which allows the presentation of a highly realistic three-dimensional representation of the loaded circuit board. This engine also supports rigid-flex circuits, and when used in combination with the Fold State slider in the PCB panel, it allows the designer to examine their rigid-flex design in the flat state, the fully folded state, and anywhere in between.
To switch to the 3D display mode, press the 3 shortcut key (press 2 to return to 2D or 1 to return to Board Planning Mode). The board will be displayed in 3D. If the component footprints include 3D body objects that define the mounted component, these will also be displayed. In the image below, you can see that the board includes a battery and a battery clip.
To apply all of the Bending Lines, slide the Fold State slider in the PCB panel when set to Layer Stack Regions mode as highlighted in the image below. Note that the bends are applied in the order defined by their sequence number. Bending Lines can share the same sequence number; it simply means that those bends will be folded at the same time when the Fold State slider is used. The board can also be folded/unfolded by running the View » Fold/Unfold command (or by pressing the 5 shortcut).
Use the Fold State slider (or the 5 shortcut key) to apply all Bending Lines in the order defined by their sequence value (Fold Index).
3D Movie Maker Support for Rigid-Flex Designs
The ability to fold a rigid-flex design can also be captured as a 3D movie. It is very simple to do and does not require the use of movie key frames during the folding sequence.
Refer to the PCB 3D Video page for a detailed description of how to make a 3D movie. As a basic guide:
Switch the PCB editor to 3D mode.
Open the PCB 3D Movie Editor panel and create a new video by clicking the New button. Click the newly-created video in the Movie Title region then give it a suitable name.
Create an initial Key Frame showing the board in its unfolded state.
Slide the Fold State slider to show the rigid-flex design in its folded state, then position the folded board as required.
Now create a second Key Frame for this view and set the time. Consider how long you want it to take to fold the rigid-flex design (the Duration setting); typically this would be a few seconds.
To check that the video captures the folding process correctly, click the play button (located in the player controls at the bottom of the panel.
To generate a movie file, add a PCB 3D Video Documentation Output in an Output Job file. Remember to configure the video format options in the Video settings dialog.
Click the Generate Content link in the Output Job file to create the movie file.
The video below was created using this process. It has the two key frames described above, plus one additional key frame that was added at the end to hold the final position for a second.
A simple 3D movie created from three key frames; the folding behavior is defined by the Bending Line Sequence values.
Below is a summary of key design areas that must be considered when designing a rigid-flex PCB:
Conductor routing - choice of corner style for routes traveling over a flex region is important; avoid sharp corners; use a curve for least stress.
Pad shape and area - use fillets (teardrops) with rabbit ears (anchoring spurs) for single-sided flex. The objective is to capture some of the pad shape with the coverlayer.
Through holes - try to avoid through holes in the bend area, particularly in a dynamic application.
Coverlayer - avoid stress risers (exposing the incoming track); reduce opening in coverlayer to 250um.
Planes - crosshatched, if possible.
Staggered lengths - to avoid layer buckling when flexed (bookbinding), stagger the layer lengths by approx 1.5 times the layer's thickness.
Service loop - make the flex region slightly longer to help with assembly/disassembly and to allow for product dimensional variations (the extra length is referred to as the service loop).
Conserve copper - consider how the flex circuit will be panelized; it might be better to adjust the design to ensure best material usage.
Panelization - orient the flex regions to suit the grain of material (bend along the grain).
Tear resistance - curved corners; drilled hole at corner; hole in slit; leave metal in corners.
Routing - stagger the routes on two layer boards to avoid I beaming, and widen the routes through the bending zone (this is especially important for permanent bends).
Static Bend Ratio - setting the ratio of the bend radius to the circuit thickness. Ideally, multi-layer circuits should have a bend ratio of at least 15:1. For double-sided circuits, the minimum ratio should be at least 10:1. For single-layer circuits, the minimum ratio should also be at least 5:1. For a dynamic application, aim for a bend ratio of 20-40:1.
Rolled annealed copper is more ductile; plated copper is not the best choice for flexible regions.