2

​My son and I are trying to build a somewhat large Rotating POV Cylinder (or Globe) making use of ready-made Addressable RGB LED strips (WS28011 or LPD8806?). After some browsing, we found that many of the stuff in the web make use of Arduino and similar micro-controllers. They also create their own codes or programs.

Since we are not that technically competent, we would prefer to make use of our windows-based PCs or the T1000 controller for the LED strip, if this is possible. If not, my son knows a bit of C+ and Python. We would attempt to play video or a series of images to the Rotating POV device. We are considering to use a Raspberry Pi since I intend to show videos in the POV and make use of a large number of addressable RGB LEDs.

My questions are:

  • Is this project feasible?
  • Could the controller just play one line of pixels of an image in a portion of a microsecond while it is rotated to produce the desired image? Most of the POV samples in the web are only several pixels high while I am thinking of something that is around 120 to 240 pixels high.
  • What readily available micro-controller or micro-processor do you suggest and why?
  • What Addressable RGB LED Strip should I use? We are considering the WS28011 strips since they have as many as 144 LEDs per meter.
  • There is a T1000 controller. Can this be used?
  • Are there ready-made applications that will allow to display videos in the Rotating POV Cylinder (such as the LedEdit for LED matrices)? Perhaps we could acquire the output of the LedEdit app and divide these into columns.

Below is an image of what we are trying to achieve.

Rotating POV LED Display Plan

We would appreciate your comments and feedback. I would just want my son (and I in the process) to learn from something that seems to interest him.

Regards,

JB

jbl
  • 21
  • 1
  • 3
  • If you want to do something 250 pixels wide at a refresh rate of 20Hz (which would probably be painfully slow) that would require supplying new data to *every LED* every 200us. Many addressable LED strips use a pause in transmission as a cue to update their data, and thus cannot be updated that fast, and even without that restriction clocking out all the required pixels every frame would be difficult. I'd suggest subdividing your system into small sections which can refresh themselves automatically. – supercat Nov 04 '14 at 17:52
  • Thank you! That's what my son suggested as well. At this stage, we have decided(?) to use LPD8806 RGB LEDs and Raspberry Pi. This will require several Pi's if I would divide the strips, right? How many LEDS per Pi would you suggest to arrive at a respectable refresh rate? – jbl Nov 05 '14 at 04:38
  • I would consider the Raspberry Pi to be simultaneously overkill but insufficient for driving the LEDs directly, since it's not really designed to do many things with precise timing. Something like an Arduino would probably be cheaper and work better. Set it up to use an interrupt once per revolution which should synchronize and start a timer interrupt which would then clock out the data for the lights. – supercat Nov 05 '14 at 14:27
  • Thanks! Will I need several Arduinos or just one to handle around 60 to 120 LED Strip? – jbl Nov 06 '14 at 03:13
  • One could probably display some number of pixels with a single Arduino; optimized code might be able to display ten times as many as simpler code. I'd suggest setting up an architecture so that e.g. each transmission starts with a zero byte and a board ID from 1-127, followed by byte values from 128-255 to set pixel brightness, so one could easily use any number of Arduinos. Then one could easily adjust the number of Arduinos as needed to achieve the desired horizontal resolution. – supercat Nov 06 '14 at 03:23
  • Thanks! I will purchase both a Pi and an Arduino. Am also considering a Beaglebone Black. Wish me luck! I hope I would still get your inputs during the build. I intend to create a blog detailing what we are doing, what we did wrong, and hopefully, what went right... – jbl Nov 07 '14 at 03:21

2 Answers2

3

This is a very ambitious first project, and it will take a fair bit of work to get it to work at all. Here are a few thoughts:

  • You will need very robust mechanical components to support something tall spinning fast. Ideally you'd put another bearing on the top.
  • Balance will be important. It would be easier with 4 strips.
  • You need a way to make it safe, which means enclosing it. A clear acrylic tube would work nicely (and give you a way to mount a top bearing), but it's not going to be cheap, and it may diffuse the light.
  • I don't remember what the viewing angle of the RGB LEDs is, but it's not great. You viewing part will be, at best, the 45 degrees of the cylinder that is facing you.
  • Power and data to the LEDs will be problematic. You could push power with slip rings (as long as you filter on the LED side), but I doubt you can push data over it. That leaves you doing something wireless to get the data out there, perhaps 802.11 or 802.15, or something else. Since you need a high data rate for POV, you'll need to do a good job here.
  • WS2812 is great, but according to Phillip Burgess at adafruit, in "The Magic of NeoPixels", it's not good for POV. They recommend LPD8806. Because "the WS2812 ... refresh rate is relatively low (about 400 Hz), and color displays in fast motion may appear “speckled.” ... For POV use, LPD8806 strips will look much better (they have about a 4 KHz refresh rate)."
  • You can drive ws2812 with the Pi, but you need a special library to do it, and I'm not sure what data rate you get.
  • You will definitely need to write code for this project.
davidcary
  • 17,426
  • 11
  • 66
  • 115
Eric Gunnerson
  • 1,216
  • 6
  • 6
  • Thanks, Eric! For the mechanical aspect, I think I have that covered and I do intend to place bearings at both ends. – jbl Nov 04 '14 at 05:25
  • For the mechanical aspect, I think I have that covered and I do intend to place bearings at both ends. As for the balance with 4 strips, I like your suggestion. I may also move the 2 strips a bit further back to make it appear 3-dimensional (?). And this will be enclosed for safety. I intend to make use of slip rings for power (perhaps data) and have the controller hidden at the base of the rotating display. Hopefully, I could store the videos or images in an SD Card. Is this possible. I will try LPD8806 which means I will have another line for clock or data. What controller do you suggest? – jbl Nov 04 '14 at 05:33
1

What you want is very close to Stargate Eggbeater. It uses Raspberry Pi, a continuos strip of 142 LPD8806 RGB LEDs, and a slip ring to solve power tranfer to rotational object.

avra
  • 1,872
  • 3
  • 14
  • 21
  • Yes, I've seen that but it seems to be only able to show images that are sometimes mirrored in their POV Globe. I will make use of slip rings for the power but will explore other options ofr the data. I need suggestions as to what controllers to use? Thanks again! – jbl Nov 04 '14 at 12:02