Eagle 6.5 Schematic

I want to be able to flip a logic or op-amp symbol (that is, mirror it about the X axis), but I can't find any UI button or menu item to do that, and it's not mentioned in the manual.

Examples: 741 op amp. Places with plus input above the minus input. How do I get the minus input above the plus? I could rotate 180 degrees and mirror, but that move also flips the power and ground pins, which I don't want.

Another example: 74xx125, a buffer with tristate-enable pin. Places with enable on top, and I want it on the bottom. This part does look OK if rotated and mirrored, but that's excessively tedious.

A clue would be very appreciated!

  • 1
    \$\begingroup\$ You could make a copy of the library and edit the symbol. \$\endgroup\$ – sergej Mar 31 '14 at 8:31
  • \$\begingroup\$ @sergej: Yes, one could do that, but given that Eagle can mirror, I assume it can flip, which would be a far faster and less library-bloating solution. \$\endgroup\$ – gwideman Mar 31 '14 at 8:35
  • \$\begingroup\$ With a quick play I can't see how to do this - I think you might have to follow sergej's advice and make a new symbol. \$\endgroup\$ – David Mar 31 '14 at 9:06
  • \$\begingroup\$ For reference, I add this related discussion: "How to rearrange pins on an Eagle schematic" forum.arduino.cc/index.php?topic=65757.0 \$\endgroup\$ – gwideman Apr 1 '14 at 3:24
  • \$\begingroup\$ Also this from Altium Schematic Editor Library doc: "Mode – a component can have up to 255 different display modes. This can be used for things like IEEE component representations, alternate pin arrangements for op-amps, and so on." \$\endgroup\$ – gwideman Apr 1 '14 at 3:36

The new arrangement you're asking for on the opamp is non-chiral to the original. You can not get it by flipping and mirroring. The symmetry of the pins you want to swap is irrelevant in this case. If you want to swap the location of pins you need to edit the symbol. Right click the part in the schematic and click edit symbol. Then click library in the top bar and update all.

You could also move the power and ground pins onto the axis of symmetry of the plus and minus inputs. Then you can flip all you want.

Note that either option will change this part for all schematics that use it. You'll have to make a copy of the part in the library.


For those parts which can be rotated and mirrored and rotated back to achieve the desired orientation you can write a script to make it a command. Here is a very crude, but working, example:

#usage "<b>Vertically Flip Selected Schematic Symbols</b><p>"
       "with parts selected - 'run ulp_file_name' <br><p>"
       "<author>Samuel H.</author>";

string ToDo="";
string New_Command;

if (sheet) 
{ sheet(S) 
 { S.parts(P) 
  { P.instances(I)
   { if (ingroup(I)) 
    { sprintf(New_Command,"ROTATE r90 %s ;",P.name);  
      sprintf(New_Command,"MIRROR %s ;",P.name);  
      sprintf(New_Command,"ROTATE r-90 %s ;",P.name);  


Unfortunately, if the Eagle ULPs can access the structures of selected items directly, I don't know how to do it. This ULP searches each part on the sheet and check if it's in the selected group. If it is, it adds the required operations to a string. That string is executed as a script upon exit. Just select whichever objects you want vertically flipped and run the ULP in the command line or as a hotkey item.

Eagle is quite scriptable, admittedly it's sometimes like wrestling a thoroughly greased bear, but the job can usually be done.

Incidentally you can write a script that will swap pins and save the part as alternate name part in the same, or different, library. It would be greatly simplified if it's the case you pointed out, where one is called '+' and the other is called '-'. That's a greaseless bear kind of problem.

| improve this answer | |
  • \$\begingroup\$ Samuel: "You can get it by flipping..." Did you mean "cannot"? \$\endgroup\$ – gwideman Mar 31 '14 at 23:24
  • \$\begingroup\$ Samuel: You mention "flipping"... where is the flipping command? All I see is "mirror". \$\endgroup\$ – gwideman Mar 31 '14 at 23:29
  • \$\begingroup\$ Samuel: If 'editing the symbol' edits the library that all schematics use, and replaces the original symbol, then that's not the way to go for a symbol variant that I only want in some cases. Does this mean I need an entirely separate library component for this orientation variant? With entirely separate data? Or is there a way to add a variant to an existing component, and select (and change) it as an option on the placed symbol? (Other schematics packages I've used can do the latter.) \$\endgroup\$ – gwideman Mar 31 '14 at 23:31
  • 1
    \$\begingroup\$ @gwideman Yes, you need an alternate part or library. This actually makes sense, if I'm reading a schematic I don't want to have to check that the pins on a symbol are in the same spot as an identical part. It's a bad practice. I'd prefer no symbol surprises to a symmetrically pretty schematic. \$\endgroup\$ – Samuel Mar 31 '14 at 23:40
  • 1
    \$\begingroup\$ @gwideman See edits. There is half of a solution. \$\endgroup\$ – Samuel Apr 1 '14 at 2:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.