Some questions/suggestions about the design process

Hello,

I am just starting to use KiCad and I have some questions/suggestions about the design process from a KiCad-beginner standpoint.

Please do not take those as criticism! I am very grateful that you are investing your time in this project and the result is really neat!

  • Why not assigning names automatically in schematic before using the “Annotate Schematics” command?
    This step adds complexity for the beginner and it does not look so usefull. Perhaps this could be left as a opt-in option?

  • Why not integrate footprints when adding components ? This would enable to skip the “Assign footprint” step. When designing a board with 200+ passive components, selecting footprint for resistors one by one seems pretty tedious.

  • Why generating a netlist file, then import it in the PCB ? Everytime you modify something in the sch you need to save netlist in sch and import netlist in brd. Would it be possible to sync PCB and SCH as in eagle ? This makes life really easy.

  • When adding new components to SCH, it would be great to be able to put more than one until user press ESC or change tool. When adding several resistor for example it would be great not having to load the library/click “OK” everytime.
    Alternatively I could copy using shift and select (which is a great feature btw!). However it seems I can’t select an individual component by just clicking on it, I need to make a rectangle select (click and move) to be able to select component.

Is possible to do and is done for more complex parts. Really does not make sense for passives as your symbol library size would explode. (But you do you.)

You can select multiple resistors at once in cvpcb and give them the same footprint with one click.

The netlist file is deprecated for kicad internal use. Use the “update pcb from schematic” tool instead.
But why not do this automatically? Simply a design decission. I am right now working with eagle at work. It is annoying when reworking the pcb that there is no viable way of working on the schematic without impacting the pcb. So both workflows have their pros and cons.

Place the first one. Then use the hotkey c to place as many copies as you like. Remember kicad uses hotkeys which is very powerful but requires a bit of learning. (The default assignment is meant to make logical sense. You might want to change it such that all often used shortcuts can be reached without moving your keyboard hand.)

Again something that annoys the hell out of me when using eagle. (Not when first placing but again when reworking something.)
This is another of these “has pros and cons” situations where there is no clear winner and it really mostly depends on what you are used to.


and of course: KiCad is not eagle. They are different. Sometimes for good reasons. Sometimes the reasons are arbitrary. Accept that you need to learn a completely new tool with a slightly different workflow. (You will find things that you like. Some of these things might even be things that you hated when you first switched.)
There will also of course be things that you hate. But you will learn to live with these quirks as you learned to live with the quirks of eagle.

1 Like

Thanks for reply!

Haven’t seen this “update pcb from schematic” command, it’s indeed more user friendly than the netlist. Indeed automatic update is not critical, it’s good like this.

Got it for the hotkeys, it indeed looks very pratical!

In my opinion this is a good idea as an opt-in option.

Avoiding assigning 200+ footprints one by one is easy to avoid, there are several ways. First, you can create your own fully defined parts, i.e. a symbol library where each symbol has a predefined footprints. As Rene said it’s not practical for the common default library but it may be practical for your own library. Second, you can use cvpcb as Rene said (although I didn’t even know it can assign many at once; it’s a clumsy tool in many ways.) Third, you may try Tools->Edit Symbol Fields – it depends on the KiCad version but at least a recent nightly build seems to have ability to group by symbol name and then assign one footprint for all similar symbols.

As you already noticed when Rene told, you can click C on top of an existing component and place a copy. But you can also use Insert key, it repeats the last item which you placed. Also other than symbols. I haven’t used that myself but remember seeing it somewhere and checked just now in the Help->List Hotkeys list.

Do you postulate:

  • to ask for footprint after each symbol placed on schematic,
  • to integrate footprint with symbol?

From that I can suppose that you rather think about integrating footprint with symbol.

It is difficult in library destined to be used for everyone - you will need the symbols like 1k_1206, 1k_0805, 1k_0603, 1k_0402, 1k_0201, 1k_0W1_horizontal, 1k_0W1_vertical,… and so on.

But it is simple in the library destined only for yourself. I have never tried how “Assign footprint” step looks like because I don’t plan to use it ever.
I am using mainly 0603 so I have my R library in which 1k just means 1k 0603 and footprint is defined in symbol. Recently I decided that I don’t wont at schematic the elements like 1k_04 so I have made the second library R1 and in that library 1k means 1k 0402 (1mm length so the name R1). So I will have at schematic two elements looking the same 1k but really they will be different in size.

When I draw a schematic, then for the resistors I often start by thinking in which kind of package I want them (THT, 1206 or 0805) and put one resistor in the schematic and assign a footprint.

Then if I need another resitor I hover over it and press “c” for copy. and this already has the footprint assigned.
I also use this for power symbols and any other stuff that’s already in the schematic. Copying parts is a lot easier than getting them from the libraries.
I also tend to copy from a resistor that’s already rotated in the direction I want it so I don’t have to press “R” and move the lables to the right location.
Also, when you copy labels you don’t have to type in the name again and no chance of typing errors.

CvPcb used to be handy to check if all footprints are assigned and converting lots of components fast. (For example from an THT to an SMD design).
The “Edit Symbol Fields” spreadsheet is a newer addition and can also easily copy Footprint assignments in bulk, but has no way to add a Footprint.

Another workflow I use for assigning footprints is to hover over a component, press “F” for footprint, then [Select], which gets you into the Footprint Browser, and you can also have the 3D viewer open at the same time, which is especially handy with weird components such as battery holders and the myriad of different connectors.

If you have one component with an assigned Footprint it can easily be copied to other symbols with the “Edit Symbol Fields” spreadsheet.

KiCad is also developing quite fast, especially if you look at the small development team. There are lots of small things which can, should, and are being improved.

About the “complexity” of annotation of the schematic.
If you don’t care about which numbers get assigned where, it’s 3 mouse clicks, and I personally like the controll of assigning the Refdes part numbers by hand.

1 Like

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