As I have previously posted, I am just learning KiCad 6 after using DipTrace for several years. KiCad definitely has more features, but some things seem very difficult. For example, I started a project with the builtin RPi hat for Zero template. The first thing I found was that the board outline was sloppily put together, so I laid out my own. Then, I discovered that the 2x20 header socket had two of the pads spaced at 2.50 mm instead of 2.54, so I dumped that and found another one in one of the libraries. Then, I tried to align it precisely with the mounting holes in my board. I finally got it done tonight, but I am sure there must be an easier way. My prior software allowed me to place multiple dimensions around a part, and then move the part until the dimensions matched what the project required. Anyone who knows the easy way to do this in KiCad…please help an old newbie out. Thanks.
At the very bottom of your screen is this:
dx & dy will set to zero when you press your space bar, so:
Find the anchor point of your socket (the place the cursor holds the footprint).
Calculate the needed position (distance in x & y) of the anchor point to the mounting hole.
Place the mouse cursor over the mounting hole.
Press the space bar.
Highlight your symbol (the cursor will attach to the anchor)
Read dx & dy as you move the symbol.
Also, you could use two single 20 pin headers and use the same process to first align one set to the mounting hole and the second set to the first.
Please comment if you are not familiar with the anchor yet.
KiCad is not great in graphical things.
One possible pathway to success is to use the KiCad Stepup workbench in FreeCAD, and then import the PCB outline.
If you just want to place some mounting holes, then get the coordinates from somewhere and just enter the numbers directly into the footprint properties. You can also type in simple formulas in the entry boxes. You can also use the Positioning Tools from the Right Mouse Button popup menu.
Ahhh, I forgot about these new features.
@tracecom, as @paulvdh shows, right click on your symbol and fill in the x & y positions. This saves watching the dx & dy.
You know, I actually used part of that technique yesterday, but forgot about it. Tonight, I went the long way around by getting the xy coordinates of the mounting holes and the coordinates of the two pads on the ends of both rows, doing the arithmetic of calculating how far to move the 2x20 in both directions and then nudging it into place. It’s too late and my brain’s too tired to go back to it tonight, but I am going to go back to it and make sure I have it down pat. I probably will print this and keep it for reference. Thanks much.
Another thing I noticed just today is: PCB Editor / Preferences / Preferences / PCB Editor / Origins and Axes / Display Origin. I would still prefer to have the ability to move the paper sheet and keep the “real” absolute (0, 0) as a reference. Some people go as far as reducing the paper layout to a small “origin mark” and then build their PCB around (0, 0).
You can do things like:
My typo, you can either use 0.1" or 100mil too, but KiCad dutifully calculates the result of 15.0508mm
Had a play with Position Relative to (Shift + P)… not bad!
Highlight footprint to move,
Shift + P,
In window, click Select Item,
Click on centre of hole, window opens again,
Enter in window distance (+ /- x &y) between, say, centre of hole and anchor of footprint,
Press OK
Done.
My preferred way for positioning items uses the “Move exactly” tool:
- position first item (maybe with exact x/y-coordinate)
- move second item on top of first (the snapping of footprints/graphics on top of each other helps)
- use “Move exactly”.
- because it’s an often used tool: it got “CTRL+M” as hotkey
I don’t understand what exactly is a problem - why RPi need a precision position against your mounting holes? I care about exact positions practically only for LEDs and connectors.
The other tool not mentioned till now that can be used sometimes is to set your own grid. Clicking at grid selection box (at top) you have in selection list “Edit User Grid” and then you can select to use “User grid”.
I use it when at PCB that I have everything in mm I have to position several 5.08 raster terminal blocks.
I noticed that Grid Origin set in Edit User Grid is valid even you don’t select to use User grid. There you can also select two grids that you can fast switch between them by Alt+1 and Alt+2.
I use only defined by me symbols and footprints. Defining symbols and footprints is relatively easy. You can take some close to your need footprint and edit it (simpler then defining from scratch).
Hi Piotr, It’s partly my pedantic nature, but also because I am building a hat for a RPi Zero. The hat has mounting holes that are supposed to line up with the mounting holes on the Zero, and it has a 2x20 pin socket that is supposed to line up with the 2x20 pin header on the Zero.
I agree with you that I have the most confidence in footprints that I build; many people are too sloppy with their dimensions for my liking. Thanks.
That is what I didn’t know (that Zero has mounting holes) so I supposed that mounting holes are for mounting your pcb and not Zero to your pcb.
In my opinion you should design footprint for RPi containing all its mounting holes and pads for 2x20 pin headers, and not position them separately at pcb (as I understood you are doing as you write about positioning whole headers and not individual pins.
To fast place pads in your footprint you can define User grid to have only points you need. You can renumber pads by going with cursor through all of them (“Renumber Pads…” in context menu). Mounting holes are not a lot so you can manually write each its position.
When you decide to change all pads (shape, dimensions, hole size) you do it in one of them, and then right-click and “Copy Pad properties to Default” and then select all pads and right-click and “Paste Default Pad Properties to Selected”. Selecting toward right works differently then selecting toward left. With Shift you can add to selection, with Ctrl+Shift you can delete from selection.
This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.