Hi, I’m trying to get a ws2812 led strip to work on feather, but I have a hard time getting it to work. First of all, I have made an overlay for this board which I’m not sure is correct:
#include <dt-bindings/led/led.h>
#include "../nrf52-bindings.h"
&spi3 { /* MOSI on D11 / P0.23 */
compatible = "nordic,nrf-spim";
status = "okay";
sck-pin = <11>;
mosi-pin = <9>;
miso-pin = <28>;
cs-gpios = <&gpio0 7 GPIO_ACTIVE_LOW>;
led_strip: ws2812@0 {
compatible = "worldsemi,ws2812-spi";
label = "WS2812";
/* SPI */
reg = <0>; /* ignored, but necessary for SPI bindings */
spi-max-frequency = <SPI_FREQ>;
/* WS2812 */
chain-length = <16>; /* arbitrary; change at will */
color-mapping = <LED_COLOR_ID_GREEN
LED_COLOR_ID_RED
LED_COLOR_ID_BLUE>;
spi-one-frame = <ONE_FRAME>;
spi-zero-frame = <ZERO_FRAME>;
};
};
/ {
aliases {
led-strip = &led_strip;
};
};
I do have an N-mosfet to do level conversion, so I guess I have to invert the logic on output pin. I’ve found an support ticket on nordic forum which I learned the correct values for one frame and zero frame for inverted mode. Still no light. Anyone tried to run the leds on 3.3v and connected its input directly without any logic level converter?
I’m now doubting that I use the correct pin… Is spi3 pin 9 mapped to the labeled pin COPI?