A SPINNING BALL OF LIGHT THAT PAINTS A FLOATING 3D GLOBE ON YOUR DESK
Sixty-four RGB LEDs spin fast enough that persistence of vision paints a full-colour 3D globe, a clock or animations onto a ball.
by lhm0
DisplaysOpen-hardware
- difficulty
- ●●●●●
- time
- several weekends
- license
- MIT
- repo
- repo ACTIVE39 stars
●●●●● · several weekends · MIT · 39 stars · repo ACTIVE
WHAT YOU’LL NEED
- Dev board / microcontroller — runs the project firmware
Partner
COMPAREE VERDICT
This is firmware and control software for a rotating LED sphere that uses persistence of vision to paint 3D images. The repository assumes you already know how to build the mechanical rig: a motor, slip rings or wireless power, a rotating PCB with 64 WS2812 LEDs arranged in strips, and an ESP32 to drive them. There is no mechanical drawing, no board gerber, no BOM. The code is clean and the video streaming over WiFi is impressive, but the hard part — making a sphere that spins smoothly at the right speed without wobbling or killing the LEDs — is entirely up to you. If you have built POV displays before and just need the display logic and streaming, this is excellent. If you are starting from zero, you will spend more time hunting down how other people built theirs than reading this repo. The single biggest trap is assuming the repository will tell you what motor speed to use or how to mount the LEDs — it will not.
IN THE REPO
NOT IN THE REPO
- —Repository contains ESP32 firmware, Python controller, video streaming scripts and example images.
- —No CAD files, no board layout, no step-by-step assembly guide.
- —No bill of materials — hardware choice is reverse-engineered from code comments and the video.
- —Licence is MIT, unrestricted use.
- —Wireless power and mechanical design are not documented — you design your own or find a similar POV globe project for the frame.
- —If you have never built a persistence-of-vision display, this repository will not teach you how to start.
Can I build this?
This build involves mains voltage — for adults comfortable with electrical work only.
Build at your own risk. Projects involve tools, electronics and sometimes mains voltage — follow the creator’s safety notes.
Partner · KickstarterHeyGears G1: 10M+ colors and transparent parts in one print, plus UV printing on flat objects. Figures, parts and labels — no painting.
Gallery
Start here
Navigation into the creator’s own docs — we don’t rewrite the guide, we route you to the source.
- 1.Read the README to understand the LED layout and ESP32 pin assignments (The only place the hardware setup is implied — no separate doc)
- 2.Research other POV globe projects for mechanical design(This repo does not tell you how to build the frame — you need a second source)
- 3.Install the ESP32 firmware from the /firmware directory(Arduino or PlatformIO required)
- 4.Run the Python controller to stream images(Requires Python 3 and the libraries in requirements.txt)
KNOWN ISSUES
- The repository gives you the display logic but not the mechanical design — if you do not already have a plan for mounting 64 LEDs on a spinning arm with power delivery, you will stall.
- No BOM means you guess the motor spec, the power rating, whether to use slip rings or wireless charging, and how fast to spin.
- LED alignment matters — if the strips are not perfectly radial or the sphere wobbles, the image will tear or smear.
- The firmware assumes a hall-effect sensor or similar for zero-position detection — if you skip that, the image will drift as the motor speed changes.
- Wireless power coils at this speed are not trivial — expect tuning and interference if you go that route.
- If the motor draws mains voltage, the entire rig is a mains hazard during testing — build a proper enclosure before running it at speed.
What motor do I need?
The repository does not specify. You need something that spins smoothly at a few hundred RPM (exact speed depends on the desired frame rate and flicker tolerance). Builders of similar POV projects use brushless motors with ESC control or small DC motors with encoders.
Can I use a different LED count?
The firmware is written for 64 WS2812 LEDs arranged in a specific layout. Changing the count means rewriting the mapping and possibly the frame buffer size.
How do I get power to the spinning LEDs?
Slip rings are the traditional answer. Some builders use wireless charging coils. The repo does not document either — you implement whichever you are comfortable with.
Is there a PCB design?
No. You wire the LEDs yourself or design a board to match the layout the firmware expects.
Community builds
No community builds yet — be the first, we feature the best ones.
Discussion1
FROM THE COMPAREE TEAM
Sixty-four LEDs spinning fast enough to paint a 3D globe — but no mechanical drawings or BOM. If you were building this, what would you use for the motor and power delivery?
lhm0
Created a persistence-of-vision LED sphere with wireless streaming, published the firmware and control scripts, but left the mechanical build as an exercise for the builder.
DISCLAIMER
- Comparee is not the author of the projects featured here. All rights to each project belong to its creator — every page links to the original source, and we never host creators’ files.
- Information is provided without warranty and may become outdated as projects evolve. Prices are indicative bands only — always check the creator’s parts list for current costs.
- Building and operating any project is at your own responsibility. Protective equipment, safe workshop practice and compliance with local regulations are the builder’s responsibility.

CompareeTEAM1mo agoedited
Practical notes from our verification: the firmware and streaming code are solid, but the repository stops where the hard part begins — there is no guide to building the rotating frame, choosing a motor speed, or delivering power to the spinning LEDs. The video in the README shows it working beautifully, but unless you have built a POV display before, you will spend the first weekend researching other people's globe projects just to figure out what hardware to buy. This is a great second POV build, not a first.