Is there a flip footprints action?

In the Schematic Editor, you can flip a symbol around the X or Y axes by the hotkeys X and Y.

There seems to be no equivalent for the PCB Editor. F moves the selected objects to the other side of the board. This came about when I realised that a board I was developing had the ground rail at the top and the Vcc rail at the bottom. I wanted that flipped (mirrored around X axis), also to match the schematic. Rotate doesn’t do the job because it also changes left-right.

In the end I did a bunch of rotates and moves on individual footprints.

I looked in the drop down menus and Preferences > Hotkeys but found no suitable action. No relevant past posts were found. Did I miss something? I’m on v6.0.9.

1 Like

Mirroring does not work for real life parts. I tworks for very simple parts such as resistors or capacitors, but if you have a footprint for an IC or any asymmetric part then mirroring would result in a faulty footprint that does not work.

What you can do is select the whole pcb, Flip it, and then you could move copper layers.

Some extra ideas:

  • You can set the flip direction (Left / Right or Top / Bottom) in: PCB Editor / Preferences Preferences / PCB Editor / Editing Options
  • If you want to move whole copper layers, it may help to first temporarily enable a few extra layers in the board setup. Then you can for example Move Front to an inner layer, move Bottom to the Front, and then move the inner layer to the Bottom.

Yeah I thought it might have to done with layer operations.

However asymmetric parts can be handled if the flip operation is defined thus:

  • Rotate all parts 180° about the centroid (this could be a problem as reference points are usually pin 1),
  • WLOG, if we are flipping around X, change the sign of Y coordinates of parts around a chosen X axis, say a median line of the extreme Y coordinates of the selected parts. Moving afterwards may be needed.

So it’s not really a true mirror operation, the footprint isn’t mirrored, just rotated and translated. This means that when flipping an IC, a pin that faced left would now face right, as it should. Traces will probably be wrong and have to be redone, but hopefully this is done before routing.

I would find it very weird if a function were introduced into the PCB Editor that would move (and rotate) footprints and tracks and then leave it in a faulty state.

Why not just select the whole PCB and rotate it 180 degrees?

Another way is to just flip the whole PCB, and then change the layer colors. It would mean all parts are insterted from or soldered on the other side, but that is not necessarily a problem.

There is also: PCB Editor / View / Flip Board View, which shows the whole PCB mirrored on your monitor.

I’ve already explained that this changes left-right.

Lots of actions result in broken traces, nothing special about this.

Speaking of which I wish rotate could be done around the centroid as an option instead of the reference point. It would reduce the number of moves required after rotation.

You could change the reference point? :slightly_smiling_face:

I’m a bit of a horror for changing library stuff… ref.points and pin layouts in particular…
it keeps my OCD satisfied :grin:

My obsessiveness doesn’t override my laziness. :wink: It’s far more work to change the reference point of every footprint than to put up with the move after rotate.

Just been messing with 6.99
If you select an area you can mirror around the x or y axis… only problem is the footprints don’t, only the tracks (and probably graphics, but I didn’t try). Makes a big mess.
If you group the selection then try to mirror… computer Kicad says no.

I completely don’t understand your problem.
If the problem is ground at top and VCC at bottom why just change them?
When you edit zone fill you can simply change its layer.

It is very good that KiCad doesn’t allow to mirror footprints.
It happened (previous century) that my wife (not electronic) was designing (her first) PCB. There were 8 current loops on it (all powered! and controlled by one PC COM port) - 4 looking to the left of PCB and 4 to the right. I said that they should be symmetrical in sense that if + at left is toward up than also at right should be toward up (to be the same for the installer). Those time we used current loops to communicate between PC and our access controllers (up to 1200m).
Unfortunately Protel 3 allowed to mirror selection and I didn’t noticed that she did it.
Then we had a couple of PCBs where we had to assemble transistors and transoptors on their back bending their legs to the other side (only in 4 current loops).

The schematic was correct, it was the physical position of the rails that I wanted to swap. Top and bottom along the Y axis, not layer, which I would actually call front and back. Circuits usually don’t work well when you reverse the power rails. :rofl: But I understand your confusion; I’m too lazy to draw a diagram.

If you read further you will understand that it’s not a true mirror action I require.

Edit: Ok, here’s the board I was working on. In an earlier iteration, the bridge rectifier sent the postive voltage to the bottom of the board (along the Y axis) until I realised I wanted it this way:

I have read (may be too fast) all thread before writing but until now I didn’t realized that top and bottom in your post are not layers.
I was using Protel for 20 years where top and bottom are layers and I still think that way. I was so fixed on it that I didn’t even consider the possibility that top and bottom meant something other :slight_smile:

It’s understandable, word meanings are often overloaded in languages.

Now I understand that (even you wrote about flipping and mirroring) what you really wanted was only rotation by 180 deg around footprint center.
If you were using SMD parts (they are even simpler to hand assemble then THT) you will not have a problem with rotating around pin 1 as most SMD parts have their 0,0 point in the middle (as it is used to generate P&P file).

I supposed that what you wanted can be reached by editing in Preferences-PCB Editor- Editing Options the 'Step for rotate commands" parameter from default 90 to 180 but (with surprise) I noticed that values higher then 90 are not accepted there. So you have to use ‘R’ twice.

Yes, but also to reverse Y positions wrt a median line in addition, otherwise rotating a symmetrical part 180° achieves nothing.

The rotation of TH footprints is an annoyance; good that it’s gone with SM footprints.

I work with my own libraries. I have some THT PinHeaders copied from KiCad library with their reference point moved to center (you have to correct 3D also). For example I have 5 pin Header that I place (two of them) symmetrically along the diameter of round PCB. For me it is more logical to place footprint at Y=0 then to place its pin 1 with right distance from Y=0 axes.

See Is there a flip footprints action? - #7 by jmk and my reply. :smiley_cat:

Probably no one (except you) ever needed it.

You certainly should use SMD parts. Hand assembling 0603 is not a problem (since about 15 years I use lamp with magnifying glass to do it).
You will be able to make your things much smaller. Some time ago I designed PCB being a kind of electronic riddle. It is only 14x24mm in size and contains 3 digital ICs (1G serie) and some passive components.

Yeah, I suppose the dev effort, even if it were accepted for implementation, would never be repaid by the time saved by all users. As it was I spent a few minutes swapping the components along the Y axis. Fortunately I hadn’t started routing yet.

And I do. I even get them partly assembled quite cheaply, see Modularnixie | Hackaday.io but that’s neither here nor there for this project.

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