How to control lots of Neopixel



  • @ajb2k3
    So how could I add more pin for controlling five strips each from portA??



  • @osc Each strip has data in and data out. you connect data in of the first strip to the m5stack and then the data in of the next strip is connected to data out of the first.
    alt text

    alt text



  • Go hardcore. 74HC595



  • @ajb2k3
    Thank you for reply!
    I understand how to connect from one pin.
    Then I need to choose each cables between strips which has allowable current 4A, isn't it?

    @Thrasher
    At first I hoped I could use thin cables to each strips from each pins.
    I should research about 74HC595. Thanks!



  • This post is deleted!


  • @osc 74HC595 is walkaround when you don't have enough pins but wiring and coding will be pain as I'm not sure neopixel library supports it.

    For 5 strips you need 5 digital pins. I don't have M5Stack by hand right now but I'm pretty sure it can provide those.
    My advice: Don't rush with 5 strips, do some examples with single strip or even 10-20 LEDS. No offence but I see you're not very common with electronics, may get stuck with 5 strips same time.

    Some advices:

    1. Yes, you can connect 5 strips into one huge strip but this will cause voltage drops most likely which leads to different powering experiments. Start with small amount of leds and code, than grow to full strip and when it satisfies you go to 5 strips.
    2. Read about Interface, protocol, physical and software layers. This will help you to understand why i2c hub wont help.
    3. Use legit power supply, M5Stack pin can hold up to 5 ws2182 leds guranteed. I don't remember how much ESP32 port provide, but I believe its something around 250 mA. Connecting heavy load on those may damage your M5 device.
    4. When using separate power supply, make sure ground wires (black ones) are all connected (M5-strip-PSU)
    5. Don't froget that U=IR (voltage = current*resistance). You can use this formula to calculate desired current or resistance aswell


  • @thrasher
    So sorry for my late reply. Thank you for precise tips and I understand the points to care!



  • One diode set to max brightness consumes 0.06A of current, so your external power supply should have a current efficiency of at least 10A for 144 diodes. For long tapes, separate power wires can be used that run parallel to the led strip and connected in addition to the supply lines for the led strip every one meter. You can use loudspeaker cables or 1.5 mm² rigid electric cables.



  • @osc,

    WLED (https://github.com/Aircoookie/WLED) is a really great and easy way to control lots of neopixels. The author has done an awesome job and there are so many features supported now. I used it this past Christmas season to control 800 of the WS2811 string LEDs on the exterior of my home.

    It runs on the ESP8266 and ESP32, but I haven’t seen anyone using an m5stack product as a controller yet. The most common platform used is the nodeMCU which is based on the ESP8266.

    I only started trying to port WLED to the m5stack yesterday (I was inspired by this thread), but since I’m new to PlatformIO and I’m a weak programmer, I’m running into build/compile issues. I’ll let you know if I make any progress, but you could also look into the nodeMCU if you want something running quickly.



  • @world101 said in How to control lots of Neopixel:

    @osc,

    WLED (https://github.com/Aircoookie/WLED) is a really great and easy way to control lots of neopixels. The author has done an awesome job and there are so many features supported now. I used it this past Christmas season to control 800 of the WS2811 string LEDs on the exterior of my home.

    It runs on the ESP8266 and ESP32, but I haven’t seen anyone using an m5stack product as a controller yet. The most common platform used is the nodeMCU which is based on the ESP8266.

    I only started trying to port WLED to the m5stack yesterday (I was inspired by this thread), but since I’m new to PlatformIO and I’m a weak programmer, I’m running into build/compile issues. I’ll let you know if I make any progress, but you could also look into the nodeMCU if you want something running quickly.

    If there was a Micropython lib then i would be interested in testing.