Home › Engineering & 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
| Parameter | Type | Unit | Required | Description |
|---|---|---|---|---|
mode | enum: astable | monostable | yes | Astable needs r1_ohms, r2_ohms and c_microfarads; monostable needs r_ohms and c_microfarads. | |
r1_ohms | number | Ω | no | Astable: resistor between VCC and the discharge pin 7, in ohms (1 kΩ = 1000). The datasheet recommends at least 1 kΩ. Range: > 0, ≤ 100000000 |
r2_ohms | number | Ω | no | Astable: resistor between the discharge pin 7 and the threshold/trigger pins 6/2, in ohms. Range: > 0, ≤ 100000000 |
c_microfarads | number | µF | yes | Timing capacitor from pins 6/2 to ground, in microfarads (1 nF = 0.001 µF, 100 nF = 0.1 µF). Range: > 0, ≤ 1000000 |
r_ohms | number | Ω | no | Monostable: timing resistor between VCC and pins 6/7, in ohms; if omitted, r1_ohms is used. Range: > 0, ≤ 100000000 |
Outputs
| Output | Type | Unit | Description |
|---|---|---|---|
frequency_hz | number | Hz | Astable output frequency 1.44 / ((R1 + 2·R2)·C). |
period_s | number | s | Astable period t_high + t_low = 0.693·(R1 + 2·R2)·C. |
time_high_s | number | s | Output-high (charging) time 0.693·(R1 + R2)·C. |
time_low_s | number | s | Output-low (discharging) time 0.693·R2·C. |
duty_cycle_percent | number | % | time_high / (time_high + time_low) × 100; always above 50 % in the basic astable circuit. |
pulse_width_s | number | s | Monostable output pulse duration 1.1·R·C. |
period_text | string | Period (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
- API:
GET https://tttkmbb.com/api/v1/calculate/timer-555(query parameters) orPOSTwith a JSON body{"inputs": {...}} - Schema: https://tttkmbb.com/api/v1/calculators/timer-555 · Markdown: https://tttkmbb.com/engineering/timer-555.md · JSON definition: https://tttkmbb.com/engineering/timer-555.json
- MCP: server
https://tttkmbb.com/mcp, toolrun_calculator with calculator_id="timer-555" - OpenAPI operationId:
calculate_555_timer - Freshness:
static. Authentication: none. Rate limit: fair use (see rate limits).
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
- RC Time Constant Calculator — Charging behaviour of the timing capacitor through a resistor.
- Op-Amp Gain Calculator — Amplify or buffer the 555 output.
- LC Resonance Calculator — Alternative LC oscillator frequency.