Fork me on GitHub

Project Notes

#184 555Timer/AdjustablePulseGenerator

A widely-adjustable square wave generator using the 555 timer

Notes

This circuit is a variation on the basic 555 timer astable oscillator to allow the widest possible range of frequency and duty cycle adjustment. The circuit is described in many places, and can also be found in kit form.

R1 and R2 are adjustable between 220Ω and 10.22kΩ, and the capacitor can be switched between 1nF, 100nF, 1µF, and 100µF.

So far I’ve just tested this on a breadboard. If/when I can find a nice 4-position switch (for the capacitor selection) I’ll probably put this in a project case.

Frequency/Duty Cycle Ranges

Here are the theoretical minimum (Fmin) and maximum (Fmax) frequencies when duty cycle is adjusted as close to 50% as possible (i.e. when R2 is 10kΩ).

Cap Selection Fmin Fmax
100µF 0.470Hz @ 66.667% 0.697Hz @ 50.532%
1µF 46.967Hz @ 66.667% 69.700Hz @ 50.532%
100nF 469.667Hz @ 66.667% 696.999Hz @ 50.532%
1nF 46.966kHz @ 66.667% 71.216kHz @ 50.532%

Here are the theoretical minimum (Fmin) and maximum (Fmax) frequencies when duty cycle is not constrained (i.e. when R2 is 0kΩ).

Cap Selection Fmin Fmax
100µF 1.351Hz @ 97.936% 21.818Hz @ 66.667%
1µF 135.084Hz @ 97.936% 2.181kHz @ 66.667%
100nF 1.350kHz @ 97.936% 21.818kHz @ 66.667%
1nF 135.084kHz @ 97.936% 2.181MHz @ 66.667%

NB: the rated maximum frequency of the 555 timer is generally 500kHz, so theoretical values above that probably cannot be achieved. In practice, the highest reliable frequencies squeezed out of a 555 are typically in the order of 600-700kHz.

Or more illustratively, we can use wolframalpha to plot the frequency graph (for the case of C=1µF):

frequency_graph

And corresponding duty cycle (unaffected by the capacitor selection):

duty_cycle

Construction

Breadboard

The Schematic

The Build

Credits and References

About LEAP#184 555 TimerOscillators

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