Fork me on GitHub

Project Notes

#248 PierceGateOscillator

Build and test a 4.27 MHz Pierce Gate Oscillator circuit using a 74LS14 schmitt inverter.

Build

Notes

The Pierce oscillator is named for its inventor, George W. Pierce (1872-1956). It is a derivative of the Colpitts oscillator, and can be implemented using a minimum of components, typically: a digital inverter, one resistor, two capacitors, and a quartz crystal.

The term “Pierce Gate Oscillator” generally refers to circuits where the digital inverter is implemented as a CMOS gate (inverter or NOR). This is a very common arrangement, and is used with microcontroller chips to provide the external clock source.

I have a 4.273MHz crystal resonator, and 74LS14 schmitt inverter on hand, so my objective here is to make a Pierce Gate Oscillator with them.

Component Selection - Theory

The Pierce-Gate Crystal Oscillator, an introduction application note provides thorough explaination of the theory.

  • C1, C2, and Rs define the gain of the inverter loop. Gain must be >=1 at the desired frequency
    • reducing C1, C2 Rs produce higher gain
    • reducing Rs produces higher gain

At 4.273MHz, and C1=C2=33pF, Rs should be around 1/2πfC = 1.1kΩ

The feedback resistor Rf is there to linearize the CMOS inverter. For 4.273MHz, an Rf in the order of 1-5MΩ would be expected.

Component Selection - Practice

So I wired that all up on a breadboard .. and no oscillation, even with moderate changes in the component values. I’m blaming the 74LS14, as other examples I’ve seen documented use the better performing 74HC14.

After much experimentation, I was able to get it to perform - but only once I’d reduced the feedback resistor all the way down to 2.2kΩ. At this level, the circuit is operating more like a classic SchmittOscillator, which would have an expected frequency of around 5.7MHz.

However, the crystal is doing its job, locking in the oscillation at the resonant frequency of bang on 4.273MHz.

Here’s a scope trace:

scope

Construction

Breadboard

Schematic

The circuit worked on a breadboard - where I selected component values - then I put on protoboard for a more stable signal:

PierceGateOscillator_protoboard_layout

Under test…

PierceGateOscillator_test

Credits and References

About LEAP#248 OscillatorsCrystal

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