1

I have an RGB LED 8x8 matrix which is claimed to consist of WS2812. When turning it on, it automatically lights up all LEDs white with full brightness. The LEDs even light up without DIN being connected. I remember reading something about this behaviour and I think it was related to the LEDs being SK6812 or similar rather than WS2812, but I can't find this page anymore, nor anything else describing this behaviour.

My question is, how can I disable the LEDs lighting up when turning power on? Of course I could add some kind of relay to switch them on right before the signal is sent by the Arduino, but is there something simpler?

5
  • that's a feature of most led strips so you can test the leds without having to connect them to a control box, or be able to use them as leds until you can install the controller Sep 15, 2017 at 10:58
  • I see, but is there a way to disable it?When I connect everything all 64 LEDs are lit up on full brightness white for about a second until the Arduino executes my program. Problem is I need to run on batteries and therefore lowered brightness to around 25%, so the initial flash not only looks bad, but also drains my battery.
    – Chris
    Sep 15, 2017 at 11:39
  • I don't think that initial flash will drain that much Ah Sep 15, 2017 at 11:44
  • If you had the Arduino "controlling" the lights and it had turned them off and then you disconnect and reconnect the power do they still flash? (Arduino still running and DIN left connected) The reason I am asking is because if they do still flash what different would a relay/switch on the power line make? When you turn the power on, they will flash for a second. (I appreciate that the 'switch' is not the preferred solution, but...) Sep 15, 2017 at 12:00
  • Just tried that, and unfortunately the LEDs still flash. My idea was that maybe it took the Arduino around a second to boot up and initialise everything (I'm using FastLED), and set the pin to output mode. So if I first initialised everything, then just flipped the switch to power on the LEDs and immediately set them to the correct brightness, the problem would not be notable.
    – Chris
    Sep 15, 2017 at 12:09

1 Answer 1

1

Use a MOSFET to control the matrix power line and activate the MOSFET only a few milliseconds before turning off your LEDs: this way the few millis intercurring between power on and off control signal will not be noticeable and will reduce the current bootstrap consumption.

schematic

simulate this circuit – Schematic created using CircuitLab

4
  • That is the alternative approach I had in my mind. Thank you for the nice schematics :)
    – Chris
    Sep 19, 2017 at 6:14
  • If that solves your problem please mark the answer as accepted, otherwise, this question will remain listed among those without an accepted answer. Sep 19, 2017 at 10:06
  • @RobertoLoGiacco Why do we need R1?
    – Wirewrap
    Jan 14, 2018 at 16:04
  • The MOSFET has a capacitance you need to charge up to activate it: R1 is there to limit the current spike produced when you charge up that capacitance. Jan 14, 2018 at 16:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.