DIY LED fan display

I recently came across these LED fans that simply have a blade with a bunch of RGB LEDs placed very close to each other and are thereby able to create a sort of hologram display: REVIEW: 3D Hologram LED Fan Display - Future Is Here! - YouTube

Now I was wondering how difficult ans expensive it would be to diy build a bigger version (1meter diameter) of that with 144LEDs/meter LED strips.

I mean in theory I just need a motor, a blade that I stick the LED strip on, and a microcontroller.

I would probably place the controller in the middle of the blade and have it connect to the LED strip from there. This way I'd only have to find a way to get power to the microcontroller.

Questions remaining are:
Which material should the blade be made out of?
What motor would I need? (In the end I would like to get at least 30fps, so 1800 rpm I guess)
How to get the 2 wires to deliver power onto the rotating blades and thus to the leds and microcontroller? Or should I transmit the power wirelessly? (I need about 9A @5V)
Is there anything else I missed?

One more thing: Can the strip even be updated fast enough?
I think it takes 30μs for every LED in a strip to update. So if I'd cut the 144 in half I'd have 2 72 LED strips that could run in parallel.
time to update one frame: 30μs * 72 = 2160μs = 2.26ms
1000ms / 2.26ms = 442 (fps)

So I could have 442fps without any rotation. But would that even be remotely enough to get a reasonable resolution while it rotates?

Edit 2:
If my calculations are correct, with 8 blades, I could have 128 blade positions running at 28fps:

@2 blades
positions | fps
2 442
4 221
8 110
16 55
32 28

@4 blades
positions | fps
4 442
8 221
16 110
32 55
64 28

@8 blades
positions | fps
8 442
16 221
32 110
64 55
128 28

That would make for a resolution of 128x144 with a ppi that heavily increases the closer you come towards the center.

Start by working out how fast the outer edge of the blade would be moving

Which material should the blade be made out of?


You could reduce the cost by having it plated rather than solid.
The rotational physics is possibly going to be harder than getting an unobtanium rotor.
Instructables website may have a prior existing project guide...

I think I have to go with 8 blades in order to get a reasonable resolution at 30fps.

One more thing that just popped into my mind is safety because I can't put a cage around it without making it look significantly less realistic.

So I was thinking that I should maybe just use a big 1m diameter wooden plate and attach the strips to that, but that would completely destroy the hologram illusion.
I think acrylic glass might work though.
Something like that would greatly reduce the risk of someones arm getting chopped off or someone getting hit by a blade that decides to detach itself while the thing is rotating.

I'm just a bit concerned that the construction ends up being so heavy that I need a ridiculously gigantic motor. And another concern is noise...

Any ideas what motor I should use?


I believe that fan noise can be reduced by having curved blades like a scimitar sword or 'pirate' cutlass.

Similar to the blades on a submarine screw, and also some experimentation has been done to reduce the noise made by the fans on amateur 'hobby-use' hovercraft, airboats, etc.

Do you also need the blade to move air, or are you just looking for the visual effect? It would be a lot hader to make if you're also using the fan for cooling, etc.


The "fan" shouldn't actually move air, it's really just supposed to be a display.

I was just thinking, since I have 8 LED strips on the plate I could cover a whole frame within 1/8th of a rotation.
So if my calculations are correct, I'd only need 28/8=3.5 rotations per second, which would be 3.5*60 = 210 RPM which sounds manageable considering that my CPU fan runs at like 20 times that speed... but then my CPU fan also only has a fraction of the mass, so I'm still really unsure if I need a 200 horse power diesel engine or if a NEMA17 stepper motor would suffice.

i can’t help being fascinated, at a big ‘propeller’ display, but also very concerned at the moving mass.
Where’s this being installed?

An acrylic disk, of around 1m diameter x ‘say’ 10mm thick, is a solid chunk of plastic (and expensive). The internal stresses and spindle loads are going to be significant.

I’d suggest determining all the physical parameters, including weight and position of up your on-disk hardware, the rotational speed etc, then going to visit your local university physics department to identify what’s needed, including out of balance auto shutoff etc.

If this is spinning and shatters, it can do a lot of damage.
I like the idea, and can’t think of another way immediately, but it’s going to be interesting.

One possible variation, is driving the disk from the edge, with rim, belt or idler drive like a turntable. The motor can be a lot smaller, and take a couple of seconds to run up to speed... speed control will be smoother with the reduction ratio of motor shaft to rim diameter, Direct motor drive of the spindle will require a lot of power to vary, but the flywheel effect may help in other areas.

I can’t help thinking there’s going to be a completely different way to approach this if we know the objective and audience for the wheel.

I am planning to build it in a way that I can bring it to hacker and maker conventions. That's why safety is a big concern for me.
But I have no idea what kind of stand I should build for the fan yet.

I don't think that a 10mm thick acrylic plate would be necessary. The LED strips are extremely light weight.

If I would go with a 3mm thick plate, it would weight about 3kg including the LED strips. For every added mm in thickness it would add about 1kg of weight.

I really like the idea of driving it from the edge, but I'm not sure if it's better than driving it from the center. The less you see around and behind the fan, the better the hologram illusion will be.

I also just recalculated the power requirements: The LED strips together with the microcontroller will draw up to 35A at 5V.
I'm still not sure how to get power to the plate at all.

I agree 10mm is pretty solid, but at 1m diameter, it’s going to pick up some surface distortion when spinning.

