YOU CAN BUILD YOUR OWN SPLIT-FLAP DISPLAY THAT CLACKS LIKE AN OLD TRAIN STATION BOARD
Build a mechanical display that clacks through letters like an old railway departure board — 52 flaps per module, as many modules as you want.
by Scott Bezek
DisplaysHome
Built withESP32
- difficulty
- ●●●●○
- time
- a weekend per module, weeks for a wall
- license
- Apache-2.0
- repo
- repo ACTIVE4,162 stars
●●●●○ · a weekend per module, weeks for a wall · Apache-2.0 · 4,162 stars · repo ACTIVE
WHAT YOU’LL NEED
Jump to section
COMPAREE VERDICT
This is the split-flap project if you want one that actually works at scale. Scott Bezek has been refining it for ten years and the v2 design is stable: 52 flaps per module, hall-effect sensors that know when a flap is home, daisy-chainable Chainlink driver boards so you can run dozens of modules from one ESP32, and software-configurable calibration. The catch is that one module is a weekend, and a useful display is at least six modules — so this is a commitment. You will laser-cut MDF or acrylic, assemble the drums and flaps, and wire the chain; the sensors and driver boards can be bought mostly assembled from Bezek Labs if you do not want to solder SMD. The 28BYJ-48 steppers are cheap and adequate, but they are also the noisiest part. The one thing most likely to go wrong is impatience: using warped panels or rushing assembly means flaps catch, and a jammed module destroys the illusion. If you want something that looks like it belongs in a museum, this is worth the weekends.
IN THE REPO
GOOD TO KNOW
- —The parametric OpenSCAD design generates the laser-cut panels (with ready SVGs for Ponoko 3 mm MDF or acrylic); optional 3D-printed assembly tools are included.
- —Bill of materials exists with Digi-Key part numbers and links to AliExpress alternatives
- —Firmware for the ESP32 controller is provided with PlatformIO configs; the per-module sensor boards are passive hall-effect sensors.
- —Extensive documentation covers assembly, calibration, electronics, and the custom Chainlink driver board
- —Licence is Apache 2.0 — fully open for commercial use
- —Mostly-assembled sensor packs and Chainlink Driver boards are sold in the Bezek Labs store; you can also order boards yourself from the KiCad/Gerber files.
Parts to buy
7 itemsFrom our check of the build. Exact quantities and part numbers are in the creator’s BOM.
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 repository README and the documentation in /docs (Start with the Documentation Index and the ordering guides - the docs are thorough and you need to understand the Chainlink topology before ordering boards)
- 2.Order one sensor PCB and one Chainlink PCB from the Gerbers to test your soldering(The designs are optimized for JLCPCB, with ready Gerber, BOM and placement files; the ordering guides in /docs explain the options)
- 3.Build one module end-to-end before scaling(Calibration teaches you what tight tolerances feel like, and one module tells you if you will enjoy making six more)
Resources
Documentation, files and community threads for this build — we link straight to the original sources and never rehost the creator’s files.
KNOWN ISSUES
- The sensor and Chainlink boards are surface-mount (the sensor is a SOT-23 hall sensor with 0603 parts) - if you have never soldered SMD, order them assembled from JLCPCB with the provided files, or buy the mostly-assembled boards from Bezek Labs.
- Acrylic warps with heat and humidity; store it flat and check each piece with calipers before assembly, because a bowed drum means flaps bind
- Calibration is per module: v2 sets it in software instead of by bending the sensor, but each module still needs its home position checked, or it miscounts flaps.
- The 28BYJ-48 motors are adequate but noisy and occasionally inconsistent; if you want a silent display, this is not the hardware for it (and upgrading to NEMA steppers means redesigning mounts)
- Chainlink boards daisy-chain, so one bad solder joint or one reversed connector can kill the whole string — test each board individually before chaining six together
- Flaps are the most repetitive part of the build - applying vinyl letters to blank flaps takes longer than you expect, so consider the pre-printed flap sets if you want to save time.
Can I build just one module to start?
Yes, and you should. The repository supports single-module builds with a simplified controller setup, and one module teaches you the mechanical tolerances before you commit to a wall.
Do I need to program the AVR sensor chips myself?
No. The sensor boards are just hall-effect sensors with no chip to program. The only firmware runs on the ESP32 controller, which you flash over USB with PlatformIO.
Can I order pre-made PCBs or a kit?
Partly. Scott Bezek's Bezek Labs store sells mostly-assembled sensor packs and Chainlink Driver boards (plus printed flap sets), and the README has an 'easy route' ordering guide. The laser-cut parts and motors you still order yourself.
How loud is it?
Audible. The 28BYJ-48 motors whine and the flaps clack — it sounds like a small train station, which is the point. If you need silence, this is not the project.
What if I do not have access to a laser cutter?
Use an online laser-cutting service: the README publishes ready SVG files for Ponoko in 3 mm MDF or acrylic, and the OpenSCAD design can export for other services.
Can I use a different motor?
The design is built around the 28BYJ-48 dimensions and gearing. Swapping to a NEMA 17 or a geared stepper means redesigning the motor mount and possibly the entire drum assembly.
Community builds
No community builds yet — be the first, we feature the best ones.
Discussion1
FROM THE COMPAREE TEAM
Scott has been refining this design for over ten years, and the README shows a 108-module display driven by 18 Chainlink boards. How many modules would you actually build before you called it done?
Scott Bezek
Scott Bezek started this project in 2015 and has kept refining it for about ten years; the v2 mechanical and sensor refresh has been stable since January 2025. He maintains the repository actively, sells some boards through Bezek Labs, and runs a community Discord.
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: this is one of the most thoroughly documented hardware projects we have catalogued — the docs folder has a documentation index, an easy ordering guide and a comprehensive ordering guide, a v2 assembly guide, an electronics guide for the Chainlink Driver, plus motor and flap guides, and tested hardware designs are published on the releases page. The Chainlink Driver (one per six modules) is the piece that makes scaling possible; you can order it yourself from the design files, and Bezek Labs also sells Chainlink Driver boards and mostly assembled sensor packs. The README links official videos, including how it works and a 108-module display driven by 18 Chainlink Drivers, and a community Discord that the creator calls the best place to ask questions. The v2 mechanical release, stable since January 2025, moved calibration into software instead of mechanical sensor adjustment and offers 52 or 40 flaps per module. The mechanics are laser-cut 3 mm MDF or acrylic held with M4 hardware, so plan on a laser-cutting service. 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.