Click here to go to the applet.

This java applet is an electronic circuit simulator.  When the applet starts up you will see a simple LRC circuit.  The green color indicates positive voltage.  The gray color indicates ground.  A red color indicates negative voltage.  The moving yellow dots indicate current.

To turn a switch on or off, just click on it.  If you move the mouse over any component of the circuit, you will see a short description of that component and its current state in the lower right corner of the window.  To modify a component (say, to change the resistance of one of the resistors), move the mouse over it, click the right mouse button (or control-click, if you have a Mac) and select “Edit”.

There are three graphs at the bottom of the window; these act like oscilloscopes, each one showing the voltage and current across a particular component.  Voltage is shown in green, and current is shown in yellow.  The current may not be visible if the voltage graph is on top of it.  The peak value of the voltage in the scope window is also shown.  Move the mouse over one of the scope views, and the component it is graphing will be highlighted.  To modify or remove a scope, click the right mouse button over it.  To view a component in the scope, click the right mouse button over the component and select “View in Scope”.

If the simulation is moving too slowly or too quickly, you can adjust the speed with the “Simulation Speed” slider.


The Circuits menu can be used to view some interesting pre-defined circuits. Once a circuit is selected, you may modify it all you want. The choices are:

o      LC Modes(2): Shows both modes of two coupled LC circuits.

o      Weak Coupling.

o      LC Modes(3): Shows all 3 modes of 3 coupled LC circuits.

o      LC Ladder: This circuit is a simple model of a transmission line.  A pulse propagates down the length of the ladder like a wave.  The resistor at the end has a value equal to the characteristic impedance of the ladder (determined by the ratio of L to C), which causes the wave to be absorbed.  A larger resistance or an open circuit will cause the wave to be reflected; a smaller resistance or a short will cause the wave to be reflected negatively.  See the Feynman Lectures 22-6, 7.

To add a new component to the circuit, click the right mouse button on an unused area of the window.  This will bring up a menu that allows you to select what component you want.  Then click where you want the first terminal of the component, and drag to where you want the other terminal.  The menu items allow you to create:

·      wires

·      resistors; you can adjust the resistance after creating the resistor by clicking the right mouse button and selecting “Edit”

·      capacitors; you can adjust the capacitance using “Edit”

·      inductors, switches, transistors, etc.

·      voltage sources, in either 1-terminal or 2-terminal varieties.  The 1-terminal versions use ground as the other terminal.  By clicking the right mouse button and selecting “Edit”, you can modify the voltage and the waveform of the voltage source, changing it to DC, AC (sine wave), square wave, triangle, sawtooth, or pulse.  If it’s not a DC source, you can also change the frequency and the DC offset.

·      op-amps, with power supply limits of –15V and 15V assumed (not shown).  The limits can be adjusted using “Edit”.

·      text labels, which you can modify with the “Edit” dialog

·      scope probes; these have no effect on the circuit, but if you select them and use the right mouse menu item “View in Scope”, you can view the voltage difference between the terminals.

Also in the “Other” submenu, there are some items that allow you to click and drag sections of the circuit around.  Save your work before trying these.

The File menu allows you to import or export circuit description files.  Java security restrictions usually prevent an applet from writing files to a user’s computer.  So instead, when you select the File->Export menu item, the applet brings up a window containing the description file for the circuit, which you can copy and paste into another application.  You can paste the file back into the window later and click Import to load it.

The Reset button resets the circuit to a reasonable state.  The Stopped checkbox allows you to stop the simulation.  The Simulation Speed slider allows you to adjust the speed of the simulation.  If the simulation isn’t time-dependent (that is, if there are no capacitors, inductors, or time-dependent voltage sources), then this won’t have any effect.  The Current Speed slider lets you adjust the speed of the dots, in case the currents are so weak (or strong) that the dots are moving too slowly (or too quickly).

To edit one of the scope views, click the right mouse button on it to view a menu.  The menu items allow you to remove a scope view, speed up or slow down the display, adjust the scale, select what value(s) you want to view, etc.

Here are some errors you might encounter when using the simulator:

·      Voltage source loop with no resistance! – this means one of the voltage sources in your circuit is shorted.  Make sure there is some resistance across every voltage source.

·      Capacitor loop with no resistance! – it’s not allowed to have any current loops containing capacitors but no resistance.  For example, capacitors connected in parallel are not allowed; you must put a resistor in series with them.  Shorted capacitors are allowed.

·      Singular matrix! – this means that your circuit is inconsistent (two different voltage sources connected to each other), or that the voltage at some point is undefined.  It might mean that some component’s terminals are unconnected; for example, if you create an op-amp but haven’t connected anything to it yet, you will get this error. 

·      Convergence failed! – this means the simulator can’t figure out what the state of the circuit should be.  Just click Reset and hopefully that should fix it.  Your circuit might be too complicated, but this happens sometimes even with the examples.

·      Transmission line delay too large! – the transmission line delay is too large compared to the timestep of the simulator, so too much memory would be required.  Make the delay smaller.

·      Need to ground transmission line! – the bottom two wires of a transmission line must always be grounded in this simulator.

Click here to go to the applet.



java@falstad.com