this post was submitted on 13 Apr 2026
6 points (100.0% liked)
Ask Electronics
4102 readers
2 users here now
For questions about component-level electronic circuits, tools and equipment.
Rules
1: Be nice.
2: Be on-topic (eg: Electronic, not electrical).
3: No commercial stuff, buying, selling or valuations.
4: Be safe.
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Not sure how easy it is to sample a digital signal that fast. The specs say it's 350ns - 800ns. So my calculator says that's about 3MHz. I don't think noise etc will be an issue. And an opendrain input should be fine and not mess with the bus. You'll likely have to find a good approach to read at that speed. Or find a suitable peripheral.
The correct tool might be an oscilloscope / logic analyzer.
But maybe have a look at some projects like "micro logic analyzer for RP2040", seems it's possible to sample digital signals up to 100MHz. There's several projects like that out there. But I think the correct search term is "RP2040 logic analyzer".
I don't think a lot of people "sniff" some WS2812 bus. You can have a look at other project's code to generate all sorts of effects.
The WS2812 only runs at 800kbps. That's well within the capabilities of one of those 24 MHz FX2 based USB logic analyzers that you can get for less than $10. Sigrok has a protocol decoder for the WS2812 LEDs.
well, it's more being able to detect long vs. short pulses, as it's not the logic level but the pulse width that encodes the bits.
With a 24MHz sample rate, there will be 30 samples per bit. The narrowest a pulse for the WS2812 can be is 220 ns, which will be about 5 samples. That's more than enough to decode it.
fortunately the RP2040's programmable IO can run at 40x that 3MHz rate, so with a working program I should be able to differentiate short and long pulses and convert them back to bits. My application shouldn't need to know exact colors, rather just detecting certain patterns or an on/off threshold state for a specific light in the chain.