# Review – CD4047 Astable/Monostable Multivibrator

Today we are going to examine an older but still highly useful integrated circuit – the 4047 Astable/Monostable multivibrator:

My reason for doing this is to demonstrate another way to create a square-wave output for digital circuits (astable mode) and also generate single pulses (monostable mode). Sometimes one can get carried away with using a microcontroller by default – and forget that there often can be simpler and much cheaper ways of doing things. And finally, the two can often work together to solve a problem.

What is a multivibrator? In electronics terms this means more than one vibrator. It creates an electrical signal that changes state on a regular basis (astable) or on demand (monostable). You may recall creating monostable and astable timers using the 555 timer described in an earlier article. One of the benefits of the 4047 is being able to do so as well, but with fewer external components. Here is the pinout diagram for a 4047 (from the Fairchild data sheet):

Note that there are three outputs, Q, Q and OSC out. Q is the normal output, Q is the inverse of Q – that is if Q is high, Q is low – at the same frequency. OSC output provides a signal that is very close to twice the frequency of Q. We will consider the other pins as we go along. In the following small video, we have LEDs connected to all three outputs – you can see how Q and Q alternate, and the increased frequency of OSC out:

That was an example of the astable mode.  The circuit used is shown below. The only drawback of using a 4047 is that you cannot alter the duty cycle of your astable output – it will always be 50% high and 50% low. The oscillator output is not guaranteed to have a 50% duty cycle, but comes close. The time period (and therefore the frequency) is determined by two components – R1 and the capacitor:

[Quick update – in the schematic below, also connect 4047 pin 14 to +5V]

The values for R2~R4 are 560 ohms, for the LEDs. R1 and the capacitor form an RC circuit, which controls the oscillation frequency. How can we calculate the frequency? The data sheet tells us that time (period of time the oscillator is ‘high’) is equal to 4.4 multiplied by the value of R1 and the capacitor. As the duty cycle is always 50%, we double this value, then divide the result into one. In other words:

And as the frequency from the OSC out pin is twice that of Q or Q, the formula for the OSC out frequency is:

However the most useful formula would allow you to work with the values of R and C to use for a desired frequency f:

When calculating your values, remember that you need to work with whole units, such as Farads and Ohms- not microfarads, mega-ohms, etc. This chart of SI prefixes may be useful for conversions.

The only thing to take note of is the tolerance of your resistor and capacitor. If you require a certain, exact frequency try to use some low-tolerance capacitors, or replace the resistor with a trimpot of a value just over your required resistor value. Then you can make adjustments and measure the result with a frequency counter. For example, when using a value of 0.1uF for C and 15 k ohm for R, the theoretical frequency is 151.51 Hz; however in practice this resulted with a frequency of 144.78 Hz.

Don’t forget that the duty cycle is not guaranteed to be 50% from the OSC out pin. This is shown in the following demonstration video. We measure the frequency from all three output pins, then measure the duty cycle from the same pins:

(The auto-ranging on that multimeter is somewhat annoying).

Now for some more more explanation about the 4047. You can activate the oscillations in two ways, via a high signal into pin 5 (pin 4 must then be low) or via a low signal into pin 4 (and pin 5 must be low). Setting pin 9 high will reset the oscillator, so Q is low and Q is high.

The monostable mode is also simple to create and activate. I have not made a video clip of monstable operation, as this would only comprise of staring at an LED. However, here is an example circuit with two buttons added, one to trigger the pulse (or start it), and another to reset the timer (cancel any pulse and start again):

[Quick update – in the schematic below, also connect 4047 pin 14 to +5V]

The following formula is used to calculate the duration of the pulse time:

Where time is in seconds, R is Ohms, and C is Farads. Once again, the OSC output pin also has a modified output – it’s time period will be 1.2RC.

To conclude, the 4047 offers a simple and cheap way to generate a 50% duty cycle  square wave or use as a monostable timer. The cost is low and the part is easy to source. As always, avoid the risk of counterfeit ICs and get yours from a reputable distributor. Living in Australia, mine came from element-14. Thanks to Fairchild Semiconductor for product information from their 4047 data sheet.

Have fun and keep checking into tronixstuff.com. Why not follow things on twitterGoogle+, subscribe  for email updates or RSS using the links on the right-hand column, or join our Google Group – dedicated to the projects and related items on this website. Sign up – it’s free, helpful to each other –  and we can all learn something.

The following two tabs change content below.

#### John Boxall

Person. Founder and original author for tronixstuff.com. VK3FJBX

## 41 thoughts on “Review – CD4047 Astable/Monostable Multivibrator”

1. Noel Ramakers

Hi John,
I am trying to use the 4047 to make a dc-dc converter. I need 200v dc for a tube radio project.
As the radio will be used in my ’49 chevrolet I want to put it on a 6.5volt battery.
Now i want to drive some FDP6035AL mosfet’s, But what resistors do i use? For R2 (pin10) and R3 (pin11)
They need to be as small as posible as they push up the on and off delay.
I have the circuit running with led’s on a 110Hz frequency (as the original mechanical vibrator)
Best regards Noel.

1. John Boxall

Hi Noel
Thanks for your question. Unfortunately due to liability issues I cannot answer questions that involve helping generate high voltages or currents. I know it sounds a bit weak but due to the litigious nature of some people the only option is to not help. I am sure you will understand.
Cheers
John

2. Paul

Hi is possible generate frequency with cd4047 of 1 MHz or more? What is the maximum rate possible with this circuit? i need multivibrator with high frecuency.

3. amro hassan

hey
i made this circuit using 4047 and put to leds on the pin 10 & 11
but the problem now that i see the two leds works on the same time 🙁
i use variable resistor 200K and capacitor of 0.1n
tell me what’s the problem pls
thanx !!!

1. John Boxall

The frequency is too high, so your LEDs are blinking too quickly. Put a frequency counter on it and measure the frequency. Using f = 1/(8.8RC), you have 1/(8.8 x 200000 x 0.0000000001) which gives 5681.818 Hz.

1. amro hassan

Thanx So Much…
I Expected That but
exuse me can u give me the best value of these components that u used in your circuit ???
Thank You so much Mr John…

4. amro hassan

thanx 4 ur answer Mr John
But excuse me could u tell me how did u get the relation that the f=1/8.8RC ???
is that from data sheet or what ?
Because my teacher told me that’s 1/4.4RC from pin 10 or 11 🙁
Thanx My Sir
Sincerly,,,

1. John Boxall

The data sheet tells us that time (period of time the oscillator is ‘high’) is equal to 4.4 multiplied by the value of R1 and the capacitor. As the duty cycle is always 50%, we double this value, then divide the result into one. In other words f=1/(8.8RC) for pins 10 and 11. Output from pin 13 is twice as fast, so it is f=1/(4.4RC).

5. Manov

Hello John, Hope you are well. I am trying to run a BLDC HDD motor for my boat i made. I went out to get chip 4017B. but the guy had only 4047. I need a sequence of 100/ 010/001 and repeat the cycle.. I also have a 555 timer. I am have been trying to find DIY drivers for my bldc 3 phase motor, I have been unable to. will you please help me. Thank you.

6. BJ

Hi John, Great website with a lot of information. Query with regards to false triggering of the CD4047 multivibrator; do you have any inputs on that? I have a circuit that uses the CD4047 and is activated on a low / negative going pulse but as soon as I release that pulse I still get an output from the vibrator, which I should not as my input is an active low. Not sure if my pullup on T- is wired correctly? Appreciate any help or inputs. Thanks

7. Jarix

Hi John!
Is do possible get from this astable multivibrator example “on” time is about 15-17 sec. and “off” time 1sec, and all same again and again with stablie???????

1. John Boxall

no – “The only drawback of using a 4047 is that you cannot alter the duty cycle of your astable output – it will always be 50% high and 50% low”
You might want to use a microcontroller instead.

8. RicoElectrico

“As always, avoid the risk of counterfeit ICs and get yours from a reputable distributor. Living in Australia, mine came from element-14.”
I don’t know how one can forge generic parts such as 4000 series. Stop disseminating FUD to newbies, you blatant advertiser 😛

9. punyata gayatri (@punyata)

Can you tell me how to find alternate for monostable multivibrator?

Q: CD4538BCMX is obsolete and I’ve to find an alternate?How to solve?

10. Andrew McNeill

I wish to create a device that will output 5v if a wheel is staionary and 0v if it is moving.

I currently have toothed wheel and optical encoder that outputs a square which at the moment is used by a motorcontroller as a speed reference.

Would I be able to use this chip as an astable multivibrator for this purpose. I need it to be triggerable and edge trigged (on either edge)

I have been using a 555 timer but have not been able to retrigger. At the moment it outputs 5v if imput has read 0v for more than 1 sec, but sometimes the wheel is stationary and the tooth stops in teh encoder. This then gives me a 5v input which continues to give me 0v.

11. Electronics Forums

Hello there! I simply would like to give you a huge thumbs up for your excellent info you have here on this post. I am coming back to your web site for more soon.

12. Arkam

i have astable mode circuit. I want the frequensy outputs of cd4047 is 500 Hz. can you help me, how to calculate value of R and C in the circuit?
thanks

1. John Boxall Post author

Using the formula in the tutorial, RC = 1/8.8f. R is resistance in Ohms, C is capacitance in farads, f is frequency in Hz. So R = 1*/(8.8Cf) or C = 1/(808Rf).

This site uses Akismet to reduce spam. Learn how your comment data is processed.