You will save a lot of power with TDM of the LEDs, probably a much as 80-90% reduction, because the LEDs and POV ‘persistence’ demand the ‘exposure’ on time is very short, or you’ll get smeared images.

Depending on the number of radial strips, you may be able use a relatively slower speed of rotation which would address some of the complications created by very fast rotation.


how are you getting the connections to the LEDs?

Will the arduino be mounted on the disk?

If so, how will you keep the disk balanced?


@lastchancename I think 8 radial strips is already pushing it. I’m not sure if there is a small microcontroller such as the ESP32 that is capable of handling more than 8 strips at the same time and is still able to receive data wirelessly. And I think the more radial strips I use, the less transparent the background would appear, making the hologram illusion look less real.
But with 8 radial strips I’m already down to only needing 3.5 rotations per second which I think is not much faster than your average ceiling fan. Are you sure that surface distortion will be an issue at that speed?

@Peterd51 The Arduino (actually I’ll be using an ESP32) will be mounted in the center or maybe on the back of the plate and will be connected to the 8 LED strips directly. And I was hoping that at 3.5 rotations per second there wouldn’t be any issues with things not being in perfect balance.

You'll probably be ok at ~200 RPM, it's still a mechanical challenge, and I hope your maths is good for displacing the bitmaps on the angled strips !
I'm interested to keep following... it sounds like it could turn out nicely!

Ws2812 is not a good choice for POV projects. The update time is too slow and the PWM frequency is too low. Choose dotStar LEDs instead. One led spoke should be enough, making the circuit much simpler. You will need to counter-weight the LEDs, of course.

I just found out about "slip rings". Maybe these could solve the problem of delivering power onto the rotating plate. But I couldn't find any that handle more than 30A and I couldn't find any that looked like they were made out of metal. So I'm not sure if these could even handle the weight and in addition to that I'm not sure how I could connect this thing to my motor.

@PaulRB I couldn't find any dotStar LED strips. Would I have to design my own PCB?
I'm not sure if having just one spoke would be an advantage as I would have to run it at 8 times the speed (1600rpm instead of 200rpm).
Can you elaborate on the slow update time and pwm? WS2812B LEDs use 400Hz pwm I think. Shouldn't that be enough at 200rpm with 8 radial strips?

Okay, I found a dotStar LED strip on, but it's more than 3 times the price that I would pay for a WS2812B strip. I don't think that would be worth it unless there is a good and cheap way to run this thing at an extremely high rpm without being extremely loud or dangerous.

Normally, the slip rings don't bear any weight
The main BEARings carry the weight, the slip rings meely spin with the disk relative to the shaft.

@lastchancename I don't understand. To me it looks like the slip ring needs to be inserted into the center of the plate where the motor shaft needs to be. Can you elaborate?

I'd really want to do away with the disk, and probably look at using two strips - one for either half, so it's easy to balance out. A single strip is much harder to counterbalance.

Also less, faster moving strips is definitely going to look better in the end. The far less weight you can get away with should help a lot in getting the thing safe. A transparent ring around it to catch any flying debris may be enough.

For safety, keep it out of reach. Place it high up or so. It's so big, I don't see why anyone should be able to get close to it: it's too big to see well from close up anyway. If they go out of their way to ignore the warning signs, climb up your stand and stick their hand in it... well, I'd say that's where your responsibility has ended.

To make the blades: how about fibreglass with epoxy? Or even the much lighter twaron/kevlar/dyneema superstrong fibre? You don't want a mat in this case, just a bundle of fibres along the strip as the only significant force is in that direction. Cross fibres only add to the weight, not to the strength.

In the testing stage, do find a way to spin it up to 10 times your normal running speed, that means 100 times the force. I'd want the device to stay intact at at least 3 times normal speed (about 10x force) for an hour or so, ideally all the way to 10 times normal running speed (100x normal force). That 10x is a rather minimal safety factor. A great experience will be to spin the contraption to destruction, so you see what actually happens (you'll probably lose at least that security ring and the motor in the process).

Slip rings should do the job in getting the power and signals to the blades.

The slip ring goes around the shaft... connecting to the shaft... but of course it's for electrical connections, not for carrying the weight.

it looks like the slip ring needs to be inserted into the center of the plate where the motor shaft needs to be.

The slip rings need to be concentric with the bearings but they do not have to be in the centre of the bearings

Okay, I found a dotStar LED strip on, but it's more than 3 times the price that I would pay for a WS2812B strip.

Yes, but how do Adafruit's "NeoPixel" ws2812 strips compare to other vendor's ws2812 strips, price-wise? With AdaFruit products, you're paying for all the work they do bringing new tech to the Arduino/Maker community, especially the time they spend writing libraries and tutorials.

If you can't afford their prices, Google for "sk9822 led strip".

200rpm = 3.33rps = 300ms/rev

128 pixels per rev is 2.3ms per pixel.

400Hz PWM has a period of 2.5ms, so around the same.

This means, I think, that a pixel of brightness 1, compared with a pixel of brightness 255, won't look dim or bright. They will look the same brightness, but the size of the bright pixel will appear 255 times longer than the dim pixel, because of the movement of the pixel's position across your eye's retina.

I think you would need a pwm frequency at least 10 or 20 times higher than ws2812 to convince the eye into seeing dim and bright pixels. DotStar strips have a 20KHz PWM, 50 times faster than ws2812.