Project organisation - Page 1
Forum section: electronics / general

author: RikV
author_rank: Regular Contributor
timestamp: March 05, 2023, 07:28:46 pm
content: This is what I want to have:1 main schematic sheet containing interconnections (cabling, wire truncs, solitary components, ie limit switch) between different sheets each containing a (partial) schematic and eventually subsheets. Hierarchical sheet structure you say? Not really.Some of the included schematics appear multiple times and are "reused, existing assemblies" having fixed component references, the included schematics are finally realized on different PCB's.As far as I know hierarchical sheets demand each component on the different schematics to have a unique component reference in the design. Using multiple times the same "sub-assembly" results in disaster: you cannot reassign comp references on existing boards! Furthermore it seems impossible to assign parts of the schematics to different PCBs?Is there something I do misunderstand or must I reread the f.. manual?

author: fourfathom
author_rank: Super Contributor
timestamp: March 05, 2023, 08:03:46 pm
content: Unless there's some trick I don't know about, you will have to create a component for each of these "reused, existing assemblies", and manage those separately. Instantiate those "components" on your top-level schematic as needed.

author: SiliconWizard
author_rank: Super Contributor
timestamp: March 05, 2023, 08:23:39 pm
content: Can you be a bit more explicit? I'm not 100% sure I understood what you want to do.But if the question is, can one use a single hierarchical schematic (sheet) and "instantiate" it multiple times in another sheet, it certainly is supported and works wonders. You just need to name each instance in the parent sheet with a different name, but point to the same schematic file. One easy way of doing it is to create a hierarchical sheet, and then just duplicate it using Ctrl+D.KiCad automatically assigns different references to parts in each instance when you annotate the schematic. Modifying the sub-schematic will impact all instances.Pretty powerful. Used that recently.

author: Benta
author_rank: Super Contributor
timestamp: March 05, 2023, 08:41:06 pm
content: The basic architecture of KiCAD is "one project = one PCB".Hierachical sheets are not really intended for multi-PCB designs, but for documentation clarity for one PCB.There are workarounds, but none are nice.@SiliconWizard's suggestion can work, but will not get around the multi annotations of the symbols. But I've no better idea, sorry.

author: SiliconWizard
author_rank: Super Contributor
timestamp: March 05, 2023, 08:45:44 pm
content: Yes, as to multiple PCBs with only one project, that's not possible. KiCad is not architectured to do this. Any manual attempt at circumventing this limitation is going to bite you in the ass.

author: RikV
author_rank: Regular Contributor
timestamp: March 05, 2023, 09:16:18 pm
content: Clear. I have to create a different project for each PCB.Then I will have to create some kind of document, CAD drawing or even EPLAN schematic to clarify the interconnections between the PCB's?Am I the only one to think this is a pitty, a missing link?

author: julian1
author_rank: Frequent Contributor
timestamp: March 05, 2023, 09:37:44 pm
content: Depending on the complexity of the interconnect dependencies, and the regularity, you could sym-link a common sheet into two different projects sub directories. I experimented with this in the past, but always encountered the need for small variations, and found a copy and modify approach was more flexible.One point is that if a sheet is only used once per project, then one can just use global labels for connections between sheets. Having one pcb per project simplifies managing stuff like ordinal handling of designators, and pcb views.

author: Benta
author_rank: Super Contributor
timestamp: March 05, 2023, 09:38:52 pm
content: You're welcome to spend thousands of Euro anytime to buy software that will do what you want. Or to contribute yourself to KiCAD.KiCAD is excellent at what it does, but will also not manage your inventory, BOMs, payroll etc. Sorry.

author: SiliconWizard
author_rank: Super Contributor
timestamp: March 05, 2023, 10:07:47 pm
content: Quote from: RikV on March 05, 2023, 09:16:18 pmThe possibility of handling several PCBs per project would be a nice plus. It would obviously require not just significant internal changes, but also changes in the UI - for instance the project manager just has a "Schematic editor" and a "PCB editor" option. Which would it open with such a UI? Certainly some significant changes ahead.This is unfortunately the kind of features that is best architectured early in a software project rather than as a late thought. KiCad has seen a lot of improvements these past few years, but the base architecture is now pretty old.I document interfaces between PCBs in external documents usually, like block diagrams.

