← Back to Calculators
⬛ PWM Duty Cycle Calculator
Frequency · Period · On/Off Time · Average Voltage · Live Waveform · Arduino & ESP32 Presets
From Frequency
From Period
Timer Registers
PWM Parameters
Frequency
Unit
Hz
kHz
MHz
Supply Voltage (V)
Duty Cycle
50%
Frequency
—
Period (T)
—
On-Time (t
on
)
—
Off-Time (t
off
)
—
Avg Voltage
—
Resolution (8-bit)
256 steps
Average Voltage
2.50 V
T = 1/f
|
t
on
= D × T
|
t
off
= T − t
on
V
avg
= D × V
s
(D = duty cycle 0–1)
D = 50% → V
avg
= V
s
/2 | D = 100% → V
avg
= V
s
From Period
Period (T)
Unit
s
ms
µs
ns
Supply Voltage (V)
Duty Cycle
50%
Frequency
—
Period
—
On-Time
—
Off-Time
—
Avg Voltage
—
MCU Timer Register Calculator
CPU Clock (MHz)
Prescaler
1
8
64
256
1024
Timer Resolution
8-bit (0–255)
9-bit (0–511)
10-bit (0–1023)
16-bit (0–65535)
Duty (OCR value)
PWM Frequency
—
Period
—
Duty Cycle
—
Timer Tick
—
f
PWM
= f
CPU
/ (Prescaler × Resolution)
Duty = OCR / (Resolution − 1) × 100%
Arduino Uno (16MHz, pre=8, 8-bit) → f = 7.8 kHz
⚡ Quick MCU Presets
Arduino Uno
16MHz · 8-bit
ESP32
240MHz · 10-bit
ESP8266
80MHz · 10-bit
STM32
48MHz · 16-bit
ATtiny85
16MHz · 8-bit
RP2040
133MHz · 16-bit
〜 Live PWM Waveform
⬜
ON
= High pulse
⬛
OFF
= Low
—
Avg voltage
Common PWM Frequencies:
Motor speed control:
1–20 kHz
LED dimming:
200 Hz – 2 kHz
(avoid flicker)
Servo control:
50 Hz
(20ms period, 1–2ms pulse)
Audio class-D amp:
200–500 kHz
SMPS / Buck converter:
50–500 kHz