Start A Project: The REAL First Step?

OK, I am new and trying to learn KiCAD. I have made PCBs for decades, dating back to the 1960s and have used other PCB software as well as cut and paste techniques but this will be my first KiCAD project. I hope it will be a long and happy association.

Perhaps I am overthinking things, but I don’t want to start my first project twice. After some reading I learned that there can be hierarchical schematics. There would be a Root Sheet and then additional sheets below/within that. That sounds logical and is a great feature. My first project, while not highly complex, will need two PCBs: one a power supply and the other the working circuit. And the working circuit PCB, of which there will be about 6 or 8 copies in the device, will be assembled in two different versions for different outputs. The PCB, the foil pattern will be identical, just the chips will be different.

So I have three questions and at least two seem to need answers BEFORE I even start:

  1. Should I begin with the Root Sheet and create some kind of blocks inside it for the other PCBs? Or should I start with the individual PCBs (power supply and working circuit) and later combine them into a Root Sheet created at that time?

  2. Since the working PCBs will have identical foil paths and component footprints, can I just copy the first schematic into a second window and rename the different parts? Of course, saving it by a different name.

  3. Will I be able to run the the Ngspice simulation on the complete circuit? Or just on the individual schematic of the working PCB? This is not as important as the other two questions, but an answer may help me to optimize my design process.

Perhaps there is a tutorial or video on this. A link would be nice.

Thanks in advance for any help on these matters.

Paul A.

Kicad is designed with “1 project = 1 pcb” idea. Maybe at some point it will change and multi pcb projects will be supported natively but for now it’s best to create separate projects for each of your pcbs.

For different variants of your pcb, if there is anything different on the pcb, you can copy and rename but I would copy it into separate project.

Regarding ngspice, I never used it so can’t give much advice but you won’t be able to run a simulation on just any schematic. You have to find and assign models to each component and perform some other steps.

In KiCad in principle it’s one project for each PCB. That means at least two projects for you, and I recommend to do it this way, even if it’s just to make it easier to start. (Overlapped with qu1ck’s post).

You can share some resources between projects if you put custom schematic symbols and footprints in separate libraries, but it will still be separate projects.

For the spice simulation. Consider making this a third project. Spice simulations are often quite different from schematics designed to make a PCB. For example, you don’t need power supply sections and connectors in a spice circuit, while you do need extra spice parameters to specify which simulations to run etc. Spice simulations are often also of just a small sub-section of the circuit.

In KiCad V6 there is a Project Manager / File / Save As … and with this you can make a copy of your project with another name. This can help if different projects have a big chunk in common, such as the “real” project, and it’s spice simulation.

But in the end you have to gain some experience to know what works best in your (always ever changing) situation.

1 Like

As a somewhat experienced, but in no way expert user, these are my findings:
1: hierachical sheets are extremely useful when partitioning a complex design at the schematic level. It is in no way intended for multi-PCB designs. Forget that completely.
2: as above: one schematic (hierachical or not) = one PCB.
3: for each schematic, you’ll need a second one for simulation. It’ll look almost like the original, but with ngspice sources etc. added, and power supplies etc. removed. Keeping the two “almost-the-same” schematics in sync is a pain in the *rse. Live with it.
4: except for basic passives, no parts in the KiCAD libraries have SPICE models attatched. You’ll need to download those from the manufacturers or somewhere else.
5: CREATE YOUR OWN LIBRARIES and keep backups always! The main KiCAD libraries cannot be modified in a sensible way, and any modifications will be gone after an upgrade.
Example: if you need parts from the “74xx” library, copy the whole thing to your own folder (using your file manager) and rename it to “0_74xx”. Then you can add that library to the Global Library, but you can now modify it as you like. The “0_” ensures that it’s always at the top of the library list.

And now, have fun! KiCAD has its quirks, and a professional UI architect never visited the team, but it’s good, stable software (I never had a crash) and does what it’s supposed to. I like it.


I tried hierarchical drawings, and ended up making one project per board.

To ensure the connector sequences were retained between boards, I made a duplicate of the connector to be carried over and then cut / pasted it to a new schematic sheet.

You definitely should make your own component library, as there will be symbols in the default library that are completely wrong or have the pins arranged in a non-optimal sequence. Along with your personal library, you should also designate a folder for your own footprint files too.

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