Is there an officially supported nRF53-compatible driver for WS2812 RGB LEDs? The official Zephyr example (https://github.com/zephyrproject-rtos/zephyr/tree/e3c06c5d8f6b3cb004a8521b3e063649228c61e8/samples/drivers/led_ws2812) does not support the nRF53 series and the only example code I found for the nRF53 series was https://www.hackster.io/mahmood-ul-hassan/how-to-interface-nordic-thingy-53-with-neopixels-ws2812b-c79533 which did not work correctly on the nRF7002DK I am using. (In the second example, I changed the pin to P0.07 since P0.08 was overlapping with some other configuration).
Update: I managed to get the official example working using I2S, but it's unstable. The colors flicker and the wrong colors are displayed randomly. I suspect it may be some timing issues but I could not figure out how to fix it. The overlay config for the nRF7002DK that i created and used is the following:
#include <zephyr/dt-bindings/led/led.h> #include <nordic/nrf5340_cpuapp_qkaa.dtsi> &pinctrl { i2s0_default_alt: i2s0_default_alt { group1 { psels = <NRF_PSEL(I2S_SCK_M, 1, 15)>, <NRF_PSEL(I2S_LRCK_M, 1, 12)>, <NRF_PSEL(I2S_SDOUT, 1, 13)>, // Output pin to LED strip <NRF_PSEL(I2S_SDIN, 1, 14)>; }; }; }; i2s_led: &i2s0 { status = "okay"; pinctrl-0 = <&i2s0_default_alt>; pinctrl-names = "default"; }; / { //compatible = "nordic,nrf7002-dk-nrf5340-cpuapp"; led_strip: ws2812 { compatible = "worldsemi,ws2812-i2s"; i2s-dev = < &i2s_led >; chain-length = <100>; color-mapping = <LED_COLOR_ID_GREEN LED_COLOR_ID_RED LED_COLOR_ID_BLUE>; reset-delay = <2000>; // not sure if increasing this helped nibble-one = < 14 >; // default value nibble-zero = < 8 >; // default value extra-wait-time = < 600 >; // this did not help }; aliases { led-strip = &led_strip; }; };