Reading PWM data from WS2811


I am working on a project that involves extracting the data from a single WS2811 chip. I understand that it is not feedable to read the data that is being sent to the chip directly because of the speed at which the data is sent. The chip functions in controlling LEDs by shorting them to ground at a given rate in order to adjust the brightness. Instead of this data being used to drive an LED I would like to read it with and Arduino to use it for another purpose. I am having trouble reading the data as the chip itself does not output a single but instead short a given 5V to ground. Is there a way to measure the PWM data from this chip? I have attacked the schematic from the datasheet and a link to the full sheet.


Full Datasheet: (

Where does the DIN signal originate?

Reading PWM signals is quite straightforward using the pulseIn() function. One time for HIGH, one time for LOW. Or use one of the newer Arduinos with a 0 or 1 series AVR processor; the type B timer of those chips can read PWM frequency and duty cycle direclty.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.