Xenon VUSB and Neopixel Oddity

So I setup a pretty simple circuit… it’s a single Neopixel.

If I draw power from the 3v3 pin it works just fine… But Adafruit recommends 5v (and they’re brighter when powered from 5v) so I tried powering from the VUSB pin. And things got… weird.

For some reason it wouldn’t read any of the change commands to the neopixel until I touched the wire coming off the VUSB pin… Not the bare wire, just touched or wiggled the wire.

I thought OK maybe the jump wire is borked… Changed wires and same result… Maybe it’s the port on the breadboard. Changed breadboards… same result.

I’m getting power from the VUSB pin, the Neopixel will light up, it just doesn’t read any of the commands.

This happens when it’s plugged into the wall, or plugged into a computer.

Weird huh? Am I missing something really dumb (like something I have to add in my code for that pin?)

Again everything works perfectly if I draw from the 3v3 pin.

The problem is that if powered at 5V, the 3.3V logic level of the Xenon is just at the boundary of what will work with a NeoPixel. Sometimes it will, sometimes it won’t.

The recommended minimum for logic 1 is 70% of the supply voltage, which is 3.5V when powered at 5V.

So 3.3V is not really enough. Using a logic level shifter is a good option.

1 Like

But the 3.3v works perfectly. It’s the VUSB 5v pin that causes issues.

The supply voltage dictates the logic level thresholds.
70% of 5V vs. 70% of 3.3V to recognise a logic HIGH but the output of the GPIO will always be 3.3V (3.3V/5V/ = 66% vs. 3.3V/3.3V = 100%)

Ahhhh that makes sense. So if I’m powering with 5v I need a 5v signal to program the Pixel.

1 Like

Ahh sorry I misread what you meant.