Replies: 6 comments 1 reply
-
WS2815 are a 12v chip, previously identified to be sensitive to data signal voltage being closer to 5v. This FAQ on 3.3v uC raises the issue that some LEDs are not compatible with 3.3v data signal. JUST A FYI: https://www.youtube.com/watch?v=letCT3vq8V4 shows how to use diodes to solve it. First, remove the use of ticker to call Second, take a look at this FAQ on flicker. The WS2815 uses a different protocol but it should be compatible with NeoEsp8266DmaWs2812xMethod. Then try a level shifter or the diode trick mentioned above. Just a FYI: |
Beta Was this translation helpful? Give feedback.
-
Thx for the answer, I use already a level shifter. I forgot to mention that. I also use ticker only for setting a flag but doesn’t make a difference. I will try the other method. I let you know the results.
Get Outlook for iOS
From: Michael Miller ***@***.***>Sent: Thursday, December 30, 2021 12:42 AMTo: Makuna/NeoPixelBusCc: dwienie; AuthorSubject: Re: [Makuna/NeoPixelBus] ESP8266 flickering issue (Discussion #544)
WS2815 are a 12v chip, previously identified to be sensitive to data voltage being closer to 5v. This FAQ on 3.3v uC raises the issue that some LEDs are not compatible with 3.3v data signal. JUST A FYI: https://www.youtube.com/watch?v=letCT3vq8V4 shows how to use diodes to solve it.
First, remove the use of ticker to call Show() and just call it from the loop(). Due to the required use of hardware for the ESP8266, the show can not be called with the context of an ISR and must be called within the context of loop(). I am unsure about ticker but I suspect it may call from an ISR context. One way to do this is set a flag in ticker, and in loop check for the flag and call the update.
Second, take a look at this FAQ on flicker. The WS2815 uses a different protocol but it should be compatible with NeoEsp8266DmaWs2812xMethod.
Then try a level shifter or the diode trick mentioned above.
Just a FYI:
Take a look at this FAQ on color wheels
—Reply to this email directly, view it on GitHub, or unsubscribe.Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you authored the thread.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
Hi, It's a little better with the NeoEsp8266DmaWs2812xMethod. but still flickering. I uploaded a video with the flickering. Quality of video is not good but it give you an idea about the flickering. Img.0209-1.mp4 |
Beta Was this translation helpful? Give feedback.
-
I think I found the issue, I level shift the data pin to 5V , according to the datasheet that should be min 0.7x12V , so that is 8.4V. Stupid me. |
Beta Was this translation helpful? Give feedback.
-
@dwienie So, you shifted it up using 8v+ and the problem goes away? The spec I have for WS2815 show 3.7v-5.3v for the DIN. How long of a wire between the uC and level shifter and then shifter to LEDs? AND, you are connecting the uC to both the DIN and BIN, correct? |
Beta Was this translation helpful? Give feedback.
-
No I didn't try yet, to shifting up. But according to the datasheet it should be min. 0.7xVDD. I only connect to DIN. Bin I don't connect. |
Beta Was this translation helpful? Give feedback.
-
HI,
I am using the neopixelbus with a WS2815 ledstrip (289 leds). When I am trying to do a rainbow effect then I have flickering on a lot of leds. Although I refresh my leds only after 50ms.
I initiate the bus with NeoPixelBus<NeoRgbFeature, NeoEsp8266Dma800KbpsMethod> strip(NUM_LEDS, LedDataPin);
I use the Ticker lib to run the Rainbow function every 50 ms : tckRainBow.attach_ms(50, ChangeColor)
The ESP8266 is a Wemos D1 Mini and the Data Pin is on Pin 3 (the RCV pin). I don't use Serial in my code.
What can be the reason of this?
Snippet of my code :
Beta Was this translation helpful? Give feedback.
All reactions