Dedicated Multicolor LED Plug



  • I'd be happy with just a plain white LED light, and will probably just use an "always on" fan socket, but many boards cater for RGB leds these days and it would probably be a good feature to have.

    Along with some firmware to suit it as well possibly.


  • administrators

    Already possible if you use a DueX2 or DueX5 expansion board, see https://www.duet3d.com/forum/thread.php?pid=5380#p5380. We still need to decide what firmware support to provide, beyond allowing you to set the colours using M42 commands as at present. Any suggestions?

    For the future, if we supported 4 fan outputs on the main board then you would have the option of using one for a fan and 3 for RGB LEDs



  • My wanhao D6 has 24v LED, so I just used the second always on fan plug. I'd use one of the variable ones but a mosfet blow on fan0 😞

    I guess what I am trying to say is have a plug that can be used for anything. So if there is a need for an LED plug maybe more "fan" plugs are needed.



  • @gzcwnk:

    My wanhao D6 has 24v LED, so I just used the second always on fan plug. I'd use one of the variable ones but a mosfet blow on fan0 😞

    I guess what I am trying to say is have a plug that can be used for anything. So if there is a need for an LED plug maybe more "fan" plugs are needed.

    Isn't that what expansion boards are for? If more plugs (or anything else for that matter), are provided on the main board, then it will drive the cost up for everyone. Whereas providing them via expansion boards (i.e Duex2 and 5) means that only those who need them, pay the extra.


  • administrators

    Yes there is a balance between additional components on the main board, and having to have an expansion board "just" for extra LEDs.

    Saying that if you just wanted LEDs then a stripboard circuit with simple through hole components is easy to rig up using the expansion header.



  • What about control of more complex RGB led arrays such as neopixels?



  • @kelchm:

    What about control of more complex RGB led arrays such as neopixels?

    Why do you think that functionality should added to a 3D printer controller?



  • … play Doom on PanelDue while printing? πŸ™‚



  • Printrbot sells one here which is included on the Simple Pro. I think the Delta Go also uses a neopixel ring.

    Basically I'd like to have statuses indicated something like this:

    • Idle: white/blue

    • Heating Up: 'breathing' fade from blue to red

    • Printing: white

    • Error: flashing red

    EDIT: Here's the implementation in Printrbot's Marlin fork: https://github.com/Printrbot/Marlin/blob/prod-platformio-2017/src/botlight.cpp



  • It is really hard not to want a lot of bling on the printer.
    Especially if it is useful bling telling the status.


  • administrators

    I am all for bling if it can be accomplished with out addin to the cost for everyone who does not want bling πŸ™‚

    In this case, looking at neo pixels and 3.3V systems:
    https://learn.adafruit.com/adafruit-neopixel-uberguide/power#driving-5v-neopixels-from-3-dot-3v-microcontrollers

    IT looks like a short run of neo pixels may be able to work with a 3.3V system, provided and external ~3.7V supply was used to light the pixels or a 3.3V to 5V level shifter was used with a 5V supply.

    Looking at this page

    https://learn.adafruit.com/adafruit-neopixel-uberguide/advanced-coding

    It implies the NeoPixels need an 800Khz signal for communication. This is well within the capabilities of the Duet, however the firmware would need to adapted to provide support (so a request to add to the firmware wish list. The advantage to adding support for neo pixel is that it only requires one logic pin to set a number of LEDs. The disadvantage is that it then limits us to using neopixels (or compatibility) rather than any old RGB leds.



  • I'm just feeling my age.

    Idle = nothing's moving - I don't need to look at a Blue/White LED to tell me that.
    Warming up = I've started a print but nothing is yet moving - why do I need a fading Blue to Red LED to tell me that?
    Printing = the b***dy thing is moving back and forth and there is hot gooey filament coming out - I need a white LED as well???
    Error = I have a horrible mess of plastic on the print bed - I can see it perfectly well without it being illuminated by a flashing Red LED.

    Thoughts of a grumpy old man….............



  • I have some RGBW neopixels I'll be connecting to my printer today. I'll be driving them with a separate nano or trinket (I have a few of each around). At first, there will just be some pre-programmed loops I can switch through with a button. They're powered off of a separate 5v supply so it has enough current.

    I see two options for how to decide what to display on them:

      • use the RPi running my webcam to scrap rr_status, and change the LED display based on that by sending GPIO signal to the arduino's pins. This allows a lot of different settings and functions, and can auto disable them when the duet's off. More complex coding.
    1. use gcode to send signal to pins on the duet, connect them to the arduino to indicate status. (I can power the nano off of the same 12v power as the duet, same ground). This would let me change the LED state via gcode to indicate different printer conditions. However, I'm not sure how many pins I can use to do this. Is there a way I can enable / disable signal on the GPIO pins using gcode?





  • Very handy, thanks Jackal.

    I think, at least at first, controlling status via gcode using m42 will be the easier of the two options, though it won't give me quite as cool of results (no way to slowly increase the color to be more red as the temperature warms up, for instance)

    Sill, allows me to do some cool things very easily.



  • If I were to want to scrape status, would I be better using the pi to pull rr_status, or should I connect it via serial and poll status that way? (curl grabs rr_status nicely for parsing, so was thinking I'd go that route)


 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.