Raspberry Pi 5 GPIO PWM 🆕

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.txt or edit /boot/firmware/config.txt manually
- Adjust num_leds: total number of LEDs, must be configured the same in HyperHDR
- Adjust rgbw only 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 obraz

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:

obraz
obraz


Results of testing using fixed kernel module:
obraz obraz obraz