Connect with:

What you didn’t know about EAGLE: Assembly Variants



Imagine working days or even weeks on your PCB design to only then be informed that adjustments need to be done to satisfy a particular circuit board criteria. Using the Assembly Variant feature of EAGLE will avoid you having to save the file multiple times under different names. Criterion can be assigned to each variant such as:

  • Component Technology
  • Component Name
  • Component Populated

The original schematic design will be known as the Default Variant and (It) should contain all the necessary components and connections that will satisfy the functionality of the original schematic. Each variant will be a spin-off of the original design. A prime example of where Assembly Variants can be used is in circuit board designs that will be used as filters. These designs can use the same topology, but require value adjustments to its components to accomplish different frequencies. To begin this process, click on Edit /Assembly Variant (Figure 1)

Figure 1 Creating an Assembly Variant

The dialog box that appears is your default variant. It will appear with 4 columns listing:  Component Name, Value, Technology and Description. To create a brand new Assembly Variant click on the NEW button, after naming your variant. A new set of columns will appear for the new design variant. The new set columns can be used to change:  Visibility, Value and Technology (See Figure 2).

Figure 2

Within the Main Assembly Variants dialog box each row will represent a component on the schematic. The first column that appears for the NEW variant is for the assembly visibility. The remainder columns are for Value and Technology. For this example we are only going to make modifications to the values of C1, C2. Visibility for C3 is disabled, now click OK. Nothing happens on the schematic yet. To see this change take effect you’ll need to switch to the variant. To change to a different variant, click on the Variant drop down menu that appears of the top tool bar and select the desired variant (See Figure 3).

Figure 3 Change Assembly Variant

After selecting the new variant option you will notice that changes will immediately be applied to the schematic design, see Figure 4. The cross hairs that appear on the C3 indicate that this component is not intended to be populated on the board.

Figure 4

Assembly variant changes can only be performed on the schematic, but how does this affect your board layout? The changes of a defined variant affect the board and the schematic in a very similar way. What happens with those components that are not going to be populated? Well, the component outline actually disappears from the board. On Figure 5, you will notice a before and after regarding the visibility of C3 on the board.

Figure 5          C3 Populate                              C3 Don’t Populate

Generating GERBER files for Design Variants
Before creating the appropriate Gerber file for a design that has variants, you need to follow a few steps. DO NOT CLICK the CAM Processor icon, this will create the Gerber files for the default design.  On the board layout level click on the ULP Icon and run the ULP called save-brd-variants.ulp, then click on OPEN (See Figure 6). The next prompt will indicate the boards that will be created according to your variants. The board will have the same name as the default variant but with the addition of the variant name. You will have the same amount of board files directly related to the amount of variants you have defined (Figure 7)

Figure 6

Figure 7

In the CAM Processor make sure to load the board file according to the variant you wish to export.

That’s it, all about assembly variants! Comments are welcome, and stay tuned for next week’s, “What you didn’t know about EAGLE” blog!

EAGLE Support Team

Subscribe for Updates

Stay up to date with the latest news, knowledge and tutorials for Autodesk EAGLE and electronics design.

6 Trackbacks


The Nest

Stay connected with the latest news, knowledge and tutorials for Autodesk EAGLE and electronics design.