Fork me on GitHub

Project Notes

#487 Crystal-locked 1kHz Oscillator

A 4.096MHz crystal oscillator divided by a CD4060, governing a wien-bridge oscillator to produce buffered sine and square wave outputs locked at 1kHz.



This circuit is based upon an article by Michael Harvey in Silicon Chip 2018-12 p80. I’ve made a few changes:

  • modified to work from a single +5V supply (no longer needing +/- 12V in addition to 5V)
  • some component substitutions:
    • TL074 replaces LF347 op-amp
    • J201 replaces MPF102 JFET
  • removed the phase-lock indicator LEDs
    • I’m aligning with an oscilloscope
    • and using the 4th op-amp unit to generate the “half-voltage” virtual ground

Circuit Schematic


Three key changes were required to get this circuit to work well with a single 5V supply:

  • use an op-amp unit to generate/buffer the “half-voltage” virtual ground
  • R11 increased to 3kΩ (from 1kΩ), required to provide enough adjutment headroom to lock-on in phase
  • R10 increased to 68kΩ (from 47kΩ), to reduce the gain of the Wien-bridge oscillator and prevent clippping of the resulting sine wave

The RC filter in the breadboard build is a bit lose, as I substituted 12kΩ resistors for 15kΩ (due to parts availability), so the corner frequency is around 1.326kHz instead of the desired 1.061kHz. It works “well enough” but distorts the sine wave somewhat.

Breadboard Build



Breadboard Test Results

I used an oscilloscope to verify the individual subsystems before integration.

First, the 1kHz pulse generator, nicely locked on to 1.00000kHz:


Next, the free-running Wien-bridge oscillator showing a natural frequency of around 971Hz:


Next, the buffered sine and square wave outputs with the Wien-bridge oscillator running free (not crystal-locked yet):


Finally, crystal-locked and aligned:

  • CH1 (Yellow): crystal-oscillaotr pulse out
  • CH2 (Blue): buffered sine wave out
  • CH3 (Red): buffered square wave out


Protoboard Build

I built the oscillator as a seperate module that plugs into the main circuit but can also be used on a breadboard:

cxo_mod cxo_mod_back cxo_mod_front

Final construction:


Oscilloscope capture of the crystal oscillator, showing

  • CH1 (Yellow): raw 1kHz pulse
  • CH2 (Blue): RC-filter output


Oscilloscope capture of the final build:

  • CH1 (Yellow): raw 1kHz pulse
  • CH2 (Blue): square-wave output
  • CH3 (Red): sine-wave output


Note that the square and sine wave outputs are locked 180 degrees out of phase. Locking without a phase shift seems to require a bit more work to refine the circuit. I’m not sure if that was the design intention of the original circuit, but it works well and the outputs can always be inverted to bring in phase.

Credits and References

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. Two main themes have emerged in recent years, sometimes combined:

  • electronics - 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
  • scale modelling - I caught the bug after deciding to build a Harrier during covid to demonstrate an electronic jet engine simulation. Let the fun begin..
To be honest, I haven't quite figured out if these two interests belong in the same GitHub repo or not. But for now - they are all here!

Projects are often inspired by things found wild on the net, or ideas from the many great electronics and scale modelling podcasts and YouTube channels. Feel free to borrow liberally, and if you spot any issues do let me know (or send a PR!). See the individual projects for credits where due.