What is an assembly variant?

It is not unusual for a company to want to use the same board design in different products. It could be the board is loaded with differing spec components to meet standards in different markets, or it could be the board is partially loaded for the basic model and fully loaded for the deluxe model.

Altium designer supports these requirements, delivering them in a feature called assembly variants.

What is an assembly variant?

An assembly variant is the one board design, loaded in different ways. Variations can include not fitting certain components, fitting components with a different value, or fitting components of a different specification. While the components that are fitted can be varied, the wiring cannot. Also, since the designator on the board doesn’t change it doesn’t really make sense to change the type of component either, for example fitting a resistor into a capacitor’s footprint location.

The thing to keep in mind with assembly variants is there is only one board design. That means there is only one set of PCB fabrication files, but there are multiple sets of assembly files – a different set for each variant.

Where to begin?

Before you can define an assembly variant you need to start working on a ‘master’ board design that includes all the components that need to be fitted on the board.

So if your requirement for assembly variants is a deluxe version that is fully loaded and a basic version that is partially loaded, you would be completing the design of the fully loaded deluxe version. You can then create a variant of that design with particular components nominated as not fitted.

Note that one or more assembly variants can be defined and it is up to you to decide if you want the original design to be one of the final product boards, or if it is used as the master reference design from which the product boards are then defined as variants.

Defining an assembly variant

Assembly variants are defined in the Assembly Variant Management dialog (Projects menu). The dialog lists all the components fitted in the original, or base/master design. When you add a new variant, the default state will be to have the same set of components fitted to it.

Removing components from your new variant is simply a matter of disabling the Fitted checkbox. You can multi-select in the dialog, and use the commands in the right-click menu to change the settings for all selected components. To fit an alternate specification or value of component for a particular variant you select the component and then change the detail of the component in the bottom section of the Assembly Variant Management dialog.

If it is not a simple change, like changing a resistor’s value, you can update the component’s parameter values from another component in a library instead. This command lets you select a component from a library and pull any or all parameter values from the library component into the component being varied. Right-click on the component in the Assembly Variant Management dialog to access the Update Values from Library command.

Add and configure assembly variants in the Assembly Variant Management dialog. This design has 2 variants, a Commercial build and an Educational build.

Generating assembly variant output

Since the same bare board is used in all variants, you generate the PCB fabrication files in the same way as you normally do.

For the assembly files, such as the pick and place file, the assembly drawing and the bill of materials, you can generate variant-specific files from an OutputJob. If you’re not familiar with OutputJobs, an OutputJob is a document where you can pre-configure any form of output you need to generate from your project. OutputJobs are added to the project in the same way as any other document – to learn more about them press F1 over the new OutputJob file.

In the OutputJob file there is a column called Variant – if your project has multiple variants defined you will be able to select the required variant from the drop down list. You can also edit the Name field for each variant, doing this means you can easily keep track of them.

Two BOM outputs have been configured in the OutputJob, one for each of the assembly variants.

Introduced in Altium Designer 6.6, there are now options for flagging not-fitted components on your schematic and PCB printouts. The Menu button in the Assembly Variant Management dialog now includes a Variant Drawing Style command. Selecting this command opens the Variant Options dialog, where you can configure how the schematic and PCB not-fitted components will be represented on your printouts.

Generate a SmartPDF of a specific variant, and control how not-fitted components are presented.

Other great variant enhancements

The assembly variant capabilities in Altium Designer continue to be enhanced. Below are some of the great feature improvements made in the Altium Designer 6 updates.

SmartPDF your variants – Use the SmartPDF generator to generate variant-specific PDFs.

Generate a detailed report – To generate a Detailed Report of one or more variants, use the Menu button in the Assembly Variant Management dialog to access the command.

Label your variant on the schematic – include the =VariantName special string on the schematic to include the variant name on your SmartPDF schematic.

Work directly from the schematic – If you have a large design and you’re finding it hard to locate specific components in the Assembly Variant Management dialog, you can also work directly from the schematic sheet. Select the components on the sheet, then right-click and choose Assembly Variants in the Part Actions context menu. The dialog will load with just the selected components, making it easy to configure their variant settings.

Copy/paste an entire variant – Often you will want to create a new variant that is very similar to an existing variant. Use the Copy Variant and Paste Variant commands in the right-click menu to do this. You can also edit multiple variants simultaneously.

Display only the varied components/parameters – Set the grids in the Variant Management dialog to only show the varied components, or parameters.

Generate a detailed report of any or all of the variants.

Interested in learning more?

If you’d like to learn more about Altium Designer’s assembly variant capabilities then have a look at the Managing Design Variation with Variants