I’m attempting to build a spherical persistence of vision display using a 26" bicycle wheel mounted axially at top and bottom on a 36" shaft. I have 40 WS2801 leds mounted around the wheel (20 on a side) such that the lights trace out a sphere when the shaft spins. The system is driven with an Arduino Uno. I’m hoping to achieve 16fps on the full image which requires the wheel to spin at 480rpm. That means the wheel makes a full turn every 125ms So, to draw an image 40 pixels wide, I need to refresh the entire strip of 40 leds 80 times within 125ms. (one update to draw the column and another to draw black before drawing the next column).
It seems the best I am able to achieve with FastLED using hardware SPI is ~170ms for 80 calls to show() on a strip of 40 pixels or 2.125 ms per show() call. This is with a very simple loop to cycle through a static array of color values. Does this sound like expected timing? Can someone help me understand how to calculate the expected refresh rate? (datasheet says 2.5khz but I’m not sure how to interpret that).
Any suggestions to speed things up?
Any help is much appreciated!