\begin{circuitikz} %Normal sintaxis \draw[color=blue] (0,0) to [lamp, l=Sup-Lg,i_=i] ++(1.5,0) to [lamp, l=Sup-Rg,i=i] ++(1.5,0) to [lamp, l_=Inf-Rg,i=i] ++(1.5,0) to [lamp, l_=Inf-Lg,i=i] ++(1.5,0) to [short] ++(0,2) to [lamp, l=Sup-Lg,i=i] ++(-1.5,0) to [lamp, l=Sup-Rg,i=i] ++(-1.5,0) to [lamp, l_=Inf-Rg,i=i,invert] ++(-1.5,0) %invert command change symbol direction, has no effect in lamp to [lamp, l_=Inf-Lg,i=i] ++(-1.5,0); %Bad sintaxis, that not define a circuit \draw[color=blue] (1.5,-2) to [lamp, l=Sup-Rg,i=i] ++(1.5,0) to [lamp, l_=Inf-Lg,i=i] ++(1.5,0); \draw[color=red] (6,-2) to [lamp, l=Sup-Rg,i=i] ++(-1.5,0); \draw[color=green] (1.5,-2) to [lamp, l_=Inf-Lg,i=i] ++(-1.5,0); %Revision draws \draw[|-|,orange,thick] (1.2,0) -- ++(0,0.55) node[midway,right=-2pt]{\scriptsize 0.55}; \draw[|-|,orange,thick] (3.8,0) -- ++(0,-0.6) node[midway,right=4pt]{\scriptsize 0.6}; \draw[|-|,orange,thick] (1.2,2) -- ++(0,0.6) node[midway,right=-2pt]{\scriptsize 0.6}; \draw[|-|,orange,thick] (5.5,2) -- ++(0,-0.55) node[midway,right=4pt]{\scriptsize 0.55}; \draw[|-|,orange,thick] (1.2,-2) -- ++(0,0.6) node[midway,right=-2pt]{\scriptsize 0.6}; \draw[|-|,blue,thick] (5.5,-2) -- ++(0,-0.55) node[midway,right=4pt]{\scriptsize 0.55}; \draw[->,orange,thick] (.5,-.5) -- ++(2,0) node[midway,below=-2pt]{\scriptsize normal}; \draw[->,orange,thick] (3.5,.5) -- ++(2,0) node[midway,above=-2pt]{\scriptsize normal}; \draw[->,orange,thick] (2.5,-2) -- ++(1,0) node[midway,above=-2pt]{\scriptsize normal}; \draw[<-,orange,thick] (5,-1.5) -- ++(1,0) node[midway,above=-2pt]{\scriptsize reverse}; \draw[<-,orange,thick] (0.5,-2.5) -- ++(1,0) node[midway,below=-2pt]{\scriptsize reverse}; \draw[<-,orange,thick] (0.5,1.5) -- ++(2,0) node[midway,below=-2pt]{\scriptsize reverse}; \draw[<-,orange,thick] (3.5,2.5) -- ++(2,0) node[midway,above=-2pt]{\scriptsize reverse}; %finally with diodes: \draw[color=blue](0,-4) to [D*,l=Sup-Lg,i=i] ++(1.5,0) to [D*,l=Sup-Rg,i=i,invert] ++(1.5,0) % invert has effect, but not in current. to [D*,l_=Inf-Lg,i<=i,invert] ++(1.5,0) % i<, is used to change the current. to [D*,l_=Inf-Lg,i=i] ++(1.5,0); \draw[color=blue](1.5,-6) to [D*,l=Sup-Lg,i=i] ++(1.5,0) to [D*,l_=Inf-Rg,i=i] ++(1.5,0); \draw[color=green](1.5,-6) to [D*,l_=Inf-Lg,i=i] ++(-1.5,0); \draw[color=red](6,-6) to [D*,l=Sup-Lg,i=i] ++(-1.5,0); \end{circuitikz}