I am working on my latest design, which is now a significant redesign of the previous one. My question concerns cross probing and the desire to re-position footprints. I tend to repeat the same error and I wonder whether I am missing something…
I use two monitors, with the schematic on one and the pcb on the other. I click on the schematic symbol to find the layout footprint. My intent is to move the footprint, but I repeatedly forget to click on the layout and proceed to move the schematic symbol. I can undo but when done repeatedly this is an annoying waste of time. Is there a better way? Am I missing something or am I just a victim of my own bad habits?
I have similar issues all the time (not limited to kicad)
If you’re on linux, you could set your window manager to “focus follows mouse” or whatever your window manager’s equivalent is. That way whichever window your mouse is hovering over is focused; you don’t have to click to change focus. You would still have to move your mouse back to the layout editor, though, so maybe this isn’t really a full solution. It just saves you the click.
One other idea is to use the “get and move footprint” command in pcbnew (I think the shortcut is T). Press T, type in the refdes (you already have the schematic open so you should have it handy), hit enter, and the footprint will be automatically attached to your cursor.
Some time ago someone on this forum recommended a software utility to implement “focus follows mouse.” I tried it and had some problems with it; I do not remember what those problems were.
But in this situation, I click on the schematic and see the footprint highlighted. Without thinking to move the mouse over the layout, I hit “M” to move the highlighted footprint. But of course I end up moving the schematic symbol.
Right, what I’m suggesting is that you don’t click on the schematic symbol, so you never switch the focus to eeschema. Just look at the schematic, read the refdes (e.g. U123), and with pcbnew still focused, hit T, type U123, hit enter, and now you’re moving the part that you want.
I point footprint with mouse and click ‘M’ to move it. I see at schematic to what schematic group element belongs and move it to region I collect footprints from that group (without any order in the group now). Then next, and next footprint until all are grouped. At that stage I work at much, much bigger area than destination PCB dimensions.
If any group needs to be divided into subgroups I do it the same way for footprints in that group.
I close schematic (I work at one 24" monitor so during 1. and 2. I have dramatically limited view of PCB).
I place GND zone to cover all footprints - it is to hide GND connections as they will be connected by GND layer. In 5.99 I will be doing it differently I think.
In each group I arrange elements seeing their connections in the group. I consider how to place footprints to be able to make all connections only at top. At that stage I place elements next to each other so the group begins to occupy about the size it really needs.
I arrange groups at PCB.
After these points I have first approximation of PCB.
Thanks, Piotr. It looks to me like you think differently! I guess I am thinking about 1 group at a time, and want to work on that group. One thing is that I want to be able to see where a resistor is in the schematic (not just the subcircuit) before placing it. And the netlist will mislead with respect to layout. For example many components might be connected to +5V but that does not mean that you want them placed closely together. Still you mention a different workflow which might be worthwhile.
It is not fully true. I just adopted my thinking to the capabilities of new tool I use (KiCad).
In Protel I was working your way. There, at PCB, I had the command Jump-Component (shortcut: ‘J’,‘C’). So JCC10<enter> jumped my cursor to C10 footprint and I could move it where I want it.
In KiCad I didn’t found any competitive method (I do not consider your method competitive, and I think you agree with me) but I found that having both schematic and pcb opened I can easy see where is in schematic the footprint I move and I think the method I described is even faster than that I was using in Protel - you need not to use any other key except ‘M’.
I have read some posts here that if you divide your schematic into many sheets you can get elements first time placed at PCB grouped according to how you divided them. I don’t know if that works in V5 or will be working in V6 or you need a special plugin because I don’t want to use many sheets. I use smaller symbols than in KiCad library. My schematics fit into one sheet (sometimes very crowded). It only takes one page of the documentation and you see everything there.
In Protel my first actions at PCB were to change GND net lines to be blue and hidden, and VCC (and other power supply nets) to be red (not hidden). Then during first placing I followed only gray lines to find next elements from my group. I left red lines not hidden as they needed to be routed unlike GND which did not required routing.
As I have heard in V6 you will be able to work that way.
If it were somehow workable that I would have a cross probing related mode switch of some sort: When working in my imagined mode, I could click a schematic symbol and hit M, and I would then be moving the pcb footprint with the cursor jumping to it. That would be very effective. So I think it is only my error that is uncompetitive.
I agree that I don’t want to use many sheets. I also have reduced the size of symbols (the pin length is shorter for example). In fact, right now I have never added sheets to a KiCad design and I do not know how to do it. I have read that KiCad is best suited to hierarchal design but that structure does not particularly suit my designs.