# 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.

- Calculator id: `timer-555` · Category: Engineering & Automotive (`engineering`) · Tool name: `calculate_555_timer`
- Canonical page: https://tttkmbb.com/engineering/timer-555 · This document: https://tttkmbb.com/engineering/timer-555.md · JSON definition: https://tttkmbb.com/engineering/timer-555.json

## Purpose

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.

**Use when:** 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).

## Input

| Parameter | Type | Unit | Required | Description |
| --- | --- | --- | --- | --- |
| `mode` | enum: astable \| monostable |  | required | Astable needs r1_ohms, r2_ohms and c_microfarads; monostable needs r_ohms and c_microfarads. |
| `r1_ohms` | number | Ω | optional | Astable: resistor between VCC and the discharge pin 7, in ohms (1 kΩ = 1000). The datasheet recommends at least 1 kΩ. (> 0, max 100000000) |
| `r2_ohms` | number | Ω | optional | Astable: resistor between the discharge pin 7 and the threshold/trigger pins 6/2, in ohms. (> 0, max 100000000) |
| `c_microfarads` | number | µF | required | Timing capacitor from pins 6/2 to ground, in microfarads (1 nF = 0.001 µF, 100 nF = 0.1 µF). (> 0, max 1000000) |
| `r_ohms` | number | Ω | optional | Monostable: timing resistor between VCC and pins 6/7, in ohms; if omitted, r1_ohms is used. (> 0, max 100000000) |

## Output

| Field | 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. |

## 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Ω.

## Data Sources

- Texas Instruments – NE555 precision timer datasheet (SLFS022), astable and monostable operation — https://www.ti.com/lit/ds/symlink/ne555.pdf (standard, retrieved 2026-09-24)
- Wikipedia – 555 timer IC — https://en.wikipedia.org/wiki/555_timer_IC (reference, retrieved 2026-09-24)

Data freshness: `static`. Deterministic formula with fixed constants; results never go stale. Inputs supplied by the caller determine the output.

## API

- `GET https://tttkmbb.com/api/v1/calculate/timer-555?mode=…&c_microfarads=…`
- `POST https://tttkmbb.com/api/v1/calculate/timer-555` with JSON body `{"inputs": {…}}`
- Response: unified envelope (`success`, `request`, `result.values`, `result.units`, `sources`, `freshness`, `timestamp`, `next_actions`, `links`); see https://tttkmbb.com/docs/response-format.md
- Schema: https://tttkmbb.com/api/v1/calculators/timer-555 · OpenAPI operationId `calculate_555_timer` in https://tttkmbb.com/openapi.json
- Authentication: none. Rate limit: fair use, see https://tttkmbb.com/docs/rate-limits.md.

## MCP

- Server: `https://tttkmbb.com/mcp` (Streamable HTTP, JSON-RPC 2.0, no auth)
- Tool:  `run_calculator` with `{"calculator_id": "timer-555", "inputs": {…}}`

## Example

- Astable: R1 1 kΩ, R2 10 kΩ, C 10 µF: inputs `{"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: inputs `{"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
```

## Limitations

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). 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Ω. All values are computed from the formula above; no measurement or live data is involved.

## 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

- [RC Time Constant Calculator](https://tttkmbb.com/engineering/rc-time-constant.md) — Charging behaviour of the timing capacitor through a resistor.
- [Op-Amp Gain Calculator](https://tttkmbb.com/engineering/op-amp-gain.md) — Amplify or buffer the 555 output.
- [LC Resonance Calculator](https://tttkmbb.com/engineering/lc-resonance.md) — Alternative LC oscillator frequency.
