A ring oscillator is one of the simplest digital oscillator circuits, built from a loop of inverting logic gates. Despite its basic design, it is widely used in integrated circuits for timing and testing, as well as frequency generation.

In this article, we’ll explore how a ring oscillator works and how its oscillation frequency is determined. We’ll also look at the key factors that influence its behavior in practical circuits.
What’s a Ring Oscillator?
A ring oscillator consists of a cascade of an odd number of inverters (NOT gates). As the name may suggest, they’re connected in a ring fashion, meaning that the output of the last gate is fed back to the first, as shown in Figure 1.

The signal generated by a ring oscillator is often a square wave signal where the voltage level alternates between logic “1” and “0.”
It’s usually used to generate very high frequencies, in excess of MHz, depending on factors such as the number of gates in the cascade, the supply voltage, the temperature, and the characteristics of the gates used.
A ring oscillator is commonly used for on-chip frequency generation because it uses only inverters and requires no external components, especially when a very high-frequency clock signal is called for.
However, because many things can influence the frequency, it’s often not ideal for precise generation. For a better-controlled logic-based oscillator, a relaxation oscillator may be a better choice.
How It Works
As a purely digital oscillator, a ring oscillator operation consists of continuous switching between logic “1” and logic “0.” The circuit also relies on the propagation delay of the logic gates to sustain this oscillation. Let’s look at how this three-gate ring oscillator works step by step.

Suppose that the circuit started with G1’s input at “0.” Because G1 is an inverter, its output switches to logic “1.” However, no logic gates change state instantly. Each gate introduces a small delay known as the propagation delay, denoted tPD.
After this propagation delay has passed and G1’s output fully transitions to logic “1,” G2 responds to the change and switches its output to logic “0.” With its input at “0,” G3 now sets its output to logic “1.”
This “1” logic from G3’s output is fed back to G1’s input, causing the inverse of these processes. The logic states continue to propagate around the loop, repeatedly inverting as they travel through the gates.
As a result, the circuit output continuously alternates between logic “1” and “0,” creating an oscillation and a roughly square wave signal, as shown in Figure 2.2.

Notice that the time it takes for the signal to propagate from G1’s input to G3’s output is equal to the number of gates multiplied by the propagation delay (3 × tPD). In other words, these two values are the main factors in determining the oscillation frequency.
The approximate formula for the oscillation frequency is given as:
$$f \approx \frac{1}{2\text{N}t_{\text{PD}}}$$
Where N is the number of gates, which is always an odd number, and tPD is the gates’ propagation delay. The factor of 2 appears because the signal must propagate around the loop twice to complete a full oscillation cycle.
What’s Propagation Delay?
A propagation delay is the time it takes for a change at the logic gate’s input to appear at its output. It’s typically measured from when the input is at 50% transition to when the output is at 50% transition.
This delay time is usually denoted in the datasheet as “tP” or “tPD.” However, some would distinguish between rising (tPLH) and falling (tPHL) propagation delay. Otherwise, the two values should be roughly the same.
Propagation delay is not to be confused with the transition time (also called rise time or fall time). Transition time represents the duration for the output voltage to switch between logic levels, commonly measured from 10% to 90% or vice versa.
The transition time primarily affects signal shape, as a slower transition speed results in a less clean switch. However, for a ring oscillator, the propagation delay of the gates determines the frequency.
Practical Testing
To see how the ring oscillator will pan out in reality, let’s conduct a few tests. In the following experiments, we’ll be using the 4069 for the CMOS family and the 7404 for the equivalent TTL. Both chips are hex inverters, meaning both contain 6 independent inverters (NOT gates).
We’ll test the circuits on a breadboard with a 5V power supply for both chips. As a bonus, both ICs share the same pinout, which will make testing easier.
3-Stage Ring Oscillator
Let’s start with a 3-stage ring oscillator circuit. Beginning with the CMOS version, we’ll use the HD14069UBP, which is a drop-in replacement for the CD4069UB and MC14069UB. We connected the first three gates into a loop as shown in Figure 6.1. The other three unused gates were shorted to the VDD to minimize noise.

According to the datasheet, the typical propagation delay of the HD14069UBP at 5V is between 45ns and 60ns, with a maximum of about 120ns. Assuming a 60ns delay and a total of 3 gates in a loop, running them through the formula from earlier, we get
$$f \approx \frac{1}{2\times 3 \times 60\text{ns}} \approx 2.77\text{MHz}$$.
Therefore, the approximate output frequency of this circuit is 2.77MHz. To confirm this value, we assembled this circuit on a breadboard, as shown in Figure 6.2.
When testing on a breadboard, we would also add 0.1μF and 100μF decoupling capacitors between the ground and supply. They will reduce the unwanted noise and increase the circuit’s stability.

The measured output frequency is approximately 2.88MHz, which is close to the estimate. In fact, if we reverse the calculation and solve for this particular chip’s propagation delay, the result is approximately 57.87ns.
TTL Version
For the TTL version, we use the SN74LS04N hex inverters. As mentioned earlier, this chip has the same pinout as the HD14069UBP, so we can replace the IC while keeping the other parts the same, especially the power supply, since TTL works best at 5V. The unused gates were also wired to VCC.

The SN74LS04N has a much shorter propagation delay, typically around 5ns to 10ns, as stated in the datasheet. To prove this, we tested the circuit on the same breadboard from earlier, also with the two decoupling capacitors in place. However, this time, we do not see any oscillation in the meter reading.
In practice, the LS TTL and HC CMOS gates may not provide sufficient loop gain in this configuration, especially when combined with stray capacitance and wire inductance introduced by the breadboard. As a result, the circuit stabilizes instead of continuing to oscillate.
However, introducing additional delay into the loop may allow the circuit to oscillate, albeit at a decreased frequency.
Ring Oscillator vs. Relaxation Oscillator
Both ring oscillators and relaxation oscillators are simple and effective on-chip frequency generators. However, despite both using logic gates as their core components, they differ significantly in operation and behavior.
Here is a quick comparison between a ring oscillator and a relaxation oscillator across key notable areas.
Basic operating principle.
- Ring oscillator: Oscillation is produced by signal propagation through a loop containing an odd number of inverting stages.
- Relaxation oscillator: Oscillation is created by charging and discharging a capacitor between logic threshold levels.
Oscillation frequency control.
- Ring oscillator: The output frequency depends on the effective propagation delay and the number of stages in the loop.
- Relaxation oscillator: The output frequency is determined by the RC time constant set by a resistor and a capacitor.
Stability and practicality.
- Ring oscillator: Requires no external component and can easily produce a high-frequency signal, but is sensitive to supply voltage, temperature, and device variations.
- Relaxation oscillator: Requires external RC components (resistor and capacitor), but has a more predictable and easier-to-control operation.
In conclusion, both gate-based oscillators can generate nonsinusoidal signals with varying effectiveness. We just need to choose between them based on our workload requirements.
Want to learn more?
We’ve extended this article on Patreon (19 pages, 2794 words) with extra content, including more detailed notes, different configurations, and how adding a capacitor reduces frequency.
👉 Read the extended ring oscillator article on PatreonExclusive posts on Patreon come free of advertisements and in PDF format with high-definition illustrations. Membership fees will allow us to continue to do what we do without as much reliance on advertisement. Thank you very much.
Hello. I’m Chayapol, but I could also go by Aot. I write and draw illustrations for ElecCircuit.com.
I usually cover articles related to digital electronics, logic, or basic principles or ideas on the site.