I am having difficulties to draw the following circuit in circuitikz:

Especially when it comes to drawing R1 and R2 branched to op amp.+


  • 9
    Welcome! Please provide the code for the rest of the diagram and please correct your subject line so this question is easier for others to find.
    – cfr
    May 20, 2017 at 2:51
  • 2
    Welcome to TeX.SX! You can have a look at our starter guide to familiarize yourself further with our format. In particular, please add a minimal working example (MWE) of what you have done so far!
    – CarLaTeX
    May 20, 2017 at 6:20

2 Answers 2


The terminals of opamp can be accessed using opamp.+, opamp.- and opamp.out. The network nodes can also be named while drawing the resistors using node option. Then just connecting these named nodes finishes the job.

enter image description here

(1.5,0) node [op amp] (opamp) {}
(-3,-4)node[ground]{} to[sV] ++(0,2) to[R,a=$2\,k\Omega$, l=$R_1$] ++(3,0)node(i1){} to[R,a=$1\,k\Omega$, l=$R_2$] ++(3,0)node(i2){}
(-3,2)node[ground]{} to[R,a=$2\,k\Omega$, l=$R_4$] ++(3,0)node(i3){} to[R,a=$2\,k\Omega$, l=$R_3$] ++(3,0) node(i4){}
(i1.center) to[short,*-] (i1.center|-opamp.+) -- (opamp.+)
(i3.center) to[short,*-] (i3.center|-opamp.-) -- (opamp.-)
(i4.center) to[short,-*] (i4.center|-opamp.out) to[R,a=$1\,k\Omega$, l=$R_5$,-*](i2.center) to[R,european,l=load] ++(0,-2)node[ground]{}
(i4.center|-opamp.out) -- (opamp.out)

a small variation of nice nidhin answer:

  • for units are used siunitx syntax
  • for auxiliary coordinates are used coordinate and not node
  • drawing is different organised

    % drawn from bottom to top
    % lower branch
    \draw  node [ground]{}
            to  [sV]                        ++ (0,2)
            to  [R, a=2<\kilo\ohm>,l=$R_1$] ++ (3,0)    coordinate (n1)
            to  [R, a=1<\kilo\ohm>,l=$R_2$] ++ (3,0)    coordinate (n2)
            to  [R, l=load]                 ++ (0,-2)
           node [ground]{}
    % operational amplifier branch
    (n1)    to  [short,*-]                  ++ (0,1.5)
           node [op amp, anchor=+] (A) {}
    (A.out) to  [short,-*]              (A.out -| n2)
            to  [R, a=1<\kilo\ohm>,l=$R_5$,-*]   (n2)
    (A.-)   to  [short,-*]                  ++ (0,1.5)  coordinate (n3)
    % upper branch
            to  [R, l=2<\kilo\ohm>,a=$R_4$] ++ (-3,0)
           node [ground]{}
    (n3)    to  [R, a=2<\kilo\ohm>,l=$R_3$] ++ (3,0)
            to  (A.out -|n2)

enter image description here

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .