HomeEngineering & Automotive › 555 Timer Calculator

555 Timer Calculator

Computes the output frequency, period, high and low times and duty cycle of a 555 timer in astable (oscillator) mode from R1, R2 and C, or the pulse width of the monostable (one-shot) mode from R and C, using the equations of the NE555 datasheet.

When to use

You are choosing resistor and capacitor values for a 555 oscillator, LED blinker, PWM source or one-shot pulse and need the resulting frequency, duty cycle or pulse duration.

Do not use when: The circuit uses a diode across R2 or a separate control-voltage input (different timing), a CMOS 555 at very high frequency where propagation delay matters, or you need an RC filter or charging time (use rc-time-constant).

Formula

C = c_microfarads × 1e-6; astable: frequency_hz = 1.44 / ((r1_ohms + 2·r2_ohms)·C), time_high_s = 0.693·(r1_ohms + r2_ohms)·C, time_low_s = 0.693·r2_ohms·C, period_s = time_high_s + time_low_s, duty_cycle_percent = time_high_s / period_s × 100; monostable: pulse_width_s = 1.1·r_ohms·C

Datasheet equations for the bipolar NE555 with the threshold at 2/3 VCC and trigger at 1/3 VCC (0.693 = ln 2; the frequency constant 1.44 is the datasheet's rounding of 1/0.693, so frequency × period differs from 1 by about 0.2 %). Real timing deviates by a few percent because of capacitor tolerance, leakage and the 555's internal delays; C should be at least about 1 nF and R1 at least 1 kΩ.

Inputs

ParameterTypeUnitRequiredDescription
modeenum: astable | monostableyesAstable needs r1_ohms, r2_ohms and c_microfarads; monostable needs r_ohms and c_microfarads.
r1_ohmsnumberΩnoAstable: resistor between VCC and the discharge pin 7, in ohms (1 kΩ = 1000). The datasheet recommends at least 1 kΩ. Range: > 0, ≤ 100000000
r2_ohmsnumberΩnoAstable: resistor between the discharge pin 7 and the threshold/trigger pins 6/2, in ohms. Range: > 0, ≤ 100000000
c_microfaradsnumberµFyesTiming capacitor from pins 6/2 to ground, in microfarads (1 nF = 0.001 µF, 100 nF = 0.1 µF). Range: > 0, ≤ 1000000
r_ohmsnumberΩnoMonostable: timing resistor between VCC and pins 6/7, in ohms; if omitted, r1_ohms is used. Range: > 0, ≤ 100000000

Outputs

OutputTypeUnitDescription
frequency_hznumberHzAstable output frequency 1.44 / ((R1 + 2·R2)·C).
period_snumbersAstable period t_high + t_low = 0.693·(R1 + 2·R2)·C.
time_high_snumbersOutput-high (charging) time 0.693·(R1 + R2)·C.
time_low_snumbersOutput-low (discharging) time 0.693·R2·C.
duty_cycle_percentnumber%time_high / (time_high + time_low) × 100; always above 50 % in the basic astable circuit.
pulse_width_snumbersMonostable output pulse duration 1.1·R·C.
period_textstringPeriod (astable) or pulse width (monostable) with an SI prefix, e.g. 145.5 ms.

Example

Astable: R1 1 kΩ, R2 10 kΩ, C 10 µF: {"mode":"astable","r1_ohms":1000,"r2_ohms":10000,"c_microfarads":10}{"frequency_hz":6.8571,"period_s":0.14553,"time_high_s":0.07623,"time_low_s":0.0693,"duty_cycle_percent":52.38,"period_text":"145.5 ms"}

Monostable: R 100 kΩ, C 10 µF: {"mode":"monostable","r_ohms":100000,"c_microfarads":10}{"pulse_width_s":1.1,"period_text":"1.1 s"}

GET https://tttkmbb.com/api/v1/calculate/timer-555?mode=astable&r1_ohms=1000&r2_ohms=10000&c_microfarads=10

Machine access

Sources

FAQ

How do I get a 50 % duty cycle?

The basic astable always exceeds 50 % because C charges through R1 + R2 but discharges through R2 only; make R2 much larger than R1 to approach 50 %, or add a diode across R2 so the high time becomes 0.693·R1·C.

Why does frequency × period not equal exactly 1?

The datasheet rounds 1/ln 2 = 1.443 to 1.44 in the frequency formula while the high and low times use 0.693; both are reported as published, and the 0.2 % difference is far below component tolerances.

What component ranges are practical?

Keep R1 ≥ 1 kΩ (discharge-transistor current), R1 + R2 ≤ about 3.3 MΩ (bipolar 555 bias current) and C ≥ about 1 nF; the bipolar NE555 works to roughly 500 kHz, CMOS versions to a few MHz.

Related calculators