EEVblog Electronics Community Forum
Electronics => PCB/EDA/CAD => KiCad => Topic started by: phil from seattle on February 06, 2021, 07:30:42 am
-
I have a device that the footprint is really made up of 3 sockets - 2 1x8 and 1 1x2. It is for a Stepper Driver - Pololu Style StepStick. I want to keep the symbol as a single unit. It makes a lot more sense that way on the schematic.
Getting a PCB manufactured is no problem but for assembly, there is no actual part - it is made up of the 3 sockets. I'm stumped how to do this so I get a BOM that lists the 3 sockets. Is there such thing as a composite footprint that "decomposes" into 3 sub footprints, each having a specific part number? Any ideas how to do that?
-
I think the real solution is to take the simple circuit from the 'StepStick' prototyping board and put that on your custom PCB.
If you leave it as-is, that part will likely be a manual assembly job anyway, so it doesn't matter.
-
Not exactly following your suggestion. Where is this simple circuit you are talking about (google just gets me aliexpress and ebay links)? I have a footprint already but it is just one part in the BOM. If I am assembling it myself it doesn't matter but suppose I am having 100 built in china. I would rather have the BOM and PCB agree on part numbers and locations. I could manually jigger the BOM but think having Kicad automatically generate it correctly is far superior and less error prone. Assemblers get the idea of BOM part number and PCB location easily - extra instructions are subject to misinterpretation.
I could decompose the symbol and use 3 pin-sockets in the schematic and will do that if there isn't a better solution. I probably would make a pin-less footprint that is the outline of the complete module for reference. I don't like that as this requires careful placement on the PCB. It is doable but also requires care to ensure that things don't get moved. Kicad 6 grouping will help with that so I may move to it early.
It seems like this is a common problem and shouldn't need hack solutions.
-
It's not unlike mechanicals like holes. Add the three sockets to some corner of the schematic, and place them on top of the footprint on the PCB where they need to go. Flag your custom footprint as virtual. https://kicad.org/libraries/klc/F8.1/#:~:text=Virtual%20components%20are%20those%20which,Solder%20bridges
The underlying problem of course is you're not placing your carrier board on your PCB, but connectors for it to plug into, and the schematic symbol is only for documentation so doesn't represent anything tangible.
-
I don't use Kicad (at the moment) but came up with a scheme which I thought might work. In needing to check something about it, I found this:
Creating symbols for plug-in modules with multiple BOM parts (https://forum.kicad.info/t/creating-symbols-for-plug-in-modules-with-multiple-bom-parts/21104)
Which seems like it might work for you. There is reference to a different scheme which also seems reasonable:
Making multiple BOM items for one schematic component (https://forum.kicad.info/t/making-multiple-bom-items-for-one-schematic-component/1218/4)
-
Thanks! That is very similar to my plan B approach. The trick is to have registration marks in the virtual footprint and make sure that the sub part registration and the grid in pcbnew are compatible.
-
Many people have wanted a composite component feature. Some call it design blocks. There are various hacks to get something workable but there won't be anything for v6, maybe in v7. Here's one ticket:
https://gitlab.com/kicad/code/kicad/-/issues/1998
and there are related tickets listed that could be dealt with in a comprehensive solution.
-
Many people have wanted a composite component feature. Some call it design blocks. There are various hacks to get something workable but there won't be anything for v6, maybe in v7. Here's one ticket:
https://gitlab.com/kicad/code/kicad/-/issues/1998
and there are related tickets listed that could be dealt with in a comprehensive solution.
Design blocks - that is the term I should have used in my searches. Thanks.
-
The design block functionality can be implemented using save/restore action plugin https://github.com/MitjaNemec/Kicad_action_plugins#saverestore-layout (https://github.com/MitjaNemec/Kicad_action_plugins#saverestore-layout). But the design block has to be contained within a hierarchical sheets (it can have nested sheets)
-
I think the real solution is to take the simple circuit from the 'StepStick' prototyping board and put that on your custom PCB.
If you leave it as-is, that part will likely be a manual assembly job anyway, so it doesn't matter.
+1
SilentStepStick documentation is here: https://github.com/watterott/SilentStepStick (https://github.com/watterott/SilentStepStick)
Its a Trinamic TMC2130 (https://www.trinamic.com/fileadmin/assets/Products/ICs_Documents/TMC2130_datasheet.pdf) IC + about a dozen passives and a preset to set the max motor current in analog scaling mode. If you aren't using all the SilentStepStick features odds are you can simplify it e.g. by omitting the preset.
By incorporating the IC in your own board, you also have the opportunity to improve its thermal management by increasing the ground plane area the thermal vias under its thermal pad connect to, and if you are pushing it hard, possibly adding a heatsink on the underside of the board.
-
Thanks, but that wasn't my question and the utility of a composite footprint goes well beyond this one instance.
Certainly adding the chips to the board is a reasonable idea in many cases. However, in the environments this board will go into, it is not uncommon to see a blown driver which renders the board as useless. With the silent stepstick format, the user can replace the faulty one and be up and running quickly. In fact, they are cheap enough to keep spares on hand and be up and running again within minutes. With an integrated driver board, the customer is unlikely to keep a spare of that.