You are reading a single comment by @DrAzzy and its replies. Click here to read the full conversation.
  • The reset is probably because as it gets plugged in there's a brief current surge that's resetting the Espruino? It didn't do that on my Espruino though (I have the 8x16 too RGB123 too), at least not powering it off VBAT (I didn't try on 3.3 - that's probably not high enough voltage for the LEDs).

    Is this what you're seeing?

    Matrix + Matrix GND Matrix Data In Result
    VBAT Esp. Gnd B15 Nothing
    +3.3v Esp. Gnd B15 Works?! What?!
    Ard. +5v Ard. Gnd arduino output Works
    VBAT Esp +Ard Gnd arduino output Works

    What code are you using? I'd use the simple example, where they don't use the graphics library (in order to take any other issue out of the equation, and to ensure that you don't try to turn on too many pixels for your power source to handle - which is easy to do, since each LED on full power will pull 50ma, and you have 128 of them) - something like this:

    SPI2.setup({baud:3200000, mosi:B15});
    SPI2.send4bit([0,0,255,0,255,0,255,0,0,2­55,255,255], 0b0001, 0b0011); 
    

    Also check with a different pin for good measure (SPI1/A7 is a better choice than SPI2, because SPI2 is used for the SD card, so you'll get garbage on your WS2812's if you access the SD card)

    SPI1.setup({baud:3200000, mosi:A7});
    SPI1.send4bit([0,0,255,0,255,0,255,0,0,2­55,255,255], 0b0001, 0b0011); 
    

    I can't come up with any explanation consistent with your observation that WS2812 strip on Esp. GND, VBat and B15 works, other than bad connections. I'd ohm out all the connections, and make sure everything was actually making contact. I've had dupont connectors that didn't make proper contact with certain headers, or ones that I had to push down the wire on to get it to make contact, and it'll drive you mad if you're not on guard for it. This could also jive with your report that the problems started when you hooked it up to an external power supply (maybe you forced the connector over pins a little too large, or something like that - and it works on the arduino because the pins it has are slightly different and make better contact. Or you cracked a solder joint hooking it up, so now power doesn't make contact if the wires are angled a certain way).

    But yeah, I think it's likely a connection issue, as boring as that is.

    Edit 1: Ugh - I thought I could use markdown to make tables here?

    Edit 2: The more I think about this, the more I wonder if your test code is just trying to turn on too many LEDs at too high a brightness, triggering the power source to shut down (or momentary voltage droop that resets the WS2812's so they forget that you just told them to turn on - that's what Gordon uses the cap across power and ground on the panel to prevent)... and if you're using test code that doesn't turn on so many LEDs on the arduino, that'd explain that, and if you're running off espruino on 3.3v so the leds barely turn on, that would dramatically lower current, maybe making it possible to run the test code? It's the most plausible explanation I can come up with, short of a connection issue. (as an aside, that 5v @0.5A supply you were using is woefully insufficient for a panel of that size. )

About

Avatar for DrAzzy @DrAzzy started