Need variable frequency oscillator

Thread Starter


Joined Apr 7, 2012
Helloooo Circuit Gurus,

I need to build an oscillator circuit that, when energized, runs about 1hz and slowly speeds up to about 20hz over a half minute or so and continues to run at 20hz until the circuit is turned off and back on again.
None of the parameters are critical

I was thinking about something around an lm555, but can't figure out how it would work.

Would someone here have some suggestions?


- a -


Joined Nov 23, 2012
Lok up voltage controlled oscillator. Then you can control the voltage vey charging a capacitor through a resistor. The "time constant" of a resistor capacitor pair is farads x resistance. You want something that totals about 4 seconds. That way, 5 time constants will be 20 seconds.

Thread Starter


Joined Apr 7, 2012
What is the purpose of this circuit? You could use a microcontroller.
It's part of an art piece. The oscillator will light a series of LEDs in a circle, and I want the circle to 'spin-up' and then visually rotate kind of like the Star Trek warp engine, except around instead of just upward.

The rest of the idea was to use the 555 oscillator to drive a 4033 decade counter. I have one running in astable mode and it works fine, just need to figure out how to make it start at one and stabilize at twenty hertz.

I thought about the MC angle, but would rather keep it simple, as this is the only 'complex' thing in the piece.

- a -


Joined Aug 7, 2008
I put this on a breadboard with good result. An analog coupler, LED 2 & LDR [ light dependent resistor ] controls the frequency of 555 oscillator with period of 1 sec to 50 ms. LED 2 is a red LED facing a Cd-S photo cell in a light tight tube, or is available as a complete unit.
When power is applied, C 1 charges rapidly to about 3 V, where LED 2 just starts to conduct. C 1 then continues to charge to 5 V. U 1, darlington transistor, presents a high impedance to C 1 & low impedance to drive LED 2. R 2 sets 30 sec operating time, R 4, sets 50 ms. period when LED 2 is full bright; & R 5 sets 1 sec period when LED 2 is dark.



Joined Aug 1, 2013
A 4017 easliy gets you a counter and decoding for 10 LEDs, but extending it to more LEDs is messy. Or, a 4-bit counter and a 4 line to 16 line decoder gets you 16 LEDs. The nice thing about the binary approach is that it is relatively easy to extend to more LEDs in increments of 4, 8, or 16.

You can get your variable clock source from a 555, but it will take some fiddling around with component values. Page 9 of the original datasheet shows a pulse position modulator circuit, a sorta-kinda form of FM. With a simple RC circuit on pin 5 (Resistor to ground, resistor and cap in parallel to Vcc), the output freq will vary as the cap charges, then reach a final value and stay there.

A potential problem for both the output frequency and the ramp time is that they both are so slow. Even with a LMC555 CMOS part, circuit and capacitor leakage currents will affect the circuit performance, and vary with temperature. You might want to start with a faster clock freq and divide it down before decoding it.

The 30 second ramp time looks like the bigger problem. For the pin 5 voltage range, a rough guess is a 1 meg resistor and 15 uF cap for 30 seconds in 2 time constants. That's a charging current of 5 uA or less, probably less than the capacitor leakage current. You can adjust for this with different resistor values, but you're on the edge of what the chip can do repeatably. Still, there is no simpler way to do what you want - if it works.