You are reading a single comment by @Robin and its replies. Click here to read the full conversation.
  • Sat 2020.10.03

    Hi @parasquid, no experience with the nRF52840DK and as there are many variants:

    REFERENCE table of RGB Led datasheets 3528 5050 WS2811 WS2812 SK6812 APA102 NeoPixel



    Taking into consideration: (in case this statement is found inaccurate)

    'It doesn't seem to matter whether I have a neopixel connected or not'


    Some ideas to explore:

    Is there a level shifter, or is a level shifter required? (several in link above)

    Separate supply and grounding consideration

    Any possibility of a Neopixel strip of several LEDs to rule out flaky first green LED issue

    https://www.reddit.com/r/arduino/comment­s/499ods/strip_of_144_ws2812b_leds_first­_led_stuck_green/

    that along with RGB vs GRB and leading start pulse duration

    Pull-up on data line (see reference in reddit link)

    Any ability to try a different Neopixel type? Some are 12V, different gating, end pulse state?

    What is driving the Neopixel? Regulator on that board, or separate supply?

    Try writing a larger array, to rule out rounding of starting pulse (which causes first green LED, BTW)
    [055,055,055, 055,055,055, 055,055,055, 055,055,055])
    Smaller value to reduce load on regulator, and all lit to see if pulse rounding issue is resolved

    Ability to use Logic Analyzer to validate data sent?

    EDIT:   (see post #7 explanation - now built in)
    Could there be a module retrieval delay that is beyond the 1 second timeout interval shown?

    FWIW: I've always assigned the results of the require to a separate object after init, and performed future array writes in separate functions after a three second wait. Always successful on Pico, Wifi and MDBT42Q when using a level shifter.

About

Avatar for Robin @Robin started