A bistable circuit is any circuit that has two stable states. With digital electronics, we use bistable circuits for designing memory cells (which can store a 1 or a 0: be ‘on’ or ‘off’), and for developing counters (which store the current count but can be incremented or decremented).
A bistable circuit can be constructed using two transistors. Recall how our NOT gate worked: when the input is turned on, the output is turned off–and visa-versa. If we were to put two NOT gates together, they would inherently be stable in one of two modes:
Now recall that we can construct a NOT gate using a single transistor. This gives us our first bistable transistor circuit:
Notice we’ve added two switches, one on each input to each transistor. This allows us to force that transistor on–which will change the state of the other transistor to off. The state remains stable after we stop pressing the button.
If we were to wire up two LEDs to the transistors, to see which one is “on” and which one is “off”:
We now have a way to demonstrate the properties of a simple two-transistor bistable circuit. (Okay, there are four transistors here–but two of them are used to drive the LEDs, and aren’t actually part of our bistable circuit.)
Of course if we want our circuit to operate as a digital logic gate that can take inputs from other logic gates, we can’t use a switch to force the input to our transistors to high. Instead, we need to be a little more clever about how we wire up our transistors. That’s where the basic SR latch comes into play, and from that basic SR latch we can build a number of other interesting latches, including D-latches, JK latches, and progress to counters which can count in binary.
But at its core, the bistable circuit is the fundamental building block of any of our components which require storing and updating state in our system.