Electronic – Weird oscilloscope readings with a digital signal (ws2812)

oscilloscopestm32

Pretty new to oscilloscopes. I'm trying to learn stm32, so one of the projects I'm working on is getting ws2812 LEDS working on stm32. It does work for most strips, however, there are few strips that give me really weird signals on the oscilloscope.

In this first screenshot, I'm probing one of the LED strips that doesn't work. Notice that even though the signal should be 5V, the signal starts and then immediately drops to below 3V. I would like to note that this LED strip is known working, and works with an arduino using the Adafruit NeoPixel library.

oscope

And here's what it looks like hooked up to one of the LED strips that works:

good

Here's a basic schematic of the setup I'm using (I've got two 100nF caps for the TXS0101 and a 10uF capacitor for the 5V supply that aren't shown there).

schematic

Best Answer

1) Looks like the current draw and/or sourcing capabilities of the output you are looking at is not matching up. Try just connecting a resistor between output pin and ground to get the current you expect and see how that looks on the scope?

2) It also looks like your oscilloscope probe ground lead is too long (too much induction). See if you can use a short ground connection like this:

enter image description here

That will most likely take care of the "spikes" you see on the scope.