0

For a project, I am looking for a board to connect eight different neopixel-strips to, on eight different data pins. Because of the great length between the board and the first pixels of these strips, I'd like to have a board that operates on 5V instead of 3.3V. Then, the software that I have written to manage the LEDs is made in (micro)python. Finally, for simplicity's sake, I'd like to run this complete project on a single board without too many external components.

So, I have found 5V boards with enough pins, like the Arduino Mega. I have also found boards with enough pins and support for micropython or circuitpython, like the ESP32 or Arduino Zero.

However, I haven't quite found a board that matches all my requirements. The Arduino Mega doesn't support Python (or does it?) and the ESP32 and Arduino Zero operate at 3.3V, not 5V.

Of course, an ESP32 with a level shifter (as shown on https://github.com/Aircoookie/WLED/wiki) would work, but is there perhaps a board out there that fits all my requirements our of the box?

Edit: It seems I misunderstood some things about the hardware - sorry, I'm a software guy, not really a hardware guy :-) I fixed the question above as not to confuse future readers.

8
  • which therefore need to be capable of PWM -- Nope. PWM has nothing to do with Neopixels. Think again. ;; Because of the great length of these strips, I'd like to have board that operates on 5V instead of 3.3V -- Nope. The voltage, as long as it's above VIH of the first neopixel, has no effect on the rest of the chain. Think again. – Majenko Mar 1 at 11:48
  • As many new boards are release every year and many others get discontinued, we cannot really keep track on all boards. I don't know about a board with your requirements. Though for me it is also not clear, why you are setting those requirements. As I remember, driving a Neopixel strip does not require a PWM pin. And what exactly has the length of the strip to do with the signal voltage level? I think each NeoPixel will output the rest of the data on its own, then using its supply voltage (meaning 5V). I can easily drive a small Neopixel strip with an ESP. Should also work with a long one – chrisl Mar 1 at 11:53
  • There are not so many ARM chips with 5V IO (I know only about SAMC20/SAMC21) with memory big enough to run micropython and that much strips. Btw teensy + octoWs2811 shows how could it be done (it's using DMA, several DMA channels connected to several trigger sources from timer) – KIIV Mar 1 at 11:54
  • Yes, @Majenko and chrisl, you were right. I thought again and have updated my question. – Bart Van Loon Mar 1 at 20:15
  • Why do you specifically want the strips on different pins? – Dave Newton Mar 1 at 21:15
1

Both your "requirements" for the board are non-requirements.

  • You do not need PWM pins to drive Neopixel strips. The Neopixel uses its own custom protocol that has nothing at all to do with PWM.
  • Your board only communicates with the first Neopixel. That one then communicates with the second, which then communicates with the third, etc. The length of the strip is completely irrelevant to what voltage you might want to drive it with.

You only care about having enough general IO pins and if the IO voltage is suitable to communicate with one Neopixel.

According to the WS2812B datasheet VIH is 0.7Vdd, which if you are powering the strips from 5V means 0.7 * 5 = 3.5V. However I think that is an overestimation and they are erring on the side of caution there, since I regularly drive WS2812B strips from a 3.3V microcontroller with no problems whatsoever (after all it's only 0.2V difference).

So just use your favourite 3.3V microcontroller that can run micropython and, if you really want to, drop the power supply voltage to the strips a fraction with a diode.

2
  • It usually works from 3.3V without any problem. At most I've heard about low temperatures might cause it stops working. However I was thinking about using diode between power ground and MCU ground to add a bit offset (but I've never actually needed it) – KIIV Mar 1 at 12:16
  • Got it, thanks a lot. The PWM was indeed a non-requirement. The 5V comes from the fact that the board will be several meters away from the first neopixel (I misunderstood from our hardware girl, I'm just the software guy), but we'll be using a level shifter anyway now, so we're good. – Bart Van Loon Mar 1 at 20:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.