Variant handling in complex hierarchical schematics

I would like to ask, what’s the best way for handling different assembly variants in complex hierarchical schematics?
Normally I’m using the Interactive HTML BOM plugin, which can be controlled by attributes added to the schematic symbols. But this method comes to their limits, if I have multiple instances of the same schematic sheet. Imagine you want to have different parts values assembled in each instance. The only way I found to achieve this would be to create separate schematic sheets where I have different parts. But I afraid this could end in a big mess if I want to apply common changes to all instances at a later time.
So, any better ideas for getting this done?

Brewing the variant feature can be found on the V6 roadmap what will take some time. Meanwhile you have to do this manually. We do not manage diffrent values and board populations by schematic. Our conrol software for SMD pick and place machine handles how much boards are assembled with diffrent values/spares and some comments in the schematic are sufficient to understand what to do.

Thanks, it’s nice to hear that this feature is on the roadmap! So meanwhile I will go with a spreadsheet…

Beside Kicad we use high end CAD with variant manager and we dont use the variant feature. Its more complex to generate correct results than doing this manually. Try to keep your design simple not using too much gimmicks. Dont know your design but think about to keep the variant compenents out of common hierarchy and edit them in instance separate.

For brief variant management there is unmerged patch from Oliver Walter https://lists.launchpad.net/kicad-developers/msg38415.html but problems are much more complex than shown there

So meanwhile I will go with a spreadsheet…

Even the variant feature from Solidworks relies on Microsoft Excel

I think I’m running into the same issue, and found this before I created a new topic. I have two instances of the same schematic sheet and want to make part value changes between them. That doesn’t seem to be possible.

Here are a couple examples where it would be useful to me:

  1. I have a sheet with a MFB DAC filter circuit. The DAC outputs go to different connectors with different nominal output levels, so while it’s the same circuit I’d like to have different input resistors to the filter so that the full-scale output level varies.
  2. I have a bus voltage that is being bucked down to several similar voltages (+1.0V, +1.15V, +1.25V, etc.). I’m using multiple instances of the same buck regulator to generate each of the output voltages and the circuits only need minor value changes to work.

In both of those examples, and surely many others, only values (and so the MPN and/or internal PN) needs to change between instances of the circuit. So using instances of the same sheet makes schematic maintenance easier.

I can understand if multiple instances of a schematic sheet cannot have connectivity (netlist) changes, but not allowing value changes I don’t understand. The ref des can change between instances of the same sheet and so I expect part value should be able to change as well. But if I change the value on one sheet I see that change propagated to all other instances of the sheet.

Are we talking about the same thing? And have I misunderstood or this is not possible in 5.1.5?

I use KiCost to create the BOM and have the same issue.
I had create a feature request (I have to found it in Gitlab) to be possible to set variable in the hierarchical block. This could create a way to workaround, since would be possible that each part inside one hierarchical block to heritage the value set to that block, being possible set different values even if two hierarchical block have the same circuit.

A propose could be: this “fit variable” allow TRUE / FALSE / “string” and this string be set on the project or the hierarchical block where the parts belong. This will allow different assembly in a channels layout (blocks).

IMHO the variants and other hierarchical features require to enter special instance edit mode of schematic. FileOpen Menue should allows to create, delete, open, edit or print the instance wether instance data is in own instance file or integrated in schematic file. The “do not fit” variable cannot do this all and it is insufficient only to assign multiple alterntate values and references becouse there is no index wich belongs to what instance or version.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.