author: Benta
author_rank: Super Contributor
timestamp: March 05, 2023, 10:16:48 pm
content: Further to this topic:I had an idea for a workaround the other day for designs using a "main" PCB and additional "plug-in" PCBs (I haven't tried it out yet, sorry).The idea is to define library symbols for the sub-PCBs (I'm a passionate advocate for using personal libraries anyway).Symbol drawing is easy, and any symbol can be used multiple times in a schematic. ERC check should be unproblematic if the I/Os are defined correctly. Simulation pretty much impossible.In the symbol library, add a field for the project file of the sub-PCB. Note that this is just for info, it will NOT create a real link.This is in no way perfect, but a possibility. I'm going to explore it further...Comments?

author: fourfathom
author_rank: Super Contributor
timestamp: March 05, 2023, 11:41:29 pm
content: Quote from: Benta on March 05, 2023, 10:16:48 pmThat's what I was trying to suggest above (https://www.eevblog.com/forum/kicad/project-organisation/msg4737881/#msg4737881)

author: RikV
author_rank: Regular Contributor
timestamp: March 05, 2023, 11:50:44 pm
content: Benta,This idea has something. By doing so, in a way you organise your projects "PCB 'symbols'" in some kind of "superproject"schematic and thus you have the possibility to add orphan components (switches, potmetere, LED's) mounted on the frontpanel or even those cheap Break-out boards. Your schematic becomes the cabling plan.schould work.Anyhow, I did not realize the project structure in KiCAD until I did my first DRC. As most people do when reading manuals, I skipped the first 2 or 2 chapters usually telling you how to download and install the software. Maybe it is mentioned there how to set-up a project. Don't know, not longer important.These remarks/questions are by no means meant to minimize the value of KiCAD: see it as suggestions for improvements/expansion of the good work and if I can contribute to this in any other way, please let me know.

author: Benta
author_rank: Super Contributor
timestamp: March 06, 2023, 11:28:48 am
content: Quote from: fourfathom on March 05, 2023, 11:41:29 pmSorry, missed that, probably due to the reference to "components" which is not a KiCAD thing.

author: RikV
author_rank: Regular Contributor
timestamp: March 06, 2023, 07:43:38 pm
content: When I want some parts of my PCB to have exposed copper surfaces, how do I proceed? Adapting the .mask wille leave the copper opened but finished according to HASL or ENIG selection. I do not want that in this case, realy pure copper surface is what I need. Is there a way?

author: Benta
author_rank: Super Contributor
timestamp: March 06, 2023, 08:03:53 pm
content: Pæease start a new thread when you change the subject.Thank You.

author: hpw
author_rank: Frequent Contributor
timestamp: March 21, 2023, 08:39:38 pm
content: Quote from: Benta on March 05, 2023, 10:16:48 pmWell, using 7.01...1) I created a personal Symbol & personal Footprint library with matched footprints related to to personal Symbol Lib.In mind, I need different footprints as stock, so I have my own in case any footprint changes.2) Now, created schematic and PCB as a first trial.3) Then did split my personal Symbol & personal Footprint library for any better as moving the elements from one to the other personal library and may rename some elements. This is/was any easy task.4) Now, as opening the trial schematic & PCB... this went into some nightmare as the elements are "Named Based" links not as object or as GUI-ID's.5) Conclusion: Organize your librar(y/ies) in mind, while later on, it will be a disaster or high work to update your schematic(s) or PCB(s) as using your new organized personal libraries.Or I am wrong

author: Benta
author_rank: Super Contributor
timestamp: March 21, 2023, 11:05:18 pm
content: I've no idea what you mean. Perhaps this helps (yes, I know it's 6.0, but there's no real difference):https://forum.kicad.info/t/kicad-6-beginners-guide-to-personal-symbol-and-footprint-libraries/38738https://forum.kicad.info/t/kicad-6-tips-n-tricks-when-making-personal-symbol-libraries/39215

author: hpw
author_rank: Frequent Contributor
timestamp: March 22, 2023, 10:04:01 am
content: Quote from: Benta on March 21, 2023, 11:05:18 pmHere the text from first link:Personal libraries allow you to create, modify, import and use symbols as you like.Take a little time to plan the naming of Personal Libraries. Reorganizing and recreating libraries sometime in the future because of poor original planning is an irksome task.While this means, having already a large project, keep the library mess with this/those project(s), reorganize and use those reorganized libraries ONLY for NEW projects.

author: karpouzi9
author_rank: Contributor
timestamp: March 22, 2023, 07:47:39 pm
content: At the end of the day, the libraries are all text files. You can edit them with a text editor much faster than you can use the import/export dialog in the GUI.