2. an alternative would be to use a separate processor (teensy, arduino micro, etc.) to drive it.
I would do this. Updating these kinds of LEDs costs significant amount of CPU power from the Arduino, which will block the printing process.
2. an alternative would be to use a separate processor (teensy, arduino micro, etc.) to drive it.
I would do this. Updating these kinds of LEDs costs significant amount of CPU power from the Arduino, which will block the printing process.
I've added Neopixels to Marlin successfully.The interrupt blocking is a concern. I updated only 4 of them and no more than 4x / second. It's possible there were timing hiccups but I didn't notice any print quality issues.
An alternative is the BlinkM modules (which I've also integrated into Marlin). A single super-bright RGB LED with an I2C interface. It's a "smart" LED in that it will blink, fade, etc. on it's own....you can download scripts for it. Which makes it easy to have it flash color sequences or pulse without having the AVR update it constantly.
As others have pointed out, this would probably interfere with the interrupts. How I would do it would be to set up a Trinket to run the neopixels, and also set up the Trinket as an I2C slave device, come up with an ad hoc protocol, and send commands over I2C.
Recommended Posts
kevin-osborn 9
I'm not sure what pins are available, but there are a couple of considerations:
1. the Neopixel libraries use assembly, and disable interrupts. It would probably be ok if nothing else is going on, but could cause problems during printing.
2. an alternative would be to use a separate processor (teensy, arduino micro, etc.) to drive it.
Link to post
Share on other sites