STM32 microcontrollers offer multiple types of timers, each optimized for specific applications such as timekeeping, PWM, input capture, output compare, and encoder interfacing. Here's a comprehensive overview of the STM32 Timer types and their typical use cases:
Image Not Showing
Possible Reasons
- The image was uploaded to a note which you don't have access to
- The note which the image was originally uploaded to has been deleted
Learn More →
1. General-Purpose Timers (TIM2–TIM5, TIM9–TIM14)
Features:
- 16-bit or 32-bit counters
- Up/down counting
- PWM generation
- Input capture / output compare
- Interrupt and DMA support
Applications:
- Generating periodic interrupts (e.g., system tick)
- PWM for motor control or LED dimming
- Measuring input pulse width (e.g., ultrasonic distance sensors)
- Debouncing buttons with timer delay
2. Advanced-Control Timers (TIM1, TIM8)
Features:
- All general-purpose features
- Dead-time insertion
- Complementary outputs (CH1/CH1N, etc.)
- Break and fault inputs
- Designed for motor control (e.g., 3-phase)
Applications:
- Motor control (BLDC, PMSM)
- High-resolution PWM for power electronics
- Inverter control
- Safety-critical applications (with break/lock features)
3. Basic Timers (TIM6, TIM7)
Features:
- Simple 16-bit timers with no input/output channels
- Mainly used for time base generation
- Can trigger DAC or ADC conversions
Applications:
- Time delays or periodic interrupts
- Triggering DACs (e.g., waveform generation)
- Scheduling RTOS tasks
- Software timers for non-critical tasks
4. System Timer (SysTick)
Features:
- 24-bit timer built into the Cortex-M core
- Typically used for OS tick or simple timekeeping
- High-priority interrupt
Applications:
- RTOS tick timer (e.g., FreeRTOS)
- Simple millisecond or microsecond counters
- Delay functions (HAL_Delay())
5. Low-Power Timers (LPTIM1, LPTIM2)
Features:
- Designed for operation in low-power modes (e.g., STOP/SLEEP)
- 16-bit with wake-up capability
- Can be clocked by LSE, LSI
Applications:
- RTC-style low-power timekeeping
- Wake-up timers in sleep mode
- Capacitive touch sensing (via external pulses)
- Energy-efficient PWM
6. Real-Time Clock (RTC)
Features:
- Counts real time (seconds, minutes, etc.)
- Powered by LSE or LSI (low-frequency clock)
- Calendar, alarms, timestamping
- Runs in backup domain
Applications:
- Calendar and timekeeping
- Time-stamped data logging
- Wakeup events from standby or shutdown
- Battery-powered devices
Typical STM32 Timer Use Case Matrix
Image Not Showing
Possible Reasons
- The image was uploaded to a note which you don't have access to
- The note which the image was originally uploaded to has been deleted
Learn More →
Bonus: Using TIM for Quadrature Encoders
General-purpose and advanced timers can be configured for encoder mode:
Used in:
- Rotary encoders for angle/speed detection
- Robotics, CNC, motor feedback