ESP32 and Neopixel strange behavior

Hello,

I am into a project where the ESP32 will run 4 Neopixel strips over the 74HCT245D. The strips work, but not as I expect.

When I upload a simple example, the strip works. Let’s say all green, in a pattern that the LEDs will light one by one after a small delay, and let them stay lit. This is fine. But, when I cut of power supply and turn it back on, it flashes all on for a tiny second, turns off immediately, and starts lighting up one by one. It looks just as the last data (which was all green, but could be any) was saved, and after the ESP32 booted up, it cleared it and started the pattern. The same is if I press reset.

I use the 74HCT245D because of the logic difference. The OE is on GND. The lines from the ESP32 to the 74HCT245D are straight; from the 74HCT245D to the strips go over the 220R resistor.

It is all on a PCB, so it is hard to adjust much, but I could cut a trace or two and check if there are any suggestions. ChatGPT said I should connect the OE pin to the ESP32 and control it from over there. Also, to pull down the data lines by the 10K resistor. But I would like to hear a human voice instead.

I am into redesigning the PCB so all cards are on the table.

Can you share the code ?

It is the Simple example from the Adafruit lib

In case you might need it

I just made a fix with 1K resistor over 5V and GND because I think this CAP causes the problem as it supplies the Neopixel controller for a small period of time.

I tried with the OE control over the ESP32, but this resistor looks like the solution.

That is normal behavior for WS2812b pixels. They tend to hold their last value for just a little bit after power down, and re-light with power up. Disable power for at least a few seconds before they reset.