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

FULL CAD BOM FIRMWARE DOCS

DisplaysOpen-hardware

Built withArduinoRaspberry Pi3D printing

difficulty
●●●●●
time
a long weekend-plus
license
MIT
repo
repo ACTIVE38 stars
1
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.

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 items

From 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

BUILDS OF THE WEEK

Five open-source builds worth your weekend, every week.

Checked like this one: what’s really in the repo, what it costs, how hard it is. One email, unsubscribe anytime.

Can I build this?

PrintPrinted mechanics from the prints/ folder — motor mount, slip-ring and PCB couplers, sensor mount, housing and balancing bracket
BuyCustom 15 cm circular 4-layer PCB (order Gerbers), LTST-C19HE1WT RGB LEDs (256 footprints, 128 used by the author), 16 TLC5955 LED drivers, Intel/Altera Cyclone 10 LP FPGA with EPCQ16A config flash, SDRAM, TFP401 HDMI receiver, Raspberry Pi Zero W, brushed motor with Arduino and motor driver, belt and pulleys, slip ring, aluminium frame and printed parts — the board parts CSV is in the repository, the mechanics are described on the project page
ToolsReflow oven or hot-air station for SMD assembly, Intel Quartus FPGA toolchain (free edition) and a JTAG programmer, soldering iron, 3D printer, a balancing jig
SkillsFPGA development (Verilog synthesis), SMD soldering, motor control, mechanical assembly and balancing — this is an advanced multi-discipline build
TimeA long weekend if you have done FPGA work before; a week-plus if you are learning the toolchain and debugging mechanical vibration
CostHigh — a four-layer circular PCB, an FPGA, SDRAM, an HDMI receiver, sixteen LED drivers and up to 256 LEDs, plus a Raspberry Pi Zero W, a brushed motor and a slip ring; the author gives no total.
SafetySpinning disk at 900 RPM — an unbalanced board can shed parts or injure fingers. Do not operate near loose clothing or hair. Slip ring carries mains-derived DC; insulate and strain-relieve all rotating connections.

Build at your own risk. Projects involve tools, electronics and sometimes mains voltage — follow the creator’s safety notes.

More builds like this

All projects

Gallery

danfoisy.github.io
danfoisy.github.io
i.ytimg.com

Start here

Navigation into the creator’s own docs — we don’t rewrite the guide, we route you to the source.

  1. 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. 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. 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. 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?

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.

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.

GitHub

Star the project on GitHub

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.