# AVR_PWM Library
[](https://www.ardu-badge.com/AVR_PWM)
[](https://github.com/khoih-prog/AVR_PWM/releases)
[](https://github.com/khoih-prog/AVR_PWM/blob/main/LICENSE)
[](#Contributing)
[](http://github.com/khoih-prog/AVR_PWM/issues)
---
---
## Table of Contents
* [Changelog](#changelog)
* [Releases v1.2.0](#Releases-v120)
* [Releases v1.1.0](#Releases-v110)
* [Releases v1.0.1](#Releases-v101)
* [Initial Releases v1.0.0](#Initial-Releases-v100)
---
---
## Changelog
### Releases v1.2.0
1. Optimize speed with new `setPWM_DCPercentageInt_manual` function to improve speed almost 85% compared to `setPWM_DCPercentage_manual`
2. Add example [PWM_SpeedTest](https://github.com/khoih-prog/AVR_PWM/tree/main/examples/PWM_SpeedTest) to demo the better speed of new `setPWM_DCPercentageInt_manual` function
3. Improve `README.md` so that links can be used in other sites, such as PIO
### Releases v1.1.0
1. Add example [PWM_manual](https://github.com/khoih-prog/AVR_PWM/tree/main/examples/PWM_manual) to demo how to correctly use PWM to generate waveform. Check [About DCValue in setPWM_manual #2](https://github.com/khoih-prog/AVR_PWM/discussions/2)
2. Add function `setPWM_DCPercentage_manual()` to facilitate the setting PWM DC manually by using DCPercentage, instead of absolute DCValue depending on varying PWMPeriod
3. Catch low frequency error and use lowest permissible frequency
### Releases v1.0.1
1. Add example [PWM_StepperControl](https://github.com/khoih-prog/AVR_PWM/examples/PWM_StepperControl) to demo how to control Stepper Motor using PWM. Check [Using PWM to step a stepper driver #16](https://github.com/khoih-prog/RP2040_PWM/issues/16)
### Initial Releases v1.0.0
1. Initial coding to support **AVR boards, such as Mega-2560, UNO, Nano, Leonardo, etc.**, using AVR cores
2. The hardware-based PWM channels can generate very high frequencies.
---
---
## Copyright
Copyright 2022- Khoi Hoang