Splitflap
DIY split-flap display
Install / Use
/learn @scottbez1/SplitflapREADME
Split-Flap Display
This is a DIY ESP32-based split-flap display, optimized for easy assembly at home in small quantities but able to be scaled up to large affordable displays.
<img src="https://s3.amazonaws.com/splitflap-artifacts/master/3d/all_flaps.gif" height="320" />
The splitflap community Discord server is the best place to keep up with the latest changes or ask questions about the project!
Want to help support development or just say "thanks"? Consider a one-time or monthly sponsorship:
| :heart: Sponsor scottbez1 on GitHub | |---|
<a href="https://www.youtube.com/watch?v=UAQJJAQSg_g" target="_blank"> <img src="renders/howItWorksThumbnail.jpg" height=320 /> </a>Using this project in a commercial setting or for paid client work? Go right ahead - it's open source (just make sure to follow the terms of the Apache License)! I would, however, ask that you consider sponsoring the project. I've been developing and maintaining this project in my free time for over 10 years, and I'd love to continue working on it. Sponsorships allow me to pay for prototypes and development tools that make this project possible. Unlike pure software projects, every iteration has real hardware costs; sponsorships allow me to keep iterating and improving the project faster. Thank you!
Current Status
Releases have been tested and used to produce working units, but as this is a continuously evolving open-source project, there may always be minor issues and/or incomplete documentation from time to time.
Here's a video of a large 108-module display powered by 18 Chainlink Driver boards and a Chainlink Base:
Stable v2 Mechanical Release
As of 2025-01-19, the v2 refresh of the mechanical and sensor design is considered stable and recommended for new builds.
Here's what's new in v2:
- 52 flaps per module for more character/symbol options
- New printed flap design ("Epilogue") with 52 flaps per set (see animation above), including several color-block flaps
- Updated enclosure and mechanical parts (laser-cut) to accomodate 52 flaps
- Motor wires now exit downward for less awkward wiring!
- New sensor PCB that's easier to assemble and includes an LED for checking the magnet status
- Software-configurable calibration rather than mechanical sensor adjustment
But many things are staying the same for easy upgrades/compatibility:
- No change to flap dimensions!
- No changes to Chainlink Driver, Chainlink Buddy boards, or system architecture!
- 40-flap modules are still an officially supported option!
- Open source, as always!
- v0 parts (sensor kits) will continue to be stocked at Bezek Labs through mid-2025; don't worry if you haven't finished your build yet, the old sensor kits aren't going away for a little while!
I'd love to hear your thoughts and questions about this project, and happy to incorporate any feedback you might have into these designs! Please feel free (and encouraged) to open GitHub issues, email me directly, reach out on Bluesky, and get involved in the open source development and let's keep chatting and building together!
Build Your Own
If you have any questions, please don't hesitate to ask in the community Discord server!
- Documentation Index
- Ordering guide (the "easy" route) v2
- Comprehensive ordering guide
- Chainlink Driver Electronics User Guide
- Assembly instructions v2
- Latest stable releases
Table of Contents
- Design Overview
- Contributing/Modifying
Design Overview
Mechanical
The mechanical/structural components are made from laser-cut 3mm MDF or acrylic, and held together with M4 bolts and nuts. The design is parametric and built using OpenSCAD. See below for more info on rendering/modifying the design.
You can view an interactive 3d model of the design here.
The v2 mechanical design officially supports variants with 52 flaps (perfect for use with the new "Epilogue" printed flaps) and 40 flaps. But you can always modify the design to customize it further.
v2 (52-flap module option - recommended)

Instructions: v2 assembly guide
Module dimensions: <img height="18" src="https://s3.amazonaws.com/splitflap-artifacts/master/3d/3d_laser_vector-52-module_dimensions.svg" />
Latest auto-generated (untested!) artifacts<sup>:warning:</sup>:
- For Ponoko 3mm MDF (svg) <img height="18" src="https://s3.amazonaws.com/splitflap-artifacts/master/3d/3d_laser_vector-52-ponoko-3mm-mdf_1x_dimensions.svg" />
- For Ponoko 3mm acrylic (svg) <img height="18" src="https://s3.amazonaws.com/splitflap-artifacts/master/3d/3d_laser_vector-52-ponoko-3mm-acrylic_1x_dimensions.svg" />
- For generic material (0.18mm kerf correction) (svg)
- For Elecrow 3mm Wood (zipped pdf)
- For Elecrow 3mm Acrylic (zipped pdf)
<sup>:warning:</sup>For tested/stable/recommended artifacts, always use the latest release instead, as the links on this page will change over time.
v2 (40-flap module option)

Instructions: v2 assembly guide
Module dimensions: <img height="18" src="https://s3.amazonaws.com/splitflap-artifacts/master/3d/3d_laser_vector-40-module_dimensions.svg" />
Latest auto-generated (untested!) artifacts<sup>:warning:</sup>:
- For Ponoko 3mm MDF (svg) <img height="18" src="https://s3.amazonaws.com/splitflap-artifacts/master/3d/3d_laser_vector-40-ponoko-3mm-mdf_1x_dimensions.svg" />
- For Ponoko 3mm acrylic (svg) <img height="18" src="https://s3.amazonaws.com/splitflap-artifacts/master/3d/3d_laser_vector-40-ponoko-3mm-acrylic_1x_dimensions.svg" />
- For generic material (0.18mm kerf correction) (svg)
- For Elecrow 3mm Wood (zipped pdf)
- For Elecrow 3mm Acrylic (zipped pdf)
<sup>:warning:</sup>For tested/stable/recommended artifacts, always use the latest release instead, as the links on this page will change over time.
Combined front panel (script)
By
