Hi all,
I’ve run in to some issues working with the neopixel library with different hardware, but same ESP32 main board. I’m using the WS2812E versions of the ‘Neopixel’ LEDs. The issue I’m having is the classic bright green first LED.
Originally I thought it was a hardware issue as I was powering the LEDs at 5v but using 3.3v logic, but since I’ve tried a logic level converter and am seeing the same issues.
Couple of things I’ve noted:
- I’ve tried the same FW on different two different esp32 dev boards, one works well the other does not. I’m not using either dev board anymore but my own custom one, and I’m having the same issues.
- With the dev board that wasn’t working with with MOS library I’ve been able to use an Arduino library that has the LEDs working as expected. Same thing here for my custom dev board - works with the Arduino lib but not MOS
Unfortunately I don’t have a scope to be able to check the signal, but seeing as I’m using the same hardware I’m guessing waveform shape is probably OK. It’s probably timing issues I’m guessing.
Some things to note between the MOS Neopixel library and the Arduino NeoPixelBus library:
- Both use bitbang to talk to the LEDs
- The Arduino lib uses
portENTER_CRITICAL
when bitbanging. - MOS lib does not use anything special when bitbanging
- Link to the NeoPixelBus lib where the bitbang happens
- Link to the Neopixel lib where the bitbang happens
I’d appreciate any suggestions on what to look at next, my thought was maybe enable/disable interrupt during bitbang but I’m just guessing. I’m not too experienced here.
Thanks