YOU CAN BUILD A SPINNING DISK THAT PAINTS A FLOATING 3D GLOBE IN MID-AIR
A flat disk spins so fast it paints a full-color 3D planet floating in mid-air — persistence of vision as desktop furniture.
by Dan Foisy
DisplaysOpen-hardware
Built withArduinoRaspberry Pi3D printing
- difficulty
- ●●●●●
- time
- a long weekend-plus
- license
- MIT
- repo
- repo ACTIVE38 stars
●●●●● · a long weekend-plus · MIT · 38 stars · repo ACTIVE
WHAT YOU’LL NEED
Jump to section
COMPAREE VERDICT
This is a proper showpiece — the kind of thing that stops a conversation when you turn it on — but it is also a gauntlet. You are building FPGA logic for an Intel/Altera Cyclone 10 LP that drives RGB LEDs through sixteen TLC5955 drivers with precise timing, spinning a 15 cm board at about 900 RPM with power fed through a slip ring, and assembling surface-mount parts on a circular four-layer PCB. The board has footprints for 256 RGB LEDs, although the author only populated and uses the 128 on one side. The repository gives you KiCad schematics, Gerbers, a parts CSV for the board with Digi-Key numbers, the FPGA project and STL files for the printed mechanics, and the project page explains each subsystem — but it assumes you have built with FPGAs before, can balance a spinning disk, and are comfortable debugging timing jitter on a rotating board. The single biggest trap is underestimating the mechanical side: angular position jitter shows up directly in the image (the author needed a four-vane optical sensor to get it below a pixel), and small imbalances at 15 revolutions per second will shake the machine. The author built it as a one-off and says so. The MIT licence leaves you free to build and adapt it. If you have the skills and the weekend, it is one of the most visually striking builds in the catalogue. If you have never touched an FPGA, start with something that does not spin.
IN THE REPO
GOOD TO KNOW
- —KiCad schematics, PCB Gerbers, FPGA code (Verilog) and STL files for the printed mechanics are all in the repository.
- —No step-by-step build guide — the README is a parts manifest and a brief overview, not a tutorial.
- —The PCB parts list (KiCad CSV) gives Digi-Key part numbers for the board components; the motor, slip ring and mechanical parts are only described on the project page.
- —Licensed MIT — you can build, modify and even sell it, as long as the copyright notice stays with the files.
- —The FPGA project targets an Intel/Altera Cyclone 10 LP and builds in Intel Quartus (free edition); initial setup is not trivial.
- —Mechanical design (motor, belt, slip ring, optical position sensor, balancing jig) is explained on the project page, but not as a step-by-step assembly guide.
Parts to buy
12 itemsFrom our check of the build. Exact quantities and part numbers are in the creator’s BOM.
- Custom 15 cm circular 4-layer PCB (order Gerbers)from the repo files
- LTST-C19HE1WT RGB LEDsFind
- 16 TLC5955 LED driversFind
- Intel/Altera Cyclone 10 LP FPGA with EPCQ16A config flashFind
- SDRAMFind
- TFP401 HDMI receiverFind
- Raspberry Pi Zero WFind
- Brushed motor with Arduino and motor driverFind
- Belt and pulleysFind
- Slip ringFind
- Aluminium frame and printed partsFind
- Mechanics are described on the project pageFind
Can I build this?
Build at your own risk. Projects involve tools, electronics and sometimes mains voltage — follow the creator’s safety notes.
More builds like this
All projectsGallery
Start here
Navigation into the creator’s own docs — we don’t rewrite the guide, we route you to the source.
- 1.Read the full BOM and order the circular PCB(Custom Gerbers are in /hardware — you will need to send them to a PCB fab that handles circular boards)
- 2.Install Intel Quartus and build the FPGA project(Free toolchain; the Verilog is provided, you compile it and program the Cyclone 10 LP and its config EEPROM over JTAG)
- 3.Assemble and balance the mechanical stack(Photos show motor mount and slip ring placement; no written guide — expect to iterate on balance with test weights)
- 4.Set up the Raspberry Pi Zero W to output your images or animation over HDMI(The Pi Zero W rides on the spinning board and feeds images over HDMI to the FPGA; the slip ring only carries 12 V power. Load your images or animation before spinning up — the author found that SSH to the Pi does not work while the board spins.)
KNOWN ISSUES
- Slip rings rated for 900 RPM are hard to find — the author's is rated around 600 RPM and he expects it to wear out early. It only carries 12 V power, so pick one with enough current capacity and plan to replace it.
- At 15 revolutions per second, small imbalances will shake the whole machine — the author built a prop-style balancing stand (the bracket STL is in the repo) and added weights until it ran smoothly; budget time for the same.
- The FPGA toolchain (Intel Quartus, free edition) is a large install and not trivial to set up — if you have never built FPGA projects, expect a learning curve before the first successful synthesis.
- There is no consolidated build order or step-by-step assembly guide — the repository assumes you can read schematics and photos and fill in the mechanical steps yourself.
- Surface-mount soldering 256 LEDs on a circular board by hand is possible but slow; reflow (oven or hot-air) is strongly recommended.
Can I use a different FPGA or a microcontroller instead of the Cyclone 10 LP?
The timing is tight — the FPGA takes HDMI video from the Pi, stores frames in RAM and updates the LED drivers 15,000+ times a second while the board spins. The creator himself doubted a microcontroller could keep up. You could port to a different FPGA, but the design is a Quartus project for the Intel/Altera Cyclone 10 LP and the pinout matches the PCB.
How loud is the motor at 900 RPM?
The repository does not specify noise level — expect audible hum from the brushed motor and belt drive and some air movement from the spinning disk. This is not silent.
Can I show different content, not just a globe?
Yes — the Raspberry Pi Zero W outputs any image or video over HDMI (at least 128 × 1024 pixels) and the FPGA wraps it around the sphere. Load your content before spinning, because the author found remote access to the Pi unreliable while it spins.
Why is this rated difficulty 5?
You are combining FPGA firmware synthesis, SMD PCB assembly, motor control, and mechanical balancing of a high-speed rotating system. Any one of those is intermediate; all four together is advanced multi-discipline work.
Community builds
No community builds yet — be the first, we feature the best ones.
Discussion1
FROM THE COMPAREE TEAM
A circular board with up to 256 RGB LEDs spinning at 900 RPM, painted by an FPGA — and the whole thing is open hardware with Gerbers and FPGA code in the repo. What would you display on yours first?
Dan Foisy
Dan Foisy built Flicker as a persistence-of-vision volumetric display — the desktop version of the spherical LED installations you see in museums or public art. The project synthesizes FPGA logic, custom PCB design, and mechanical engineering into one visually impossible object.
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.
CompareeTEAM2mo agoedited
Practical notes from our verification: the repository is complete in terms of files — KiCad schematics and PCB with Gerbers, the FPGA code for the Intel Cyclone 10 LP, STL files for the printed parts and a docs folder — and the build is explained in a long write-up on danfoisy.github.io/flicker rather than as a step-by-step guide. It assumes you know your way around FPGAs and Quartus. The licence is MIT, so you can build, modify and even sell your own with attribution. The single biggest mechanical trap is balance: the board spins at about 15 revolutions per second, and the creator notes that small imbalances will shake the whole machine apart — he built a prop-balancing style jig to deal with it, and you should budget time for the same before spinning it up to full speed. The visual effect is genuinely spectacular when it works. Correction (4 October 2026): we re-checked this page line by line against the project's own repository, documentation and videos, and fixed errors in earlier versions.