Fork me on GitHub

Project Notes

#114 NOR Gate Oscillator

Test a low-speed square wave oscillator using NOR gates.

The Build

Here’s a quick video of the circuit in action:

NORGateOscillator demo


This circuit demonstrates a free-running oscillator based on two NOR gates - using 2/4 of a 74LS02. I got the idea from Beginning Digital Electronics Through Projects which features a NOR gate metronome. The circuit needed a few tweaks to get running with a different NOR IC and supply voltage.

It’s quite an interesting circuit, as you wouldn’t necessarily think that two NOR gates could form a reliable oscillator.

The basic operating principle (as far as I understand it so far):

  • when NOR(1) output is high, NOR(2) input is high and output low, and vice versa
  • the switching of the NOR(1) gate input is delayed by the RC network:
  • when NOR(2) output is low, C1 charges through the R4/R5 series from the NOR(1) high output
  • this raises the voltage on NOR(1) input to such point that the NOR(1) output switches low
  • then with NOR(2) output high, C1 discharges through R3 to the NOR(1) input to such point that the NOR(1) output switches high
  • rinse and repeat

The Arduino is not really a core part of the circuit. It only does the following:

  • provides +5V power supply (for convenience)
  • measures the input and output voltages for plotting

Here’s a sample trace recorded using the PlotNValues sketch. It has four traces, from top to bottom:

  • output of the first OR gate (which I belatedly realised was exactly the same node as the first trace, hence excluded from the schematics)
  • inputs to the first OR gate
  • output of the second OR gate (tapped as the main output)
  • inputs to the second OR gate

processing trace



The Schematic

The Build

Credits and References

About LEAP#114 CMOS/TTLOscillatorsArduino
Project Source on GitHub Project Gallery Return to the LEAP Catalog

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

LEAP is just my personal collection of 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 (IMHO!).

The projects are usually inspired by things found wild on the net, or ideas from the sources such as:

Feel free to borrow liberally, and if you spot any issues do let me know. See the individual projects for credits where due. There are even now a few projects contributed by others - send your own over in a pull request if you would also like to add to this collection.