Why are the built-in opamp models upside-down?

All of the opamp models supplied with KiCad that I have looked at have the non-inverting input above the inverting input. This goes against the convention I have seen and used for over 50 years. How come?

This is the convention I learned, and it also makes more sense to me, and not only because it is the convention I learned first.

The non inverting (+) in put is drawn on top. If that input has the highest input voltage, then the output goes more positive too. So in this way the form of the symbol is closer related to it’s function.

But the cold hard outside world does not like standards, and in the wild you will see both conventions, and it’s even possible that you see both methods in a single schematic just because it fits better when drawing the schematic. And KiCad can mirror schematic symbols (or a whole selection) too. Just use the X hotkey to mirror in X direction and the Y hotkey to mirror in Y direction.

1 Like

Thanks for the quick answer. I am aware of the mirroring feature, but then the power supply pins are upside-down. I haven’t worked much with electronics in the last 25 years and am taking it up again as a hobby, now that I am retired. Before using KiCad, I have never seen the convention you refer to. All of the manufacturers data sheets and application notes I have seen use the inverting input up (with feedback loop around the top) convention, e.g. this one. However, since I am now using KiCad, and you say that this is a (competing) convention, I guess I will just have to get used to it ;-}

I suggest you browse through a bunch of datasheets, especially with application examples, and you will find that both methods are used, and sometimes even in the same schematic part. The 3-opamp instrumentation amplifier is a common example. That one is almost always drawn with the inverting inputs of both opamps of the first stage close to each other:

image

Also with a generic search for schematics with opamps, you will see both methods used:

So I guess this is a bit unlikely:

It seems more probable you’ve seen it before but just did not realize it. It’s one of the ways in which human minds have a life of their own and play tricks with their owners. :slight_smile:

Take for example the exact datasheet you linked too, of the LF442-MIL

Throughout that datasheet I count 6 pictures of the opamp with it’s non-inverting input on the top.

This is a bit of a nuisance. In KiCad the dual and quad opamps are designed with an extra “Unit” for the power pins, and you can put the power pins on any of the 2 (or 4) other opamps. You could do the same for the single opamps, and then you can mirror the opamp symbol itself independent of the power pins.

1 Like

Thanks for your corrections and helpful advice! I am in fact using a dual opamp (LF442) and have simply applied the TI SPICE model to the KiCad library part TL072, which has the same pinout and features the separate power supply pins you mentioned. Nonetheless, I am trying to get used to doing it your (and KiCad’s) way, instead of continuing to indulge my prejudices ;-}

I do not consider that other convention “superior”, just “slightly more convenient” and turn opamps upside down whenever it fits better in the schematic.

1 Like

If you use OpAmp as inverting amplifier (with (+) grounded) then having (-) above (+) looks good - the (-) is a part of signal path and (+) have short way to GND. When you use it as non inverting then (+) is a part of signal path and feedback (with its connection to GND) looks well under the OpAmp symbol. If it were above OpAmp then you will have to place there the GND symbol or draw long wire to have GND at bottom (both are not what I like).

I have never used KiCad OpAmp symbols but many other symbols (digital ICs) have supply pins as separate part that you can place somewhere else or at the symbol. In such case you can have power pins in independent orientation then + and - inputs.

1 Like

For Op-Amps in KiCad symbol library, both ways exist. Typically, if it is a single op-amp power pins (and compensation/null if extant) are drawn on the op-amp symbol, but if double or quad it is separate.

This is specific for the single opamps and irritated me as well.
I solved it by abusing the “De Morgan” functionality in KiCAD. This gives you two different graphics for the same symbol without bloating the library list.


4 Likes

Thanks for the tip. I had to look up DeMorgan to figure out what you meant.
For the time being, I don’t need to deal with it because I am using a dual opamp and can therefore just flip the individual units.

Best solution I have seen, thank you.

Thanks.
Based on this thread, I created a more general-purpose FAQ on this subject:

3 Likes

Very nice tutorial! Many thanks!

1 Like

I can only agree with that. Unfortunately, I still can’t get it to work that way.


This is what it should look like afterwards. It always looks like this to me.

My pins are mirrored.

I’m not sure of your problem.

Are you creating and saving the box, and everything inside, as a symbol in a personal library?

This is what I get before and after mirroring and rotating.

ksnip_20231106-125723

So, I made a video and wanted to upload it here, unfortunately it was too big.
But I’m not allowed to upload it to YouTube because I’ve exceeded my limit.
Please try to create an icon. I call it the Wago clamp. The terminal should have 5 different pins.
Name, pin number, size ⇒ pin, ⇒ pin number, ⇒ pin name, a circle ⇒ size ⇒ color outside ⇒ color inside
L1, Pin 1, 0.001, 0.001, 0.001, 5mm, Brown, Brown
L2, Pin 2, 0.001, 0.001, 0.001, 5mm, Black, Black
L3, Pin 3, 0.001, 0.001, 0.001, 5 mm, Gray, Gray
N , Pin 4, 0.001, 0.001, 0.001, 5mm, Blue, Blue
Pe, Pin5, 0.001, 0.001, 0.001, 5mm, light green, light green
All variants look the same to me.
wago_klemme.kicad_sym (7.8 KB)

So I finally did it. The solution to the puzzle is to uncheck “Shared by all units of a symbol”.


Result:

I believe that the behavior of copying and pasting a symbol should be reconsidered. When inserting, “Shared by all units of a symbol” should be removed from all elements!
How long I searched to finally get the result I wanted could have been avoided with this option.
Greetings

Correct. I updated the FAQ to address this problem mid-September. You probably only read the older version.
Good that it works now.

I have now created 3 multiple symbols. But it is very annoying to uncheck each symbol over and over again. Should I report it as a bug to GitLab?

I don’t see a bug. That’s just how the libraries are structured.
A part can have multiple units. And each unit can have two symbols. Simple.
But you can be smart about it.
Make the symbol with just one unit and define the alternate (Demorgan) symbol as well.
After that, tell the symbol editor that the part has multiple units.
That should make it easier (copy/paste).