-
-
Notifications
You must be signed in to change notification settings - Fork 186
Raspberry Pi 5 PWM
Awawa edited this page Jan 9, 2026
·
12 revisions
The Raspberry Pi 5 can use its RP1/PIO controller to control Neopixel LEDs, such as WS2812B RGB or SK6812 RGBW, using GPIO. You should still use a 3.3V to 5V level shifter to be fully compliant with the specifications of these LEDs.
1 Requires root! Works only for Raspberry Pi 5 or newer if equipped with RP1 controller.
2 Must define LED strip in the overlay first!
- For example:
echo "dtoverlay=ws2812-pio,gpio=18,num_leds=30,rgbw" | sudo tee -a /boot/firmware/config.txtor edit/boot/firmware/config.txtmanually - Adjust
num_leds: total number of LEDs, must be configured the same in HyperHDR - Adjust
rgbwonly for sk6812 RGBW, otherwise remove it - After editing /boot/firmware/config.txt restart is required
- If you configure everything correctly, you should see the /dev/leds0 device in dmesg log
Warning
Requires fixed ws2812 PIO kernel module: https://github.com/raspberrypi/linux/issues/7108
As for 2025-10-29 you need to switch Trixie kernel to testing kernel version and reboot:
sudo rpi-update beb2783757e6aa6c4abe4187dc74da4ce2f451fc
It will be included in the next RPi OS release for kernel > 6.12.55
Testing setup:
Results of testing using fixed kernel module:

- Getting started. Needed components
- Software installation
- Configurations
- Quick start
- Video source LUT calibration
- P010 high quality video format
- Automatic tone mapping
- Software screen capture
- Audio-reactive lighting effects
- Raspberry Pi 5 GPIO PWM 🆕
- Zigbee2MQTT lights
- Home Assistant lights
- JSON API
- Instance synchronization
- Hue gradient light strips
- HyperSerialPico and others
- Infinite Color Engine 🆕
- Compiling HyperHDR
- FAQ
- 3.3V to 5V level shifter
- Raspberry Pi OS read-only mode

