Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 8 of 8

Thread: OctoWS2811 basic test behaving erratically

  1. #1

    OctoWS2811 basic test behaving erratically

    Hi,

    I am building a bigger and badder version of a holiday display, and with as many RGB LEDs as I expect to use I am trying to use Teensy 3.6 + OctoWS2811. I have the Teensy working, the OctoWS2811 connected, a few LED strands connected to the Ethernet cables, and the LEDs powered by a powerful enough power supply. The LED strands are good, when I use the Neopixel strandtest on the Teensy (minus OctoWS2811) they light properly.

    All seems wired well, and just to test things I am lighting up 20 or so LEDs. But, when I run the included basic test code (File > Examples > OctoWS2811 > BasicTest, running as is, no changes other than changing number of LEDs) all doesn't work well, pink and yellow light up, red flashes all sorts of colors, some LEDs stay lit the same color regardless. Behavior is erratic all round.

    I know that this is kinda open ended, but I am not sure where to even start looking.

    Any ideas? Thanks.

    --- Ben
    Last edited by BenF; 10-27-2017 at 09:10 PM.

  2. #2
    Double check your wiring, especially in the power supply region...
    in my experience, high current loads (20 leds x 50ma each(?) - 1 amp) can quickly destabilize the processor power supply. Just a thought. For loads like motors or large led arrays I always try to use a separate power supply.

  3. #3
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    22,257
    These types of problems are usually due to power delivery issues.

    We can't see what you've actually done unless you post photos.

  4. #4
    Thanks. I have attached pictures as requested. At this point I have simplified things down to a single strand of just 10 NeoPixel LEDs. The Teensy is getting power from the USB, so separate from the power supply powering the LEDs. As I keep having to connect and disconnect things the CAT connection goes to spring terminals on a breadboard. I've circuit tested every connection from the CAT end through the breadboard, as well as all the way to the NeoPixel for the one pair being used.

    Click image for larger version. 

Name:	IMG_20171029_111356.jpg 
Views:	49 
Size:	127.1 KB 
ID:	11919
    Click image for larger version. 

Name:	IMG_20171029_111342.jpg 
Views:	50 
Size:	149.4 KB 
ID:	11920

    Thanks in advance!

    --- Ben

  5. #5
    Junior Member
    Join Date
    Oct 2017
    Posts
    4
    did you choose corect led chipset and color order?? maybe share the code you modified and let us know what led model you use?

  6. #6
    Code:
    #include <OctoWS2811.h>
    
    const int ledsPerStrip = 10;
    
    DMAMEM int displayMemory[ledsPerStrip*6];
    int drawingMemory[ledsPerStrip*6];
    
    const int config = WS2811_GRB | WS2811_800kHz;
    
    OctoWS2811 leds(ledsPerStrip, displayMemory, drawingMemory, config);
    
    void setup() {
      leds.begin();
      leds.show();
    }
    
    #define RED    0xFF0000
    #define GREEN  0x00FF00
    #define BLUE   0x0000FF
    #define YELLOW 0xFFFF00
    #define PINK   0xFF1088
    #define ORANGE 0xE05800
    #define WHITE  0xFFFFFF
    
    // Less intense...
    /*
    #define RED    0x160000
    #define GREEN  0x001600
    #define BLUE   0x000016
    #define YELLOW 0x101400
    #define PINK   0x120009
    #define ORANGE 0x100400
    #define WHITE  0x101010
    */
    
    void loop() {
      int microsec = 2000000 / leds.numPixels();  // change them all in 2 seconds
    
      // uncomment for voltage controlled speed
      // millisec = analogRead(A9) / 40;
    
      colorWipe(RED, microsec);
      colorWipe(GREEN, microsec);
      colorWipe(BLUE, microsec);
      colorWipe(YELLOW, microsec);
      colorWipe(PINK, microsec);
      colorWipe(ORANGE, microsec);
      colorWipe(WHITE, microsec);
    }
    
    void colorWipe(int color, int wait)
    {
      for (int i=0; i < leds.numPixels(); i++) {
        leds.setPixel(i, color);
        leds.show();
        delayMicroseconds(wait);
      }
    }
    It's the Basic Test as is, just changed the length. I believe the color order is correct. If it were wrong I'd expect the wrong colors to display, not random changes or pixels locked in one color or specific colors never showing.

    Thanks for the suggestions, I really appreciate it.

  7. #7
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    22,257
    The Octo board is installed backwards in your photo. The RJ45 jacks are supposed to face towards the SD card side of Teensy 3.6.

    This is the correct orientation:


  8. #8
    Oh my! I must have inverted when I moved it from one Teensy to the other!

    I'll give it a try, thanks so much.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •