Fork me on GitHub

Project Notes

#761 Inverter-based Push Button Latch

A latching pushbutton circuit using a CMOS inverter (CD4069).

Build

Here’s a quick demo..

clip

Notes

Latching push-button circuits are useful in any situation where one needs to toggle an electronic circuit between two states based on a pushbutton input.

There are many ways to achieve this. In the past I have covered:

  • a 555 Timer based circuit, see LEAP#692
  • an Arduino based solution, see LEAP#004

A discussions with steveschnepp introduced me to an inverter-based solution. It has a number of benefits:

  • very low quiescent power usage (<=1mA at 3V)
  • cheap BoM (compared to an Arduino)

Circuit Design

The basic concept is to use a push-button to toggle a chain of inverters, where different stages of the inverter provide the “on” and “off” states.

To ensure the pushbutton provides a stable, de-bounced input:

  • R3 ensures the input to the inverter is pulled high or low to match the current Q output
  • SW will be “charged” to “high” via R5,R6,C2
  • when pressed, SW1 will generate a pulse via the C1, R4 differentiator

The circuit and resistor values are scaled to work well between 3V and 9V. It could be used at higher voltages, but some values (like LED resistors) should be reviewed.

Note:

  • unused inverter circuits are pulled low to a definite state (tbh, I can’t remember whether the CD4069 needs this care and attention to void oscillating states, but there is no harm doing it)
  • this circuit does not need a specific inverter chip, or Schmitt trigger inputs. I just used the CD4069 because I had one on hand.

bb

schematic

bb_build

Credits and References

About LEAP#761 CMOS/TTL

This page is a web-friendly rendering of my project notes shared in the LEAP GitHub repository.

Project Source on GitHub Return to the LEAP Catalog
About LEAP

LEAP is my personal collection of electronics projects - usually involving an Arduino or other microprocessor in one way or another. Some are full-blown projects, while many are trivial breadboard experiments, intended to learn and explore something interesting.

Projects are often inspired by things found wild on the net, or ideas from the many great electronics podcasts and YouTube channels. Feel free to borrow liberally, and if you spot any issues do let me know or send a pull-request.

NOTE: For a while I included various scale modelling projects here too, but I've now split them off into a new repository: check out LittleModelArt if you are looking for these projects.

Project Gallery view the projects as an image gallery Notebook reference materials and other notes Follow the Blog follow projects and notes as they are published in your favourite feed reader