Grid best practices

Hi,
Been using kicad for about 5 years now. Not an expert but certainly i have made my share of parts. I just decided to create a new library and put everything on github under version control. That also seems to be the best moment to get some new best practices in. One thing i have been struggling with is the grid dimensions.

No matter how much i try in my projects to be consistent with it, i always end up with a tiny grid. This is mainly due to downloading footprint and symbols that have been made with different grid sizes. Preferrably i run a 1 mm grid or the 2.54 mm just to make the workflow nice and easy. I dont build micro pcb’s so thats fine.

My question is: What are some of the best practises you are using in order to avoid this? I can of course draw every footprint and symbol myself, but that feels like more work(or is it?). How do you handle importing footprints with different grid settings? Obviously the pitch is always defined by the component, but how to prevent the offset from the grid? This is how i always end up with a really fine grid.

Looking for some help and best practises so my workflow gets a bit more efficient.

Thanks!

Schematic symbols need to be on a 50mil grid. Period.
Footprints are going to be on whatever grid the manufacturer used - 3/16", 100mil, 2mm, 50mil, 1mm, .65mm, etc., etc.- there are many “standards,” and no single routing grid is going to handle them all, unless you make it really tiny.

this is true in case you would like to use the KC libraries or parts downloaded from the various online resources with minimal modifications.

Where i work, we decided not to, and rely only on our libraries. We standardized every part on a 25mil grid; not a problem if you keep that consistent on all your libraries.

Grids are best thought of as drawing aids. Certain grids for certain uses, depending on the project.

For the Schematic Editor, wire and symbol placement really needs 25 or 50 mil. Text, something smaller.

For Symbol Editor, 50 for pin placement or maybe 25 (as Claudio. Lorini writes above) if you build your own library. For the symbol graphics, it could be anything from 100mil to 1 mil, depending on the shape required. Maybe several grids are needed for the one shape (check out the construction of a transistor symbol). :slightly_smiling_face:

The Footprint Editor may easily use even more grids than the Symbol Editor to draw a footprint. You may find yourself swapping back and forth between many grids to complete one footprint, and it may be convenient to have different values for X & Y on one or more of those grids.

The PCB Editor is much the same as the Footprint Editor. I doubt I’ve ever completed a PCB without using at least half a dozen grids that are rotated many times.

I don’t know if my practice is best but all my footprints have their courtyard rectangles in 0.1mm grid and I work with 0.1mm grid positioning them touching each other.

I use only my own footprints, but when I need new footprint I copy one from KiCad libraries and modify according to my rules (for example I draw silkscreen lines directly at courtyard lines so when footprints are placed touching with their courtyard than also silk have the common line between them.

If KiCad footprint has courtyard and silk not in 0.1mm grid I just correct it. My experience is that most footprints (like 0603) you use always so after some time you have a practical set of all footprints you need. With each new PCB I have to define one or two (many times 0) new footprints so it takes not a lot of time compared to whole PCB design.

I don’t understand what you have the problem with pads being off grid? When you route KiCad just starts tracks from pad centers if they are in grid or not. Or may be it depends on some settings I even don’t know it exists as it always was set as it should be :slight_smile:

When designing footprints I don’t use grid to fine position pads but just write manually their position that I got from my calculations.
If I need to move the whole row of pads in some footprint I select them and use one of tools from right-click and “Positioning Tools”.

For the benefit of @TomPB , there is also in the Footprint Editor “Highlight a pad” then RMB to open the selection table, then: Create from Selection > Create Array. This will create as many pads in as many rows/columns, with your assigned spacings, as you wish, without using grids. This is brilliant for connectors and ICs in particular.

KiCad has four main editors which all have different needs for grid. Symbol pins, symbol graphics, symbol texts, schematic symbol placement, schematic wiring, footprint pad dimensions and placement, footprint graphics, PCB footprint placement, PCB board outlines, PCB traces… they all may have different requirements and needs.

For the symbol pins / schematic symbol placement there’s the one rule, already mentioned: use 50 mil grid (or maybe 25 if you create your own libraries) for pins and symbol placement.

But what you can do with footprints? The pad dimensions, placement etc. come from datasheets, you should follow them. You just can’t use one-size-fits-all wide pitch grid for everything. So, if there’s some specific problem which you think could represent your question and possible solutions well, you should give that as an example, maybe it would be easier to give opinions.

Have you noticed that there are context specific grids for all editors in Preferences → [editor] → Grids? That may help you to some degree. For example, texts are usually not critical for placement, you can use whatever grid for them which doesn’t depend on, say, pad dimensions or component outline dimensions.