This journey began back in Part 1 with me discussing the theory behind the transistor latch used by Dino at Hack a Week back in August. Next it progressed to recreating Dino’s circuit using components I had on hand in Part 2. Originally, the circuit I built didn’t work at all and I was able to narrow the problem down to leakage current in the base of the transistors. Knowing what I was up against finally, our story concludes as I set out to improve upon the latching circuit.
Figure 3: Transistor Latch Using FETs
Figure 3 shows my first method of improving the transistor latch, losing the BJTs all together. Since the 2N3904s and 2N3906s were drawing too much leakage current in the first place and setting off the latch randomly I decide they had to go. What type of transistor could I use instead of a BJT that draws little to no leakage current? Why a MOSFET of course. The gate leakage current of the only FETs I had on hand, the ALD1103 transistor array, was spec’d between 1 and 50pA, orders of magnitude less than the BJTs used before. Surely such a small current wouldn’t cause the latch to turn on when it wasn’t supposed to. After breadboarding the revised circuit using the ALD1103 I found that the circuit was much more consistent in its operation. The only real changes to the circuit I had to make were the addition of bypass caps on the supply (not shown above, sorry) and tweaking the value of R8 (boxed in blue above) to 39kΩ. While the latch worked well enough keeping R8 at 1MΩ I found that lowering its value caused many less false triggers.
Now that I had a functioning latch finally I decided to challenge myself. I wanted to see if I could go back and make a working latch using the “inferior” BJTs. There were a few ideas floating around in my head on how to go about doing such a thing and Figure 4 below gives my best solution. Since the base leakage current from Q3 through the 1MΩ resistor was causing most, if not all, of my problems the first time around my focus was now to minimize the effect that leakage could have on the overall operation of the circuit.
Figure 4: Improved Latch Using BJTs
Looking at Figure 4, one can see that R8 has been replaced with a fourth BJT. Q3 and Q4 (boxed in orange above) form what’s called a simple current mirror (or current source depending on how you want to look at things but I digress) with Q4 configured as a diode connected transistor. Note that when adding the simple current mirror to the latch the diode connected transistor MUST be located where Q4 is in the circuit. With the diode connection Q4 acts like a standard diode with its anode at 9V meaning that at least in this application, it always looks forward biased. Diode connecting Q3 instead gives a constant path for current to flow from 9V to ground (via diode connected Q3, R4, and R5) and so the circuit will never turn off. In an IC this would mean that a start up circuit would be unnecessary (typically a good thing) but in the case of the latch that’s exactly the opposite of what we want. Placing the diode connection on Q4 means that even though it looks forward biased, current doesn’t flow through that branch of the bias network since the collector of Q1 would float high as Q1 itself is turned off.
Powering up this new circuit showed great improvement over my previous attempts to build a latch using BJTs. Most of the time the latch was only triggering when I toggled the pushbutton. With the main leakage problem taken care of I then began to look at Q1. Ignoring R6 for a moment, Q1 looked an awful lot like how Q3 was configured with the 1MΩ resistor back in Figure 1 which had me thinking about leakage through this transistor. Reducing the resistance of R5 down to 56kΩ (via trial and error) further improved the circuit’s reliability and I hardly ever saw a false trigger when testing the circuit. I briefly toyed with the idea of adding a current mirror to the bottom half of the bias network which would remove R5 and R6 and add a fifth transistor but decided against it as I wasn’t quite sure if I could maintain reliable operation by doing so. Instead, I called it a day, happy that I had successfully challenged myself to build a better circuit.
As a final helpful hint to anyone looking to build this circuit, pay careful attention to how you layout the latch on your breadboard. Keep your jumpers wires and component leads as short as possible to avoid accidental shorts and reduce any coupling between nodes that may take place. Even though my improved designs functioned much better than the original they still were sensitive to disturbances on their nodes. While testing the circuit in Figure 4 I rarely, if ever, experienced false triggers when simply pressing the pushbutton after I applied power but probing a node with my multimeter would often be enough to trip the latch and have it turn on. Other than that, good luck!