I've Been Playing Around WIth Hierarchical Sheets


#1

I’m working on a design that means moving display items around. In this case, the PcbNew Layout is more important than the Escheema layout. The goal is use KiCad to represent the final layout before drawing the items on the schematic.

The biggest issue I had was that Hierarchical Sheets do not all Annotate the same way; and I think this might be a bug.

My design has 6 sheets at the moment. I changed up the priority of the RefDes on the PcbLayout; so that they would not move with an “update Pcb” click.

I think I should be able to Globally reset every RefDes in Escheema; it seemed to work once.

Anyways, the point is that I don’t want to have a RefDes of “101”, “201”, … “601” just because I duplicated the same part 6 times; a RefDes of just “1” to “6” works for me just fine.

Tonight I spent way more time then I feel I should have while working a design with KiCad.


#2

In the Annotate Dialog under Numbering, it appears that the “First free after sheet number X 100” is selected. This has the effect of starting the RefDes numbering on each sheet with an offset of 100 (i.e. Sheet 1 = 100,101… Sheet 2 = 200,201…). This can be nice when debugging a multi-channel board later. Changing the option to "Use first free number after “0”, will start RefDes number from 0 and increment across all sheets.

Note that Kicad also has an internal reference timestamp for each part. So if you change the Annotate options and renumber the world, when you push the RefDes changes to pcbnew, it will update the RefDes on the correct components.

NOTE: When playing with renumbering RefDes’, always make a backup of the project first just in case something doesn’t go the way you think.


#3

I was careful with incremental project backups and saving to disk; and I have to say that your comment is great advice for others.

Any time I get started with Hierarchical Sheets I seem to always end up doing something that KiCad does not like. And, it may not be because of a bug, it may well be operator error.