Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    NeoPixels, 3.5.0 RC3

    Scheduled Pinned Locked Moved Solved
    General Discussion
    4
    16
    485
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • droftartsundefined
      droftarts administrators @DonStauffer
      last edited by

      @DonStauffer connlcd.5 pin is 3.3V. Are you using a level shifter? How long is the LED string? What RRF version did it last work correctly with?

      When I updated the LED wiki page, I tested pretty much all boards and quite a few firmware versions, and I remember the first LED on a strip always having problems on a 3.3V output. However, I don’t think I tested firmware versions before RGBW support was added.

      Ian

      Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

      DonStaufferundefined 3 Replies Last reply Reply Quote 0
      • DonStaufferundefined
        DonStauffer @droftarts
        last edited by

        @droftarts M950 E0
        NeoPixel_RGB strip on port "(connlcd.np,connlcd.db7,connlcd.5)" uses bit-banging, frequency 400000Hz, max strip length 28

        (The "400000" is left over from my trying to solve the problems by changing clock frequency, which didn't change the behavior. The length of 28 is a 10 LED strip and an 18. I've been experimenting with connecting 2 strips in "series")

        gloomyandyundefined 1 Reply Last reply Reply Quote 0
        • DonStaufferundefined
          DonStauffer @droftarts
          last edited by

          @droftarts I have a CMOS buffer pulling the voltage up to 5V.

          1 Reply Last reply Reply Quote 0
          • gloomyandyundefined
            gloomyandy @DonStauffer
            last edited by

            @DonStauffer What does it report if you get rid of the Q400000 you added? I'd like to see the base frequency.

            DonStaufferundefined 1 Reply Last reply Reply Quote 0
            • DonStaufferundefined
              DonStauffer @gloomyandy
              last edited by

              @gloomyandy M950 E0
              NeoPixel_RGB strip on port "(connlcd.np,connlcd.db7,connlcd.5)" uses bit-banging, frequency 2500000Hz, max strip length 28

              1 Reply Last reply Reply Quote 0
              • DonStaufferundefined
                DonStauffer @droftarts
                last edited by

                @droftarts I'm also seeing occasional random flashes of a few of the LEDs during changes. Not a major problem, but not right and it wasn't happening before the firmware update.

                gloomyandyundefined 1 Reply Last reply Reply Quote 0
                • gloomyandyundefined
                  gloomyandy @DonStauffer
                  last edited by

                  @DonStauffer I'd try changing the frequency either side of the default say from 2000000 to 3000000 if even a little wider see how it changes things. You may only need to change it by a small amount so try 100000 steps. I know you tried a different frequency before, but that was around 400KHz, which is actually ok for the Neopixel bit update frequency, but in this case the frequency being specified is the clock used by the underlying hardware which uses multiple clocks per neopixel bit, hence the default is much higher at 2.5MHz.

                  DonStaufferundefined 1 Reply Last reply Reply Quote 0
                  • DonStaufferundefined
                    DonStauffer @gloomyandy
                    last edited by

                    @gloomyandy I'll try some more frequencies. I think I tried 3200000 and 3000000 and 800K & 400K, as well as whatever the default is.

                    dc42undefined 1 Reply Last reply Reply Quote 0
                    • dc42undefined
                      dc42 administrators @DonStauffer
                      last edited by dc42

                      @DonStauffer if it was working OK before the firmware update then changing the frequency is unlikely to fix it. If it's a Duet then the frequency is ignored in bit-banging mode anyway.

                      Please test whether he problem still exists using the updated firmware at https://www.dropbox.com/scl/fo/yzchzlyxmxlzywjawqflu/h?rlkey=tl7dfs75yozhfgpze0jnkn32n&dl=0.

                      I think the board you are using is a Duet 2 - can you confirm that?

                      Do you have a level shifter connected between the Duet output and the LED strip? Neopixel and similar LEDs need 5V drive but most outputs on the Duet only provide 3.3V. See https://hackaday.com/2017/01/20/cheating-at-5v-ws2812-control-to-use-a-3-3v-data-line/.

                      Duet WiFi hardware designer and firmware engineer
                      Please do not ask me for Duet support via PM or email, use the forum
                      http://www.escher3d.com, https://miscsolutions.wordpress.com

                      DonStaufferundefined 1 Reply Last reply Reply Quote 0
                      • DonStaufferundefined
                        DonStauffer @dc42
                        last edited by DonStauffer

                        @dc42 RepRapFirmware for Duet 2 WiFi/Ethernet version 3.5.0-rc.3+ (2024-03-18 09:34:21) running on Duet WiFi 1.02 or later + DueX5 (after installing the file you linked to)

                        The results are now about 1 in 5 times the first LED is green at power on until it reaches the 2 lines in config.g:

                        M950 E0 C"connlcd.np" T1 U28
                        M150 E0 R0 U0 B0 P0 S28 F0 ; Off

                        That would be fine if it always was like that, but the rest of the time it's the way it was, and M999 never fixes it.

                        The level shifter is as you described: The Duet CONN_LCD pin 5 feeds the input of the buffer, and the output goes to the NeoPixel data line.

                        The only other thing is I would swear this time that when I gently nudged the wiring the green light went out once. I doubt I touched the conductors, and all connections are crimped, plugged in, or soldered. So it isn't like I interrupted an alligator clip connection or something. I would guess static electricity or capacitance had something to do with it. The buffer chip is a hex buffer (ON Semiconductor MC74VHCT50A) and I've tried 3 of the 6 buffers with identical results.

                        dc42undefined droftartsundefined 2 Replies Last reply Reply Quote 0
                        • dc42undefined
                          dc42 administrators @DonStauffer
                          last edited by

                          @DonStauffer thanks for reporting this. I have reproduced it and fixed it in the RRF 3.5 source code.

                          Duet WiFi hardware designer and firmware engineer
                          Please do not ask me for Duet support via PM or email, use the forum
                          http://www.escher3d.com, https://miscsolutions.wordpress.com

                          1 Reply Last reply Reply Quote 0
                          • droftartsundefined
                            droftarts administrators @DonStauffer
                            last edited by

                            @DonStauffer @dc42 has fixed this issue. Latest binaries are here: https://www.dropbox.com/scl/fo/wrp6hvr39vjxjlep89p5x/h?rlkey=hzka49sxnsqjpwsvy46m26ms0&dl=0

                            Ian

                            Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                            DonStaufferundefined 2 Replies Last reply Reply Quote 1
                            • DonStaufferundefined
                              DonStauffer @droftarts
                              last edited by

                              @droftarts Thanks! I downloaded and will report results later today.

                              1 Reply Last reply Reply Quote 0
                              • DonStaufferundefined
                                DonStauffer @droftarts
                                last edited by

                                @droftarts Looks perfect. I haven't done extensive testing, but absolutely no issues so far. Still random before the configuration lines get hit, but that's fine. After, everything behaves beautifully!

                                1 Reply Last reply Reply Quote 0
                                • Phaedruxundefined Phaedrux marked this topic as a question
                                • Phaedruxundefined Phaedrux has marked this topic as solved
                                • First post
                                  Last post
                                Unless otherwise noted, all forum content is licensed under CC-BY-SA