Neopixels will not work on xiao esp32c3, but will on uno

howdy killers-

just running the "strandtest" example with a sixteen neopixel ring. runs on the uno. nothing on the xiao esp32c3. i have tried a few io pins and three different usb cables. funny thing this all worked fine not that long ago and i do not recall having issues. something with the update perhaps? i am not great with this stuff butt i can usually make example sketches run..

thoughts or suggestions?
thanks!

The Uno is a 5V board. Isn't the ESP32 a 3.3V device?

Please post a wiring diagram showing how the strip is connected and powered.

This page may be of interest >> Cheating At 5V WS2812 Control To Use 3.3V Data | Hackaday

You probably need a signal voltage shifter. As @groundFungus says, Xiao is a 3.3V device and ws2812 LEDs need a 5V signal to operate reliably. Something like a 74hct125 or 74hc14 which I have had success with.

even a 74hct04 will do just fine, just make sure it is powered with 5v.

Neopixels work with ESP32, but you need to connect Vcc of the leds to 3V3 also.

that will not work for 12v ws2811 strip, and will also cause color shade differences. It is also outside of the ws2812b's datasheet spec, though it does work.

xiao esp32c3 has a 5vdc pin that comes straight off the usb.

i see what i have done.
before i was only using a single neopixel.
guess the ring is too much.

But the pin that sends the data to the strip is 3.3V, isn't it?

From the page that I linked in post #2:

If you’re looking to control WS2812 (or Neopixel) LEDs using a microcontroller running at 3.3 volts, you might run into some issues. The datasheet tells us that a logic high input will be detected at a minimum voltage of 0.7 * Vcc. If you’re running the LED at 5V, this means 5 V * 0.7 = 3.5 V will be needed for the WS2812 to detect a ‘1’ on the data line. While you might get away with using 3.3 V, after all the specification in the data sheet is meant to be a worst case, it’s possible that you’ll run into reliability issues.

That page goes on to suggest a solution.

1 Like

well, a few months back i did have the whole ring running off of a xiao esp32c3. i made a little nerf target set with piezos. used the ring to tally the hits that came in.

was i just lucky? i just read the datasheet and i think 3.3 is too low for the logic.

anywho, i know why she don't fly now. :slight_smile:

thank you folks for all the help.

If you think it's because the Xiao cannot supply enough current, then why did it work with Uno? If that was also supplied with USB power, then it should have had the same limitations.

Perhaps the colours, patterns and animations are different? 16 neopixels could require around 1A. But that's only if all 16 legs are on full brightness white. Other patterns and colours will require less, maybe much less, depending on the pattern.

USB power can only supply around 500mA, less the power required for the microcontroller itself. The Uno will probably need less than the Xiao, however, because of the power needed by the ESP32 for wi-fi/bt.

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