Hey, Since the APA's 102 have high refresh rates,

Hey,

Since the APA’s 102 have high refresh rates, compared to WS2812B is it possible to drive

  1. 1 x5000 Pixel @ 40fps on one teensy pins
  2. 10 x 500 Pixel @ 40fps on ten teensy pins
  3. any combination in between, like 5 x 1000 Pixel @ 40fps on 5 teensy pins.

Thanks for answers!

5000 pixels/frame * 32bits/pixel = 160,000 bits/frame
160,000 bits/frame * 40 frames/sec = 6,400,000 bits/sec
6.4 MHz is definitely achievable on a Teensy (I’ve used 12 MHz in the past with good results), so yes, this is possible.

Edit: APA102s are 32 bits per pixel, not 24

You can use up to four hardware SPI lines on a Teensy: https://github.com/FastLED/FastLED/wiki/SPI-Hardware-or-Bit-banging#getting-four-hardware-spi-lines-for-the-apa102-out-of-the-teensy-3031

I’m not sure there is any speed difference between one continuous strand, versus splitting into four.

@Jason_Coon the reason to split across the four possible pairs of outputs is because it seems that, for most apa102 strips, the longer the strip is, the lower the data rate you need on it (note: this is a problem with the strips - not with the apa102, I have a board with 768 apa102’s on it that has zero problems running at 24Mhz).

This might end up being a reason to implement parallel output for clocked protocols – not to increase output speed, but to increase the number of pixels which can be addressed at a given clock speed on pixel strips.

It’s something I’m going to look into for my next Burning Man project, that’s for sure. I had a bunch of problems addressing strips which were only 340 pixels long, simply because of the sheer size of the installation (the communication lines were extremely long).

It’s on the list to eventually do – but there’s a bunch of things that are higher up on the “need to get done, first” chain. Also - I’m noticing that apa102’s are virtually disappearing from aliexpress, while ws2812 and clones are still running around everywhere.

I suspect that, even as much as we may be preferring the apa102, the world at large is sticking with the 2812 and friends.

@Daniel_Garcia regarding the disapearance of APA102, its to do with a manufacturing shortage. Everyone wants them, but there is some screw up with manufacturing. I have a good contact in China who supplies me with huge bulk orders of APA102, and they have been telling me since December 2015 that they were running around different manufacturers trying to get hold of them

The problem isn’t just the lack of strips - it’s also the lack of all the other form factors that WS2812 and clones are available in - which APA102’s were never made available in.

Yeah, 8mm APA102 and node strings would be really nice.

@Andreas_Pleschutznig I have the same problem what you think is caused by data reshaping. But I don’t have the feeling it’s causedby the Stripe or APA-Chips, but from the teensy. I played around with DATA_RATE and NUM_LEDS.
On the hardware SPI I can drive much more leds, before the strange flickering appears.
@Luminous_Elements My teensy is definitely not able to drive your calculation, since the bitbanging doesnt drive at 6Mhz with 5000Pixels.
I found the best results for me on a teensy 3.2 with 96Mhz with 10x300 Pixels @ 40fps. 4 Stripes on the hardware SPI on 12Mhz and 8 Stripes bit-banged with 6 Mhz.

Thanks a lot so far!

Another question: The project I’m working on is an art-net node. So I’ll hook up a WIZ820io on the teensy for Ethernet support. Does this module needs the SPI pins? Will I run into problems with the pin 7,11,13,14 that I use for the leds?

@Birk_Schmithusen I’ve been able, with the teensy 3.2, to drive 768 APA102’s on a single board with no flickering at 24Mhz with hardware SPI. The issue is absolutely being caused by something to do with the strips more likely than either the teensy or the APA102 chips themselves.

The WIZ820io is going to want to use SPI - whether or not it will work with software SPI, I honestly have no idea.

If the WIZ820io is going to want to use hardware SPI, then you, obviously, aren’t going to be able to use those hardware SPI pins for leds as well without at least creating some kind of support for select lines for the led strips.

@Daniel_Garcia Yes, I could reproduce 768 APA102’s at 24Mhz, although just with a level-shifter and without resistor in the data-line.
But when I try 4x768 the flickering starts after pixel 250 or so.
Thanks for the info on the WIZ820io. I’l check if it works with software SPI.

Hi @Daniel_Garcia , can you tell us a bit more about that single board setup with 768 APA102 running at 24Mhz ? is it a custom made PCB ? did you add any decoupling caps to that layout ? any additional hints on why you are able to achieve such SPI speeds with that setup ? Thanks, JP

It was a 28x28 apa102 board I found on aliexpress, I didn’t do anything extra to/with it when I got it. (I wasn’t even using a level shifter). So, I have no idea why it works better than the strips.

@Birk_Schmithusen I forgot to mention that I was using a level shifter (the OctoWS2811 board sold from the Teensy Store). For PCB traces or very short cable runs you can just get by with 3.3V logic, but for anything significant you’ll want a level shifter to boost the signal to 5V.

@Luminous_Elements and @Birk_Schmithusen Do either of you have insight on using the OctoWS2811 adapter with APA102s? I saw on PRJC a quick comment that it “should work,” but I’m having a tough time finding out why it’s not definite and if people have had success using that board. I’m mainly interested in it for it’s physical structure - if I can’t use it easily then I’ll likely just use a Sparkfun level shifter breakout for this project.

More detail: I’m trying to drive 12 different lengths of 1,100 - 1,200 pixels each (30+ meters each with 33pixel/meter strip). My intention (pending more input) is to use one Teensy 3.2 per set of 1,200 pixels, each with an Octo adapter board.