SoftPWM

Signal Input/Output

A software library to produce a 50 percent duty cycle PWM signal on arbitrary pins.
A Wiring Framework (and Arduino) Library, for Atmel AVR8 bit series microcontrollers and Teensy 3.x, to produce PWM signals on any arbitrary pin. It was originally designed for controlling the brightness of LEDs, but could be adapted to control servos and other low frequency PWM controlled devices as well. It uses a single hardware timer (Timer 2) on an Atmel AVR 8 bit microcontroller (or IntervalTimer on Teensy 3.x) to generate up to 20 PWM channels (your mileage may vary). Issues or questions: https://github.com/bhagman/SoftPWM/issues

Author: Brett Hagman

Maintainer: Brett Hagman

Read the documentation

Compatibility

This library is compatible with the avr, arm architectures so you should be able to use it on the following Arduino boards:

Compatibility Note

Note: while the library is supposed to compile correctly on these architectures, it might require specific hardware features that may be available only on some boards.

Releases

To use this library, open the Library Manager in the Arduino IDE and install it from there.