Hello everyone. I’m wondering what the best practice is for when you would like to provide several footprint locations to accomodate alternate components.
Specifically, I have a capacitor that will most often be a 1206 smd component, but the circuit’s performance could be improved by subbing a large silver mica cap. I have the smd footprint assigned in the schematic, and I tried to add a tht footprint in pcbnew, but it wouldn’t let me run traces to the new footprint.
Should I add both to the schematic, and then put a big “either/or” note on the schematic and the board silk?
It sounds like you want to produce one bare board, but on that board there may be multiple footprints associated with a particular component because there are several possible alternatives for that particular component. (Or, do you want to have one schematic, from which several variations of a board are produced - each variation corresponding to a different package style for a particular component?)
Putting all possible component alternatives on the schematic is one approach. Each alternative will require its own reference designator - e.g., “C10” for one alternative and “C11” for another. (I don’t think KiCAD will tolerate “C10A” and “C10B”.) Then, you need a note saying something like “Install either C10 or C11. Do not install both C10 and C11.”.How your Configuration Control system differentiates between boards with C10, versus boards with C11, is an unresolved problem - perhaps adding a “variant dash number” to the basic part number, and creating a P/L which lists both variants, with information about which parts are used with each dash number.
Since you want to have both footprints on the board, but will never populate both of them, I would create a custom footprint having pads for both parts. I.e., start with the footprint for the silver mica cap (MIL style CM05, or whatever) then squeeze the 1206 pads between the leads. Put ONE capacitor symbol on the schematic with reference designator, e.g., “C10”. Use either a drawing note, or the parts list, to identify the different construction and/or value that C10 may have. You still have to deal with the configuration control problem of differentiating between boards built with the two possible parts.
Right now I want multiple footprints associated with one component. I really like the idea of a custom footprint, so then I can still have one designator.
What would be the best way to handle the other scenario that you mention: one schematic with several board variations? Eg. I have a schematic and want to release full smd and tht versions. Does that require copying into a new project, or is there a clean way to do it in a single project so that schematic revisions would be propagated to both board versions?
It really depends on the situation. Here’s one footprint for two USB connectors:
It required a lot of luck and a lot of measuring. There may be situations where you may want to place the two components in different places or in different orientations and naturally it needs two footprints (and two symbols) then. Think through it beforehand.
Beside the custom footprint like (3 pad 0603 resisters). I also use BOM to managing variations, it assembly instructions. Recently I make up a scripts to help me back annotate into schematic for different variations, and may help reading schematic easier for each variations been applied. I may improve, add more feature as I go if time permitted.
KiCad not support, but no one will stop you to make two difference board from the same schematic project. I may do one board with a set of footprint for SMT and save that footprint info into BOM too, for configuration. Then rename that .kicad_pcb to may another new board with THT footprints, and save it into another BOM with footprint info. Using my script, you may able to switch between configuration as you like.