Device Control

his library enables you to use Hardware-based PWM channels on RP2040-based boards, such as Nano_RP2040_Connect, RASPBERRY_PI_PICO, with either Arduino-mbed (mbed_nano or mbed_rp2040) or arduino-pico core to create and output PWM to any GPIO pin.
TThe most important feature is they're purely hardware-based PWM channels, supporting very high PWM frequencies. Therefore, their executions are not blocked by bad-behaving functions or tasks. This important feature is absolutely necessary for mission-critical tasks. These hardware-based PWMs, still work even if other software functions are blocking. Moreover, they are much more precise (certainly depending on clock frequency accuracy) than other software-based PWM using ISR, millis() or micros(). That's necessary if you need to control devices requiring high precision

Author: Khoi Hoang

Maintainer: Khoi Hoang

Read the documentation


This library is compatible with the mbed, mbed_nano, ArduinoCore-mbed, rp2040, mbed_rp2040 architectures so you should be able to use it on the following Arduino boards:


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