Hi -Thanks so much for your hard work on the FastSPI library.

Hi -Thanks so much for your hard work on the FastSPI library. I’ve been using it since the first version & it’s amazing the support you’ve built in!

I’m bummed to read in below posts that WS2801 has an idle power draw … I was about to convert an old HL1606 project to WS2801 just so I could have some flexibility in how it’s programmed. It’s a wearable with 15m of LED strip that runs continuously for a day or two on a portable battery – because most of the LEDs are off at any particular time. But that length of 2801 is gonna drain this thing in no time :frowning:

Anyway, I’m prepping for the project and had a few questions

  • Has anyone gotten a solid number for the idle draw per pixel on 2801?
  • Is HL1606 support still working in FastSPI2? (I see “deprecated” but am curious if that means it’s been removed)
  • Is it possible to run two or three instances of FastSPI2 simultaneously? By which I mean driving three separate strips through three different data pins…

I wish I’d found this group before I ordered 2801s from China! First, because I would have learned about 2812s (oops!) and second because of the draw… Thanks for any help though! I get my strips tomorrow and will do something with them :slight_smile:

how are your leds activated? if its manually, you can include a positive cut of power to the leds so the off power draw is eliminated.

i dont think you can run multiples, but it does give the capability to run thousands, so batching the leds isnt an issue, but just in physical wiring.

Well, I haven’t actually wired anything yet in this particular upgrade, but on wearables I usually wire in a USB plug for power & just use off-the-shelf rechargeable battery packs for my power source (5-10k mAh). I’m not worried so much about cutting all the power, it’s more that even with a beefy battery pack, a 500-pixel strip depends on only lighting a few pixels simultaneously. My projects play with short pulses that move along the strip… a full rainbow would drain me in an hour or two :frowning:

(and my read on this from posts below is that with 2801s, a “black” pixel is draining only a little less than a lit one?)

HL1606 (and anything requiring a background timer or arduino-managed PWM, so the LPD6803’s and straight up 595 shift registers) are all out of the library now. I believe the HL1606’s also have an idle power draw - though from the sounds of it the WS2801’s are the worst of them all.

Thanks Daniel. How about multiple separate strand support - can I define two strip objects and run them simultaneously on different pins? (ie bitbang not sharing SPI). I understand that I can run one program and drive different segments of it with their own patterns but in this case running strips in series is trickier than if they can all emanate from one point.

Thanks Daniel & Kelvin for your quick responses. Excited to have found this group with so many active projects in development!

You can declare several “controllers” on different pins and run them all, either displaying the same thing or doing completely different things.

Awesome, thanks!

And I am currently working on code to actually run multiple pins in parallel - likely only arm based systems because of performance - right now if you declare multiple controllers the library will write out to them round robin one then the next.