1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

SOLVED WS2812B - Very Slow Refresh Rate

Discussion in 'Software Support' started by RedStep, 29 May 2016.

  1. RedStep

    RedStep New Member

    Messages:
    17
    Hardware:
    RPi2, RPi3
    I've been diving headfirst into the world of LEDs, so I'm already at my first upgrade. I want to replace my existing 116-LED WS2801 strip with a 232-LED WS2812B strip. I read every discussion and guide I can find, so I had an idea of what to expect.

    I got my Arduino Uno R3 up and running with FastLED (using Rick164's tutorial) pretty easily, but when I connected it all, set HyperCon to AdaLight, and ran Hyperion the LEDs were updating very slowly (about 500ms between refreshes, video below). I figured maybe the Arduino was the issue, but when I connect directly to the GPIO I get exactly the same thing. The strip is powered by an 8a power supply - running the FastLED Demo is fast and perfect - I only hit the speed issue once I'm connected to Hyperion. My log and Config are below (for the AdaLight iteration). I know the WS2812B isn't as accurate as the 2801, but I'm hoping I can solve this. Thank you!

    Video -


    Log:


    Config:
     
  2. Rick164

    Rick164 Administrator Staff Member Administrator

    Messages:
    189
    Hardware:
    RPi2, +Arduino, +AtmoOrb
    Sounds like the baud rate wasn't increased yet, would check chapter 4 which explains how to increase the baud rate in the Arduino sketch and on the RPi itself:

    https://hyperion-project.org/threads/diy-amblight-project-guide-hyperion-ws2801-ws2812b-apa102.8/

    There are also a couple of sample config attached there which are worth a try :) , also best to use Arduino IDE version 1.0.6 as that was used in the guide for increasing the buffer limit on the Uno R3 (listed under Tips & Troubleshooting chapter).
    WS2812 is plenty fast it's just that under certain low brightness conditions it will have lower response times (less smooth transitions) over the LED SPI variants.
     
    Last edited: 29 May 2016
  3. RedStep

    RedStep New Member

    Messages:
    17
    Hardware:
    RPi2, RPi3
    Thank you! I had added a second board on the Arduino but maybe it wasn't selected when I last updated the sketch. I checked my work and did it again - it works now, even as a second instance of Hyperion running alongside the WS2801 (though this is only temporary). For some reason it is also detecting the USB grabber and starting Hyperion properly on boot now. Thank you for your help! Hopefully I won't need it again until next week when I start on my project of adding 2 AtmoOrb lights to the left and right of the TV.

    Update: Do you know why it might have displayed the same behavior when connected to the GPIO pins? I prefer to use the Arduino anyway, but curious if running off GPIO is inadvisable or maybe I was doing something wrong. Thank you
     
    Last edited: 29 May 2016
    • Like Like x 1
  4. Rick164

    Rick164 Administrator Staff Member Administrator

    Messages:
    189
    Hardware:
    RPi2, +Arduino, +AtmoOrb
    Not completely sure but could be that the system load was too high or the polling (rate) was too low :)
    Using an Arduino in between is nicer for sure, did drop that one for the APA102 setup (RPi -> SPI) but for anything else still prefer it.

    AtmoOrb is a pretty straight forward setup, only thing that comes down to personal preference is smoothing but if you use the sample config from the wiki you should be good to go :D
    Nearing 2 month Photon uptime for the dual setup here without issues so it's as stable as it can be.
     
    Last edited: 30 May 2016
  5. RedStep

    RedStep New Member

    Messages:
    17
    Hardware:
    RPi2, RPi3
    Excellent! My ultimate goal is to have the full strip around the TV and then two AtmoOrbs on top of my tower speakers to either side (each set to the left/right third of the TV or so). Ordering the Photons and LED rings tonight so Adafruit can ship on Tuesday.