
Machines
Watch current move through a circuit that re-solves itself constantly
Falstad's Circuit Simulator animates real electronics in the browser, yellow dots for current, live scope traces, re-solving the whole circuit every few microseconds.
The page opens on a circuit that is already running. Yellow dots crawl along the wires, the wires glow green where the voltage is positive, and three little oscilloscopes at the bottom trace the voltage and current rising and falling in real time.
This is the Falstad Circuit Simulator, and it is the tool an entire generation learned electronics from. Paul Falstad wrote the original as a Java applet back in the plugin era; the earliest Wayback Machine capture of falstad.com dates to February 2001, and an exact launch year for the circuit applet is the one number I went looking for and could not find. The default circuit is a live LRC loop with the current visibly sloshing between the inductor and the capacitor.
Java in, JavaScript out
The port is my favorite part of the build. Rather than rewrite the applet when browsers killed Java, Iain Sharp ran its source through GWT, Google's Java-to-JavaScript compiler, so the simulator in your tab is still Falstad's original Java, machine-translated and plugin-free. Falstad maintains that repo himself, GPL-licensed, at 2,300 GitHub stars.
Here is what those dots cost to compute. Electronics is not something
you can animate by eye, so every timestep the simulator writes the
whole circuit out as a matrix of how each node connects to the others
and solves it by nodal analysis, the same linear algebra a real SPICE
tool uses. The source is charmingly literal about it: components
install themselves through methods named stampResistor,
stampConductance and stampVoltageSource, and the finished matrix
goes through a sparse LU solver.
Anything nonlinear, a diode or a transistor, will not sit still inside a linear matrix. So it gets linearized around a guess, solved, re-linearized and solved again until the numbers stop moving, and the engine will grind through thousands of those sub-iterations before it gives up and stops with a convergence error. When a step will not settle it halves the timestep and retries; after three clean solves it eases back up. The default circuit steps five microseconds at a time, the value 0.000005 written right in its circuit file, and the dots you see are those solutions, redrawn thousands of times a second.
The gift of it is that you can grab any component and change it while it runs. Drag the resistance down and watch the oscillation take longer to die. Nothing recompiles or restarts. The matrix is simply restamped around your change, mid-flight.
The library goes deeper than the menu suggests: 373 example circuit files ship with the source, from a single diode through op-amp designs up to full digital logic. If wiring gates sounds better than dragging resistors, there is a puzzle game that walks you from one NAND gate to a working CPU.
When you want to build rather than browse, the directions pages cover the editor, the scopes, and importing and exporting circuits as text, the same format those 373 examples use.
More machinery you get to poke while it works: a mechanical watch you take apart gear by gear.

Next up
Scroll to the bottom of the sea