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

Thread: ws2812b + teensy 4.0: LED strip only shows few frames when powered on

  1. #1

    ws2812b + teensy 4.0: LED strip only shows few frames when powered on

    Hello,

    recently I soldered my teensy 4.0 and ws2812b LED strip setup together with a new thicker cable for better electricity flow.
    Before that it worked quite well, but now it is acting weird and whenever I power the LED strip it just shows a few frames and then gets stuck. Sometimes even only a couple of the 144 LEDs update and then it freezes.
    Maybe this helps you to understand the problem: When I'm plugging in and unplugging the power cord for the LED strip really fast and repetitive I can actually see some motion happening on the LEDs because then they acutally update a couple of times.
    Unfortunately this is a bit exhausting, so I would like to know what's the issue.

    The only things I can think of that changed after soldering are that the cable is thicker now and I am using a logic level converter (https://eckstein-shop.de/SparkFun-Lo...r-Pegelwandler) because I was told that the 3V data signal of the Teensy has to be converted to a 5V signal in order for the LED strip to work correctly. Which is weird because before I wasn't using one and it worked fine. I also tried the new setup without the logic level converter but I ran into the same problem. I tried a lot of different Arduino sketches but none of them worked as they should.

    I used this code for example (It was recommended to me by a different user on Reddit I guess):
    Code:
    /* New Product Test Sketch by Chemdoc77
       used to test new RGB LED strips and Matrix that I purchase.
       Note:  Uses FastLED's Parallel Output procedure to work with a Teensy 4.0
    */
    
    #include <FastLED.h>
    
    #define DATA_PIN  7
    int brightness = 40;
    
    // Teensy 4.0 Stuff ================
    #define NUM_LEDS_PER_STRIP 144
    #define NUM_STRIPS 1
    #define NUM_LEDS   NUM_LEDS_PER_STRIP  
    CRGB leds[NUM_LEDS_PER_STRIP * NUM_STRIPS];
    
    void setup() { 
      delay(1000);
      // Teensy 4.0 Stuff ==============
        FastLED.addLeds<NUM_STRIPS, WS2812B,DATA_PIN,GRB>(leds, NUM_LEDS_PER_STRIP);
      //USE for WS2811:      
     // FastLED.addLeds<NUM_STRIPS, WS2811, DATA_PIN >(leds, NUM_LEDS_PER_STRIP);
      FastLED.setBrightness(brightness);
      FastLED.setMaxPowerInVoltsAndMilliamps(5, 1500);
       set_max_power_indicator_LED(13);
      fill_solid(leds, NUM_LEDS, CRGB::Black);
      FastLED.show();
     
    }
    void loop() {  
    
         fill_solid( leds, NUM_LEDS, CRGB::Red);
         FastLED.delay(500);
          
         fill_solid( leds, NUM_LEDS, CRGB::Black);
         FastLED.delay(500);
        
         fill_solid( leds, NUM_LEDS, CRGB::Blue);
         FastLED.delay(500);
          
         fill_solid( leds, NUM_LEDS, CRGB::Black);
         FastLED.delay(500);
         
         fill_solid( leds, NUM_LEDS, CRGB::Green);
         FastLED.delay(500);
          
         fill_solid( leds, NUM_LEDS, CRGB::Black);
         FastLED.delay(500);
           
         fill_solid( leds, NUM_LEDS, CRGB::Yellow);
         FastLED.delay(500);
          
         fill_solid( leds, NUM_LEDS, CRGB::Black);
         FastLED.delay(500);
    
         cd77_colorwipe_dot(CRGB::Red, 0, NUM_LEDS, 40);
         cd77_colorwipe_dot(CRGB::Blue, 0, NUM_LEDS, 40);
         cd77_colorwipe_dot(CRGB::Green, 0, NUM_LEDS, 40);
       
    }
    
    //==================== Functions ===============================
    
    
    void cd77_colorwipe(CRGB color,  uint16_t to, uint16_t wait) {
      for (uint16_t i = 0; i <to; i++) {
        leds[i] = color;
        FastLED.delay(500);
      }
    }
    
    
    void cd77_colorwipe_line2(CRGB color, uint16_t wait) {
      for (uint16_t i = 0; i <NUM_LEDS; i++) {
        leds[i] = color;
        FastLED.show();
       }
    }
    
    void cd77_colorwipe_line(CRGB color, uint16_t wait) {
      for (uint16_t i = 0; i <NUM_LEDS; i++) {
        leds[i] = color;
        FastLED.delay(wait);
       }
    }
    
    
    void cd77_colorwipe_dot(CRGB color,uint16_t from,  uint16_t to,  uint16_t wait) {
      for (uint16_t i = from; i <to; i++) {
        leds[i] = color;
        FastLED.delay(wait);
        leds[i] = CRGB::Black;
        FastLED.show();
        
        
      }
    }
    
    void cd77_colorwipe_dot_fast(CRGB color) {
      for (uint16_t i = 0; i <NUM_LEDS; i++) {
        leds[i] = color;
         FastLED.show();
        leds[i] = CRGB::Black;
        FastLED.show();
        
        
      }
    }
    I also tried the default blink sketch of FastLED as well as the OctoWS2811 library, but that didn't get me any further to solving the problem.

    Using an Arduino Uno it works perfectly, so I don't think I did something wrong at soldering the components.
    If I am missing out something really important, please tell me.
    Does it maybe have to do with teensy's clock or something like that?

  2. #2
    Member
    Join Date
    Apr 2020
    Location
    Germany, NRW
    Posts
    33
    That ws2812b strips are very timing sensitive. I did not event get them to work with FastLED. Adafruits NeoPixel worked somehow.

    Regarding that 5v/3v issue, you can power them with 3v if the data in high is also 3v. It worked for me on 3.3v boards without a "Pegelwander".

    Could be an idea to disable irqs during the update.

  3. #3
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    21,812
    Try adding this before the include for FastLED.h

    Code:
    #define FASTLED_ALLOW_INTERRUPTS 0

  4. #4
    Quote Originally Posted by PaulStoffregen View Post
    Try adding this before the include for FastLED.h

    Code:
    #define FASTLED_ALLOW_INTERRUPTS 0
    When I try to add that line I get this error:

    Code:
    Arduino: 1.8.12 (Windows 10), TD: 1.52-beta3, Board: "Teensy 4.0, Serial, 600 MHz, Faster, US English"
    
    In file included from C:\Users\finle\Desktop\DemoReel100\DemoReel100.ino:2:0:
    
    D:\Programme\Arduino\hardware\teensy\avr\libraries\FastLED/FastLED.h:14:21: note: #pragma message: FastLED version 3.003.001
    
     #    pragma message "FastLED version 3.003.001"
    
                         ^
    
    In file included from D:\Programme\Arduino\hardware\teensy\avr\libraries\FastLED/platforms/arm/mxrt1062/fastled_arm_mxrt1062.h:10:0,
    
                     from D:\Programme\Arduino\hardware\teensy\avr\libraries\FastLED/platforms.h:23,
    
                     from D:\Programme\Arduino\hardware\teensy\avr\libraries\FastLED/FastLED.h:52,
    
                     from C:\Users\finle\Desktop\DemoReel100\DemoReel100.ino:2:
    
    D:\Programme\Arduino\hardware\teensy\avr\libraries\FastLED/platforms/arm/mxrt1062/block_clockless_arm_mxrt1062.h: In member function 'virtual void FlexibleInlineBlockClocklessController<LANES, FIRST_PIN, T1, T2, T3, RGB_ORDER, XTRA0, FLIP, WAIT_TIME>::showPixels(PixelController<RGB_ORDER, LANES, ((1 << LANES) - 1)>&)':
    
    D:\Programme\Arduino\hardware\teensy\avr\libraries\FastLED/platforms/arm/mxrt1062/block_clockless_arm_mxrt1062.h:102:3: error: 'MS_COUNTER' was not declared in this scope
    
       MS_COUNTER += (1 + (microsTaken / 1000));
    
       ^
    
    D:\Programme\Arduino\hardware\teensy\avr\libraries\FastLED/platforms/arm/mxrt1062/block_clockless_arm_mxrt1062.h: In instantiation of 'uint32_t FlexibleInlineBlockClocklessController<LANES, FIRST_PIN, T1, T2, T3, RGB_ORDER, XTRA0, FLIP, WAIT_TIME>::showRGBInternal(PixelController<RGB_ORDER, LANES, ((1 << LANES) - 1)>&) [with unsigned char LANES = 1u; int FIRST_PIN = 7; int T1 = 250; int T2 = 625; int T3 = 375; EOrder RGB_ORDER = (EOrder)66u; int XTRA0 = 0; bool FLIP = false; int WAIT_TIME = 50; uint32_t = long unsigned int]':
    
    D:\Programme\Arduino\hardware\teensy\avr\libraries\FastLED/platforms/arm/mxrt1062/block_clockless_arm_mxrt1062.h:99:36:   required from 'void FlexibleInlineBlockClocklessController<LANES, FIRST_PIN, T1, T2, T3, RGB_ORDER, XTRA0, FLIP, WAIT_TIME>::showPixels(PixelController<RGB_ORDER, LANES, ((1 << LANES) - 1)>&) [with unsigned char LANES = 1u; int FIRST_PIN = 7; int T1 = 250; int T2 = 625; int T3 = 375; EOrder RGB_ORDER = (EOrder)66u; int XTRA0 = 0; bool FLIP = false; int WAIT_TIME = 50]'
    
    C:\Users\finle\Desktop\DemoReel100\DemoReel100.ino:125:1:   required from here
    
    D:\Programme\Arduino\hardware\teensy\avr\libraries\FastLED/platforms/arm/mxrt1062/block_clockless_arm_mxrt1062.h:170:14: warning: unused variable 'wait_off' [-Wunused-variable]
    
         uint32_t wait_off = _FASTLED_NS_TO_DWT((WAIT_TIME-INTERRUPT_THRESHOLD));
    
                  ^
    
    Error compiling for Board Teensy 4.0.

  5. #5
    Member
    Join Date
    Apr 2020
    Location
    Germany, NRW
    Posts
    33
    Could you share the code of this .ino please?

  6. #6
    Code:
    #define FASTLED_ALLOW_INTERRUPTS 0
    #include <FastLED.h>
    
    #define NUM_LEDS 144
    #define DATA_PIN 7
    
    CRGB leds[NUM_LEDS];
    
    void setup() {
           FastLED.addLeds<WS2812B, DATA_PIN, RGB>(leds, NUM_LEDS);
    }
    
    void loop() { 
      // Turn the LED on, then pause
      leds[0] = CRGB::Red;
      FastLED.show();
      delay(500);
      // Now turn the LED off, then pause
      leds[0] = CRGB::Black;
      FastLED.show();
      delay(500);
    }
    In this sketch I get that error but also in other sketches like the one I postet at first

  7. #7
    The console log I postet was thrown by exactly this sketch:

    Code:
    #define FASTLED_ALLOW_INTERRUPTS 0
    #include <FastLED.h>
    
    FASTLED_USING_NAMESPACE
    
    // FastLED "100-lines-of-code" demo reel, showing just a few 
    // of the kinds of animation patterns you can quickly and easily 
    // compose using FastLED.  
    //
    // This example also shows one easy way to define multiple 
    // animations patterns and have them automatically rotate.
    //
    // -Mark Kriegsman, December 2014
    
    #if defined(FASTLED_VERSION) && (FASTLED_VERSION < 3001000)
    #warning "Requires FastLED 3.1 or later; check github for latest code."
    #endif
    
    #define DATA_PIN    7
    #define LED_TYPE    WS2812B
    #define COLOR_ORDER GRB
    #define NUM_LEDS    144
    
    CRGB leds[NUM_LEDS];
    
    #define BRIGHTNESS          50
    #define FRAMES_PER_SECOND  120
    
    void setup() {
      delay(2000);
      // Use NEOPIXEL to keep true colors
      FastLED.addLeds<1, LED_TYPE,DATA_PIN,COLOR_ORDER>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);
      //FastLED.addLeds<LED_TYPE,DATA_PIN,CLK_PIN,COLOR_ORDER>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);
    
      // set master brightness control
      FastLED.setBrightness(BRIGHTNESS);
    }
    
    
    // List of patterns to cycle through.  Each is defined as a separate function below.
    typedef void (*SimplePatternList[])();
    SimplePatternList gPatterns = { rainbow, rainbowWithGlitter, confetti, sinelon, juggle, bpm };
    
    uint8_t gCurrentPatternNumber = 0; // Index number of which pattern is current
    uint8_t gHue = 0; // rotating "base color" used by many of the patterns
      
    void loop()
    {
      // Call the current pattern function once, updating the 'leds' array
      gPatterns[gCurrentPatternNumber]();
    
      // send the 'leds' array out to the actual LED strip
      FastLED.show();  
      // insert a delay to keep the framerate modest
      FastLED.delay(1000/FRAMES_PER_SECOND); 
    
      // do some periodic updates
      EVERY_N_MILLISECONDS( 20 ) { gHue++; } // slowly cycle the "base color" through the rainbow
      EVERY_N_SECONDS( 10 ) { nextPattern(); } // change patterns periodically
    }
    
    #define ARRAY_SIZE(A) (sizeof(A) / sizeof((A)[0]))
    
    void nextPattern()
    {
      // add one to the current pattern number, and wrap around at the end
      gCurrentPatternNumber = (gCurrentPatternNumber + 1) % ARRAY_SIZE( gPatterns);
    }
    
    void rainbow() 
    {
      // FastLED's built-in rainbow generator
      fill_rainbow( leds, NUM_LEDS, gHue, 7);
    }
    
    void rainbowWithGlitter() 
    {
      // built-in FastLED rainbow, plus some random sparkly glitter
      rainbow();
      addGlitter(80);
    }
    
    void addGlitter( fract8 chanceOfGlitter) 
    {
      if( random8() < chanceOfGlitter) {
        leds[ random16(NUM_LEDS) ] += CRGB::White;
      }
    }
    
    void confetti() 
    {
      // random colored speckles that blink in and fade smoothly
      fadeToBlackBy( leds, NUM_LEDS, 10);
      int pos = random16(NUM_LEDS);
      leds[pos] += CHSV( gHue + random8(64), 200, 255);
    }
    
    void sinelon()
    {
      // a colored dot sweeping back and forth, with fading trails
      fadeToBlackBy( leds, NUM_LEDS, 20);
      int pos = beatsin16( 13, 0, NUM_LEDS-1 );
      leds[pos] += CHSV( gHue, 255, 192);
    }
    
    void bpm()
    {
      // colored stripes pulsing at a defined Beats-Per-Minute (BPM)
      uint8_t BeatsPerMinute = 62;
      CRGBPalette16 palette = PartyColors_p;
      uint8_t beat = beatsin8( BeatsPerMinute, 64, 255);
      for( int i = 0; i < NUM_LEDS; i++) { //9948
        leds[i] = ColorFromPalette(palette, gHue+(i*2), beat-gHue+(i*10));
      }
    }
    
    void juggle() {
      // eight colored dots, weaving in and out of sync with each other
      fadeToBlackBy( leds, NUM_LEDS, 20);
      byte dothue = 0;
      for( int i = 0; i < 8; i++) {
        leds[beatsin16( i+7, 0, NUM_LEDS-1 )] |= CHSV(dothue, 200, 255);
        dothue += 32;
      }
    }

  8. #8
    Does anyone have an idea on how to solve this?

  9. #9
    Quote Originally Posted by FinleyOderSo View Post
    Does anyone have an idea on how to solve this?
    FinleyOderSo:

    I am no expert on WS2812B LED strips, by any means, but I do have three 10-meter strings of WS2812B LEDs strung together & hung around the underside of our back patio, all being controlled by a Teensy 4.0 (using an IR remote to command the Teensy), so maybe with that behind me, I can try to help a little.

    With the sketch that I wrote, when I add the "#define FASTLED_ALLOW_INTERRUPTS 0" as suggested earlier, I get the same compile error that you are seeing & cannot load/run my sketch. Without that addition (or by explicitly changing it to "#define FASTLED_ALLOW_INTERRUPTS 1"), my environment is reporting "FastLED version 3.003.003" & everything compiles/runs just fine. Maybe updating your version of the library would be worth a try ??

    Here are the particulars of my Arduino build environment:

    Arduino version: 1.8.12
    Teensyduino version: 1.51
    Arduino IDE Configuration:

    Tools/Board: "Teensy 4.0"
    Tools/USB Type: "Serial + MIDI"
    Tools/CPU Speed: "600MHz"
    Tools/Optimize: "Fastest"
    Tools/Keyboard Layout: "US English"
    Tools/Port: "COMx Serial (Teensy 4.0)"

    Here are the pertinent lines in my setup() function (it looks similar enough to yours that I feel that yours is likely correct):

    Code:
    #include <FastLED.h>
    #include "GRB_colors.h"
    
    #define NUM_LEDS 900
    #define COLOR_ORDER GRB
    CRGB leds[NUM_LEDS];
    #define SPLASH_COLOR    UV_PURPLE
    #define RGB_LED_PIN 7
    
    void setup()
    {
       // initialize the LED library
       FastLED.addLeds<1, WS2812B, RGB_LED_PIN>(leds, NUM_LEDS);
    
       pinMode(RGB_LED_PIN, OUTPUT);
    
       int intensity = 2;
    
       // Example: fill_solid( leds, NUM_LEDS, CRGB(50,0,200));
       fill_solid(leds, NUM_LEDS, SPLASH_COLOR);
    
       // blink the LED with increasing intensity at startup
       for (int i = 0; i < 4; i++)
       {
          for (int j = 0; j < 5; j++)
          {
             FastLED.setBrightness(intensity - 1);
             FastLED.show();
    
             // wait for 1/20 second
             delay(100);
    
             FastLED.setBrightness(0);
             FastLED.show();
    
             // wait for 1/20 second
             delay(100);
          }
    
          intensity *= 4;
    
          // wait for 1/4 second
          delay(PATTERN_DELAY_STEP);
       }
    
       // wait for a small bit before starting
       delay(100);
    
    [ . . . go do some other setups to allow LEDs to either blink between two colors, scroll two colors like a marquis, or display any one of ten pre-defined patterns ]
    }  // setup()
    Maybe you could substitute this into your setup() & see if you get the intended blinks in increasing intensity.

    Mark J Culross
    KD5RXT

  10. #10
    Thank you for your effort but...
    I have the same versions for Arduino, Teensyduino and FastLED installed and also the same configuration as you. I can also implement the line:
    Code:
    #define FASTLED_ALLOW_INTERRUPTS 1
    But it doesn't solve the problem. I had to modify your code a little because I don't have:
    Code:
    GRB_colors.h
    It didn't help either.

    Could it be that the board is somehow damaged?

  11. #11
    I did a full reinstall of Arduino and Teensyduino aswell.

  12. #12
    FinleyOderSo:

    Sorry, I overlooked the "GRB_colors.h" file . . . that was my local rework of the "RGB_colors" file for the GRB color order used by the WS2812B strips that I have.

    On the subject of library versions, I made my comment about updating the library because your earlier console log shows 3.003.001 vice 3.003.003.

    I suppose it's possible that your board is damaged as you suspect, especially if any of its inputs were accidentally directly exposed to >3.3VDC (the Teensy 4.0 is not 5VDC tolerant). You might try using a different I/O pin for your DATA_PIN & see if that makes any difference.

    Let us know what you find . . .

    Good luck & have fun !!

    Mark J Culross
    KD5RXT

  13. #13
    Senior Member PaulS's Avatar
    Join Date
    Apr 2015
    Location
    Netherlands
    Posts
    136
    I'm seeing the same issues as FinleyOderSo.
    To avoid any power issues I started with a 24 pixel NeoRing.
    The following code:
    Code:
    #define FASTLED_ALLOW_INTERRUPTS 0
    #include <FastLED.h>
    
    #define DATA_PIN    2
    #define LED_TYPE    NEOPIXEL
    #define NUM_LEDS    24
    
    CRGB strip[NUM_LEDS];
    
    void setup() {
      FastLED.addLeds<LED_TYPE, DATA_PIN>(strip, NUM_LEDS);
      FastLED.setBrightness(16);
    }
    
    void loop() {
      for (int dot = 0; dot < NUM_LEDS; dot++) {
        strip[dot] = CRGB::White;
        FastLED.show();
        delay(50);
        strip[dot] = CRGB::Black;
      }
    }
    does not compile for Teensy 4, throwing the error:
    In file included from C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\FastLE D/platforms/arm/mxrt1062/fastled_arm_mxrt1062.h:10:0,

    from C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\FastLE D/platforms.h:23,

    from C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\FastLE D/FastLED.h:52,

    from C:\Users\Paul\Documents\Arduino\Teensy4_NeoPixel24 _FastLED\Teensy4_NeoPixel24_FastLED.ino:2:

    C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\FastLE D/platforms/arm/mxrt1062/block_clockless_arm_mxrt1062.h: In member function 'virtual void FlexibleInlineBlockClocklessController<LANES, FIRST_PIN, T1, T2, T3, RGB_ORDER, XTRA0, FLIP, WAIT_TIME>::showPixels(PixelController<RGB_ORDER, LANES, ((1 << LANES) - 1)>&)':

    C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\FastLE D/platforms/arm/mxrt1062/block_clockless_arm_mxrt1062.h:102:3: error: 'MS_COUNTER' was not declared in this scope

    MS_COUNTER += (1 + (microsTaken / 1000));

    ^

    In file included from C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\FastLE D/platforms/arm/mxrt1062/fastled_arm_mxrt1062.h:9:0,

    from C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\FastLE D/platforms.h:23,

    from C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\FastLE D/FastLED.h:52,

    from C:\Users\Paul\Documents\Arduino\Teensy4_NeoPixel24 _FastLED\Teensy4_NeoPixel24_FastLED.ino:2:

    C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\FastLE D/platforms/arm/mxrt1062/clockless_arm_mxrt1062.h: In instantiation of 'uint32_t ClocklessController<DATA_PIN, T1, T2, T3, RGB_ORDER, XTRA0, FLIP, WAIT_TIME>::showRGBInternal(PixelController<RGB_OR DER>) [with int DATA_PIN = 2; int T1 = 250; int T2 = 625; int T3 = 375; EOrder RGB_ORDER = (EOrder)66u; int XTRA0 = 0; bool FLIP = false; int WAIT_TIME = 50; uint32_t = long unsigned int]':

    C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\FastLE D/platforms/arm/mxrt1062/clockless_arm_mxrt1062.h:45:22: required from 'void ClocklessController<DATA_PIN, T1, T2, T3, RGB_ORDER, XTRA0, FLIP, WAIT_TIME>::showPixels(PixelController<RGB_ORDER>& ) [with int DATA_PIN = 2; int T1 = 250; int T2 = 625; int T3 = 375; EOrder RGB_ORDER = (EOrder)66u; int XTRA0 = 0; bool FLIP = false; int WAIT_TIME = 50]'

    C:\Users\Paul\Documents\Arduino\Teensy4_NeoPixel24 _FastLED\Teensy4_NeoPixel24_FastLED.ino:23:1: required from here

    C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\FastLE D/platforms/arm/mxrt1062/clockless_arm_mxrt1062.h:91:14: warning: unused variable 'wait_off' [-Wunused-variable]

    uint32_t wait_off = _FASTLED_NS_TO_DWT((WAIT_TIME-INTERRUPT_THRESHOLD));

    ^

    Error compiling for board Teensy 4.0.
    When removing the first line #define FASTLED_ALLOW_INTERRUPTS 0, the sketch compiles fine, but does not work. All LEDs are max white [while I set FastLED.setBrightness(16);].

    However, if I replace the Teensy 4 by a Teensy 3.2 and use exactly the same sketch, including the #define FASTLED_ALLOW_INTERRUPTS 0, everything compiles and runs fine.

    Here is the hardware setup [showing Teensy 3.2 connected]:
    Click image for larger version. 

Name:	IMG_20200507_095223.jpg 
Views:	7 
Size:	81.3 KB 
ID:	20010

    The NeoPixel ring is powered from pin Vin [5V].

    Arduino 1.8.12, Teensyduino 1.51, FastLED 3.3.1, Windows 7.
    I also tried FastLED 3.3.3 [the latest version cloned from Github] but that did not help.

    Regards,
    Paul

  14. #14
    Quote Originally Posted by kd5rxt-mark View Post
    FinleyOderSo:

    Sorry, I overlooked the "GRB_colors.h" file . . . that was my local rework of the "RGB_colors" file for the GRB color order used by the WS2812B strips that I have.

    On the subject of library versions, I made my comment about updating the library because your earlier console log shows 3.003.001 vice 3.003.003.

    I suppose it's possible that your board is damaged as you suspect, especially if any of its inputs were accidentally directly exposed to >3.3VDC (the Teensy 4.0 is not 5VDC tolerant). You might try using a different I/O pin for your DATA_PIN & see if that makes any difference.

    Let us know what you find . . .

    Good luck & have fun !!

    Mark J Culross
    KD5RXT
    I tried 3.003.003 as well as different I/O pins.
    And I don't recall connecting 5V to any I/O pin.

  15. #15
    I tried it with a different Teensy 4.0 and I get the same Problem so it probably isn't damaged at all.

Posting Permissions

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