1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

X86/64 NUC + Nodemcu + WS2813

Discussion in 'Hardware Support' started by itsme2501, 23 April 2018.

  1. itsme2501

    itsme2501 New Member

    Messages:
    28
    Hardware:
    +nodeMCU/ESP8266
    Oh OK :)
    So you have worked on all flavors !
    I will try to test/discover the work of Scilor tomorrow, I don't need spare parts as my system is not working yet
     
  2. itsme2501

    itsme2501 New Member

    Messages:
    28
    Hardware:
    +nodeMCU/ESP8266
    Hi folks,
    I have finished the configuration of the Config file from SciLor.
    As you know, i'm using PWM LED : WS2813
    I think i'm done but if someone more knowledgeable than me can take a look on it, i'm a little bit confused with the comment in/out, i put my few comments/questions in the code

    Code:
    /*------------------------------------------------*/
    /*Main static configuration*/
    //This cannot be changed via web inteface
    
    //#define CONFIG_LED_SPI_CHIPSET WS2801 //Comment out for clockless
    //#define FASTLED_ALLOW_INTERRUPTS 0 //Comment in if clockless stripe (ex. WS2812B) is flickering
    //#define CONFIG_LED_CLOCKPIN D2 //Comment out for clockless / PWM
    
    #define CONFIG_LED_CLOCKLESS_CHIPSET WS2813 //Comment in for clockless
    #define CONFIG_LED_PWM 1 //Comment in if PWM Stripe
    // I Don't understand why it is "Comment out for PWM" for the line below
    #define CONFIG_LED_DATAPIN D7 //Comment out for PWM
    
    // I don't know if it block should be commented or not. Why do we need to define a different PIN for each color ?
    #define CONFIG_LED_PWM_RED D1 //Comment in for PWM
    #define CONFIG_LED_PWM_GREEN D2 //Comment in for PWM
    #define CONFIG_LED_PWM_BLUE D3 //Comment in for PWM
    
    //Pin order, see FastLED doc. NodeMCU should work with FASTLED_ESP8266_RAW_PIN_ORDER
    #define FASTLED_ESP8266_RAW_PIN_ORDER
    //#define FASTLED_ESP8266_NODEMCU_PIN_ORDER
    //#define FASTLED_ESP8266_D1_PIN_ORDER
    
    #define CONFIG_LED_COLOR_ORDER GRB
    #define CONFIG_LED_COUNT 213
    
    
     
  3. Akriss

    Akriss Active Member

    Messages:
    355
    Hardware:
    RPi1/Zero, RPi2, RPi3, 32/64bit, +Arduino, +nodeMCU/ESP8266
    This block I believe is for Non-addressable led strips (The whole strip changed to one color)

    For reference I have WS2812B set as:
    Code:
    //#define CONFIG_LED_SPI_CHIPSET WS2801 //Comment out for clockless
    #define CONFIG_LED_CLOCKLESS_CHIPSET WS2812B //Comment in for clockless
    //#define FASTLED_ALLOW_INTERRUPTS 0 //Comment in if clockless stripe (ex. WS2812B) is flickering
    //#define CONFIG_LED_PWM 1 //Comment in if PWM Stripe
    
    #define CONFIG_LED_DATAPIN D1 //Comment out for PWM
    //#define CONFIG_LED_CLOCKPIN D5 //Comment out for clockless / PWM
    //#define CONFIG_LED_PWM_RED D1 //Comment in for PWM
    //#define CONFIG_LED_PWM_GREEN D2 //Comment in for PWM
    //#define CONFIG_LED_PWM_BLUE D3 //Comment in for PWM
    
    //Pin order, see FastLED doc. NodeMCU should work with FASTLED_ESP8266_RAW_PIN_ORDER
    #define FASTLED_ESP8266_RAW_PIN_ORDER
    //#define FASTLED_ESP8266_NODEMCU_PIN_ORDER
    //#define FASTLED_ESP8266_D1_PIN_ORDER
    
    #define CONFIG_LED_COLOR_ORDER GRB
    #define CONFIG_LED_COUNT 10
    Edit: Running on a wemos mini
     
  4. itsme2501

    itsme2501 New Member

    Messages:
    28
    Hardware:
    +nodeMCU/ESP8266
    Thanks Akriss ! Your file is not too different from mine,
    I definitely have some issues with this, i will continue to work on it.

    1 - When i comment these lines :
    Code:
    //#define CONFIG_LED_PWM_RED D1 //Comment in for PWM
    //#define CONFIG_LED_PWM_GREEN D2 //Comment in for PWM
    //#define CONFIG_LED_PWM_BLUE D3 //Comment in for PWM
    I have an error when compiling, i have to comment few lines in this file : https://github.com/SciLor/Hyperion_LED-Controller/blob/master/HyperionRGB/WrapperLedControl.cpp from line 30 to 32.
    You should have to do the same right ?

    2 - I used the same Nodemcu as i used for the ESPixelStick, so i used the same data PIN number which is the D4/GPIO2, i am not able to control my WS2813, even using the WEBUI and running idle test nothing appear.

    Here is my final sketch :
    Code:
    /*------------------------------------------------*/
    /*Main static configuration*/
    //This cannot be changed via web inteface
    
    //#define CONFIG_LED_SPI_CHIPSET WS2801 //Comment out for clockless
    //#define FASTLED_ALLOW_INTERRUPTS 0 //Comment in if clockless stripe (ex. WS2812B) is flickering
    //#define CONFIG_LED_CLOCKPIN D2 //Comment out for clockless / PWM
    
    #define CONFIG_LED_CLOCKLESS_CHIPSET WS2813 //Comment in for clockless
    #define CONFIG_LED_DATAPIN D4 //Comment out for PWM
    
    // #define CONFIG_LED_PWM 1 //Comment in if PWM Stripe
    // #define CONFIG_LED_PWM_RED D1 //Comment in for PWM
    // #define CONFIG_LED_PWM_GREEN D2 //Comment in for PWM
    // #define CONFIG_LED_PWM_BLUE D3 //Comment in for PWM
    
    //Pin order, see FastLED doc. NodeMCU should work with FASTLED_ESP8266_RAW_PIN_ORDER
    #define FASTLED_ESP8266_RAW_PIN_ORDER
    //#define FASTLED_ESP8266_NODEMCU_PIN_ORDER
    //#define FASTLED_ESP8266_D1_PIN_ORDER
    
    #define CONFIG_LED_COLOR_ORDER GRB
    #define CONFIG_LED_COUNT 213
    
    I don't understand what can be root cause of that, i know that my leds are working i used it with ESPixel, cabling and power are the same, so it should be only software.
    Thx
     
  5. Akriss

    Akriss Active Member

    Messages:
    355
    Hardware:
    RPi1/Zero, RPi2, RPi3, 32/64bit, +Arduino, +nodeMCU/ESP8266
    No. I only edited the Configstatic.h file.


    Hmm I thought I remembered that this firmware has a webui when pointing a browser to the IP of the node. I'm not seeing it. . hmmm

    You might need to use a different option here, there are only three to choose and only one needs to be uncommented
    Code:
    //Pin order, see FastLED doc. NodeMCU should work with FASTLED_ESP8266_RAW_PIN_ORDER
    #define FASTLED_ESP8266_RAW_PIN_ORDER
    //#define FASTLED_ESP8266_NODEMCU_PIN_ORDER
    //#define FASTLED_ESP8266_D1_PIN_ORDER
     
  6. itsme2501

    itsme2501 New Member

    Messages:
    28
    Hardware:
    +nodeMCU/ESP8266
    Thanks Akriss !
    I solved my issue, it was a little thing with a strong impact :)
    The issue was a line that i commented out this line :
    // #define CONFIG_LED_PWM 1 //Comment in if PWM Stripe

    I put it in comment again and it works, so i don't know what is behind the PWM Stripe but it is important to don't use it for this kind of setup :)
     
  7. AmbiMod

    AmbiMod Member

    Messages:
    49
    Hardware:
    RPi1/Zero, RPi2, RPi3, 32/64bit, +Arduino, +PhilipsHue, +AtmoOrb, +nodeMCU/ESP8266
    Here is mine with some tweaks
    Code:
                                                                                                             // --- Web interface and Log Level --- //
    #define WEBCONFIG                                           // Enable/Disable Web Interface ( Port 80 ). Comment this line to disable this function
    #define LOGLEVEL LOG_LEVEL_INFOS                            // Enable/Disable LOG. Replace LOG_LEVEL_INFOS by LOG_LEVEL_DEBUG or LOG_LEVEL_VERBOSE and Comment this line to disable LOG.
    
                                                                                        // ---  WIFI and OTA Configuration ( Can be changed on Web Interface ) --- //
    #define CONFIG_WIFI_HOSTNAME "ESP8266"                      // Device name.
    #define CONFIG_PORT_JSON_SERVER 19444                       // Port JSON.
    #define CONFIG_PORT_UDP_LED 19446                           // Port PROTO.
    
    #define CONFIG_WIFI_SSID "ssid"                             // Wifi Name.
    #define CONFIG_WIFI_PASSWORD "password"                     // Wifi Password.
    #define OTA_PASSWORD "AmbiMod"                              // Password for OTA programmation.
    
    #define CONFIG_WIFI_STATIC_IP 1                             // Enable/Disable IP Static configuration . Comment this line to disable this function and activate DHCP. ( See below to set Static IP Address ).
    
    // Hyperion start Effect.
    #define CONFIG_LED_STANDARD_MODE RAINBOW                    // Change RAINBOW by OFF, HYPERION_UDP, RAINBOW, STATIC_COLOR or FIRE2012.
    #define CONFIG_LED_HYPERION_AUTOSWITCH true
    #define CONFIG_LED_STANDARD_MODE_TIMEOUT_MS 5000
    
                                                                                           // --- LEDs Configuration. ( Cannot be changed on Web Interface  )  --- //
    #define CONFIG_LED_CLOCKLESS                                // Set the type of LEDstipe you use between CONFIG_LED_CLOCKLESS, CONFIG_LED_PWM ( Non Adressable LEDstrips ) or CONFIG_LED_SPI.
    #define CONFIG_LED_SPI_CHIPSET APA102                       // Change this value if you set CONFIG_LED_SPI ( APA102, WS2801... ).
    #define CONFIG_LED_CLOCKLESS_CHIPSET WS2812B                // Change this value if you set CONFIG_LED_CLOCKLESS ( WS2812, WS2812B, WS2813... ).
    
    #define CONFIG_LED_COUNT 24                                 // Number of LEDs. If CONFIG_LED_PWM, set the value to 1.
    #define CONFIG_LED_COLOR_ORDER RGB                          // Color Order.
    #define CONFIG_LED_DATAPIN D7                               // DATA Pin.
    #define CONFIG_LED_CLOCKPIN D4                              // CLOCK Pin if CONFIG_LED_SPI_CHIPSET.
    
    // Only if you set CONFIG_LED_CLOCKLESS/CONFIG_LED_PWM. Can fix Flickering, Stuterring...problems. Comment/Uncomment lines and/or change value to 1,2,3...
    //#define FASTLED_INTERRUPT_RETRY_COUNT 0
    #define FASTLED_ALLOW_INTERRUPTS 0
    
    #define FASTLED_ESP8266_RAW_PIN_ORDER                       // Can be changed with the value FASTLED_ESP8266_RAW_PIN_ORDER, FASTLED_ESP8266_NODEMCU_PIN_ORDER or FASTLED_ESP8266_D1_PIN_ORDER.
    
                                                                                          // ---  Optional options. Depending on your configuration set above --- //
    // Change values if WEBCONFIG is active.
    #ifdef WEBCONFIG                                            // NOT CHANGE THIS LINE.
      #define CONFIG_ENABLE_WEBCONFIG 1                         // NOT CHANGE THIS LINE.
      #define CONFIG_OVERWRITE_WEBCONFIG 1                      // Replaces all values in the webconfig with the configuration set in Config.Static
    #endif
    
    // Change values if Static IP Adress is activated.( Can be changed on Web Interface )
      #ifdef CONFIG_WIFI_STATIC_IP                              // NOT CHANGE THIS LINE.
        const byte CONFIG_WIFI_IP[] = {192, 168, 1, 123};       // IP Address.
        const byte CONFIG_WIFI_SUBNET[] = {255, 255, 255, 0};   // NetMask.
        const byte CONFIG_WIFI_DNS[] = {192, 168, 1, 1};        // DNS/Gateway.
      #endif
    
    // Change values if CONFIG_LED_PWM is set.
    #ifdef CONFIG_LED_PWM                                       // NOT CHANGE THIS LINE.
      #define CONFIG_LED_PWM_RED D1                             // RED Pin.
      #define CONFIG_LED_PWM_GREEN D2                           // GREEN Pin.
      #define CONFIG_LED_PWM_BLUE D3                            // BLUE Pin.
    
    #if CONFIG_LED_COUNT != 1                                 // NOT CHANGE THIS PART
          #error "Change the number of LEDs to 1."
      #endif
    #endif
    
    What i changed twice in WrapperLedControl.cpp

    Code:
    #ifdef CONFIG_LED_CLOCKLESS_CHIPSET
    into
    #ifdef CONFIG_LED_CLOCKLESS
    and in WrapperOTA.cpp
    Code:
      // ArduinoOTA.setPassword((const char *)"schnulli");
    ArduinoOTA.setPassword((const char *)OTA_PASSWORD);
    
     
    Last edited: 13 May 2018
  8. itsme2501

    itsme2501 New Member

    Messages:
    28
    Hardware:
    +nodeMCU/ESP8266
    I tried with Scilor Sketch and ESPixel and my LED still have some issues like some "flash" .
    It is not related to hyperion as i am experiencing this even when using only the effect from ESPixel and the rainbow effect with Scilor. It is even worse with Fire effect.
    So it is hardware related.
    My HW setup is :
    213 LED WS2813 Powered on both side with the same power supply. Each pieces of my stip is connected using soldered wired. The two data are connected on the same PIN. (as the ws2813 has two same data allowing the led strip to work even if one led is dead)
    Power supply 5V 15A
    Nodemcu LUA v3 using D4 output. ESP-12E, Running at 160Mhz, 4M(3M SPIFFS), v2 lower memory, upload speed 115200

    I don't use level shiffter in my setup.
    Can it be the root cause of my issue or i have to look something else ?

    EDIT : Adding video to show the issue :

    Not yet available as vimeo is taking time to convert it ...
     
    Last edited: 17 May 2018
  9. Akriss

    Akriss Active Member

    Messages:
    355
    Hardware:
    RPi1/Zero, RPi2, RPi3, 32/64bit, +Arduino, +nodeMCU/ESP8266
    Try a different pin.
    I know pin D4 on a Wemos mini is linked to the onboard led.
    I had the leds on D4 and the first led on my strip would blink green in conjunction with the led on the Wemos. Drove me nuts for a week till I noticed the leds blinked at the same time.

    Hope it helps.
     
  10. itsme2501

    itsme2501 New Member

    Messages:
    28
    Hardware:
    +nodeMCU/ESP8266
    Hi Akriss,
    Thanks i Will try that.
    Do you use level shiffter in your setups or not ?
     
  11. Akriss

    Akriss Active Member

    Messages:
    355
    Hardware:
    RPi1/Zero, RPi2, RPi3, 32/64bit, +Arduino, +nodeMCU/ESP8266
    I have been lucky with the wemos mini and small numbers of led (<30) With out the use of a level shifter.

    I tried a long string of led's, 140 or so, and. it seemed to respond better with a level shifter. I also had to make sure that
    Code:
    #define FASTLED_ALLOW_INTERRUPTS 0
    was enabled in the sketch, and not commented out
     
  12. penfold42

    penfold42 Moderator Developer

    Messages:
    742
    Hardware:
    RPi1/Zero, RPi2, RPi3, 32/64bit, +Arduino, +nodeMCU/ESP8266
    Level shifter is required based on the data sheets.

    With small short setups you’ll often get away with it but most meaningful setups have longer wires and need it.
     
  13. itsme2501

    itsme2501 New Member

    Messages:
    28
    Hardware:
    +nodeMCU/ESP8266
    Hi folks,
    I have good news to share!
    So at this time everything is now working as expected.
    I am now using pin D4 instead of D7, the result was the same (led flash) then I added a level shifter and the flash are gone.
    I tried with 51 Led without level shifter no issue but with 213LED I definitely need it.
    I am very happy, now I have to calibrate colors, I am now powering my led strip at 3 different places this way my led are white all along the stripe with only one power connected the end of the was not really white, it was a kind of yellow/white.
     
    • Like Like x 1
  14. penfold42

    penfold42 Moderator Developer

    Messages:
    742
    Hardware:
    RPi1/Zero, RPi2, RPi3, 32/64bit, +Arduino, +nodeMCU/ESP8266
    Excellent !
     
    • Like Like x 1