Can Espruino handle timing of WS2811 - YES

Posted on
  • Data sheets for ws2812 and ws2811 show different timings for 1 and 0. Did anyone tested ws2811?

  • Timing from datasheets WS2812.pdf, WS2811.pdf

    Signal     WS2812-800KHz    WS2811-400KHz    WS2811-800KHz
    
    T0H_NS      350              500              250
    T0L_NS      800              2000             1000
    
    T1H_NS      700              1200             600
    T1L_NS      600              1300             650             
    

    Tolerance is +-150ns

    Coded in Espruino:

    Signal     ESP32
    
    T0H_NS      350       
    T0L_NS      900 
    
    T1H_NS      900   
    T1L_NS      350 
    

    Now testing some WS2812 and WS2811 with this setting:

    Signal     ESP32
    
    T0H_NS      350       
    T0L_NS      900 
    
    T1H_NS      700   
    T1L_NS      600 
    
  • @Gordon What do you thing about having a optional timing setting like this:

    np = require("neopixel").config(t0h : 350, tol : 900, t1h : 700, t1l : 600);
    
  • Have you tested? At the time I used 2811/2812/others and all seemed pretty reliable. The thing that made the flicker was more if there was glitching on the data line when it was first initialised.

    Maybe it could be configurable but if that kind of thing were added I'd like to do it so it worked on multiple platforms, and that could be a bit too difficult

  • Did some further testing and can confirm that no changes for timing is needed.

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview
About

Can Espruino handle timing of WS2811 - YES

Posted by Avatar for MaBe @MaBe

Actions