Hey has anyone tried this with the Intel Edison?
No, because it isn’t yet supported
https://github.com/FastLED/FastLED/wiki/Overview#supported-platforms
Also, at this point it looks like Edison has an Operating System (Yocto Linux), and the FastLED driver code only runs on microcontrollers with no operating system, e.g. Arduino boards etc.
That could change in the future, but at this point the only supported platforms are OS-less microcontrollers.
Resurrecting an old thread, sorry. The MCU is now available to use, but I’m not sure exactly how one would do FastLED for it. For now, it looks as if the only thing with stable timing at that resolution on the MCU would be the PWM controller to signal WS281x, but I may be assuming too much
I’m interested in taking a crack at this, although it may take a while as I can’t say this is my highest priority.
Some questions.
- The PWM is 1.8V I think, that would have to be level shifted to 3.3V or 5V, right?
- Are the PWM’s the best place to start for driving the signal, or do I not understand this well enough?
- I don’t see that it supports C++ (can’t compile a simple class), so this may be a huge effort that isn’t worth it right now. I can’t effectively mimic the API in any meaningful way, but since you wouldn’t necessarily call specific API’s from the Edison (messaging specific methods perhaps?), maybe that’s not a big deal.
Thoughts? Has anyone looked into this elsewhere? I see some SPI projects to talk to LED’s with an Edison, but nothing for NeoPixels.
These kinds of LEDs don’t use the MCU’s PWM. The MCU sends digital color data to the whole strip at once using a digital output pin or two. For 4-wire LEDs, this is easy: use two output pins, done.
For 3-wire LEDs, like the (accursed) Neopixel WS2811 and friends, the timing of the digital signal on the wire must be precise down to a certain number of nanoseconds. And that’s where the fun starts. Or ends, depending.
We’d love to have the help, seriously, but in order to dive in you’ll probably need assembly language skills, an oscilloscope, and a few dozen hours to devote to the project.
If you do proceed, I’d strongly recommend starting with porting support for 4-wire LED strips like the APA102. AFTER you get that figured out, then you can take a deep breath and dig into the Neopixel … thing.