You are reading a single comment by @allObjects and its replies. Click here to read the full conversation.
  • Visualizing the neopixel timing specifications... and comparing different providers and the SPIX.write4(... option:

    • Top half -BLUE - shows 0 bit timing.
    • Middle - Brown, in between - shows the SPIX.write4(... 0 and 1 bit timing.
    • Bottom half - ORANGE - shows 1 bit timing.

    Times are to scale. Numbers are times in [us]. The protocol is quite smart and self-reconditioning takes place between the pixels (by the built-in circuitry).

    The fat blue and fat orange lines show the exact specified values. The respective fine lines are combinations of minim and maximum allowed values - tolerances - cumulated/cascaded:

    • The shortest / fastest times with all values at their allowed minimum get a bit done in 0.85[us]... still way in the range of 0.65[us]..1.25[us].
    • The longest / slowest with all values at their allowed maximum get a bit done in 1.6[us], still within the range of 1.25[us]..1.85[us].

    SPIX.write4(... w/ 3.2MHz baud rate and writing of 0b0001 and ob0011 for the actual 0 and 1 bit come darn close to spec using only 1/3 and 2/3 of the tolerance...

    2 Attachments

    • neopixelTimings.png
    • timingsComparison.png

Avatar for allObjects @allObjects started