Oh thank you. That’s mad useful. Pulling my US port out in Europe and fingers crossed it’s duel voltage!
Good to hear you got things up an running OK
I hope you don’t mind me changing your topic to “solved”.
Not at all.
In case it helps someone else using Neo_Pixel…
I’ve been working through what should have been a simple
lighting project using the Neo-pixel library and it has turned into a
nightmare. My project used 350 WS2811 LEDs in a chain - a little longer
than some projects, but I have seen much larger configurations work fine
with the fast SPI Led library on an Arduino. .
If all you do is work the lights then it’s not too bad, but if you
need (as I did) to do other things in the project as well such as output
status messages to the serial channel or via the wi-fi then - oh boy!
It’s a quagmire. My key learnings from my one week project that has
turned into a 3 month project were:
-
Don’t use Serial1 - it conflicts with the neo-pixel library (I
think in the timer interrupt handling). If you really have to use it,
make sure that you use it at the highest feasible baud rate and always
have a delay(100) - or more - after any usage of it. If you don’t, then
the library timing goes wrong and all you’ll get is white lights or
random colours all along the string and you won’t be able to control the
string after that without a power off. Similarly, I have sometimes
seemed to observe an issue with network I/O - though I am a lot less
sure of this correlation. -
You have to do things in a set order and have pauses between them.
At the start, where you use “.begin” you need another delay(100) and
after that you need to write zeroes (dark) to all the chain. Omit the
delay or the write zeroes and you’re looking at the white lights and
power off again. -
In regards the 3.3v control signal to the 5V LEDs chain…I ended
up using a level shifter. Connecting the core’s 3.3v outputs to the LED string can work, but probably only
just. The 6 amp output power supply I used for my project outputs 5.3V
and using that, it does NOT work. When I temporarily put a different
power supply on it (an old iPAQ charger) which gives out less amps, but
outputs a steady 5.1V it did work - with just an occasional colour
twinkling during fades (LED string clock errors). Since I needed the
amps for my 350 LEDs, I had to stick with the original supply and use a
level shifter from 3.3v to 5v. Also, if you follow the various
recommendations and use a 470R resistor between the string and the rest
of the circuit (never quite clear why - standing waves…??) you will
definitely need a level shifter. -
Not really core or library related, but I found that putting a
220uf capacitor on the +5v-gnd power rail at the far end of the LED
string improved stability tremendously.
My project is now completed and as ever I have learned a ton of stuff
from doing it, but it really was made a lot more complex and elongated
by the problems mentioned above. I also live in fear that as the
components age, the white lights may return…