MCPcopy
hub / github.com/scottbez1/splitflap

github.com/scottbez1/splitflap @v0.7 sqlite

repository ↗ · DeepWiki ↗ · release v0.7 ↗
730 symbols 2,005 edges 39 files 8 documented · 1%
README

DIY Split-Flap Display

This is a work in progress DIY split-flap display. Prototype four-character display: video.

animated rendering prototype video

Build Status Build Status

The goal is to make a low-cost display that's easy to fabricate at home in small/single quantities (e.g. custom materials can be ordered from Ponoko or similar, and other hardware is generally available).

The 3d model is built using OpenSCAD in 3d/splitflap.scad, the driver board is designed in KiCad in electronics/splitflap.pro, and the driver firmware is written using Arduino (with PlatformIO support) in arduino/splitflap/Splitflap/Splitflap.ino.

You can view an interactive 3d model of the design on the project website.

New: Join the community Slack group to discuss or ask questions about the project!

Want to help support prototyping and development? Buy Me A Coffee

How a split-flap display works

Current Status

You can download the latest stable release from the official 'releases' page.

Releases have been tested and used to produce working units, but as this is a DIY project, there may always be minor issues and/or incomplete documentation.

Component Status Notes
Enclosure/Mechanics Stable
Classic Controller Electronics Stable
New Chainlink Electronics Alpha Next-generation/alternative electronics, designed for easier assembly and larger displays
Firmware Stable
Control Software Example Stable Example python code for driving the display is in the software directory

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 Twitter, and get involved in the open source development and let's keep chatting and building together!

:warning: Latest Experimental Files:

Important: the files linked below are EXPERIMENTAL and have been auto-generated from the latest commit. They may contain changes that are untested or outright broken. Do not use these unless you are actively making changes to the project and know what you're doing. Otherwise, use the latest stable release.

  • Lasercut Vector File
    • For Ponoko 3mm MDF (svg)
    • For Ponoko 3mm acrylic (svg)
    • For generic material (0.18mm kerf correction) (svg)
  • Classic Controller electronics
  • Sensor PCB, panelized (gerbers / pdf)
  • Chainlink Driver PCB
    • Schematic pdf
    • PCB overview pdf
    • PCB gerbers zip
    • PCB bom (for JLCPCB assembly) csv
    • PCB CPL (for JLCPCB assembly) csv
    • PCB bom (for manual assembly) interactive
  • Chainlink Base PCB

Design Highlights

  • laser cut enclosure and mechanisms from a single material
  • cheap, widely available 28byj-48 stepper motor (less expensive than NEMA-17 motors, and doesn't require an expensive high current stepper driver)
  • CR80 PVC cards for flaps, cheap in bulk
  • store-bought vinyl stickers for flap letters
  • control up to 12 modules from a single Arduino Uno

2d laser cut rendering

Build Your Own

Rough Cost Breakdown

This is an incomplete list of supplies needed to build a split-flap display module to get a rough sense of the overall cost. Many items have minimum package sizes, so per-unit-prices will be higher when building fewer units due to the need to buy more items than will actually be used.

Each section includes a subtotal based on building 4 modules, which is a relatively economical compromise where shipping costs and MOQs no longer dominate the cost.

Overall, expect to spend somewhere around $200 to $250 for 4 standard 40-character modules.

Housing

The laser-cut housing/mechanics can be ordered from Ponoko (high quality, US-based) or Elecrow. Or you can cut it yourself if you have a laser-cutter capable of cutting 3mm MDF or acrylic.

Ponoko

Price Units per order Name Supplier Notes
$52.97 4 4x MDF 3 mm, laser-cut, shipping Ponoko
$14 N/A Setup fee Ponoko

Total: $16.75 per unit (at 4 units)

Elecrow

Price Units per order Name Supplier Notes
$15 5 Wood laser cut, 3 mm, no engraving Elecrow
$22 5 Shipping Elecrow

Total: $9.25 per unit (at 4 units)

Hardware & Consumables

Price Units per order Name Supplier Notes
$5-10 4 50 pack M4-10 Button-Head Hex Screw Many options 11 screws needed per unit
$5-10 4 50 pack M4 Hex Nut Many options 11 nuts needed per unit

Total: $2.50-5.00 per unit (at 4 units)

Flaps

There are two options for flaps: hand-cut or professionally die-cut.

Hand-Cut (Option 1)

Each card needs to be cut in half and then have two pieces punched out of either side. Each display unit requires 40 flaps, or 20 cards per unit. 100 cards is enough for 5 units in theory, but 4 in practice because there are no spares for mistakes.

Price Units per order Name Supplier Notes
$14 4 Blank white CR80 cards Amazon One package ($14) covers 4 units
$9.17 N/A Badge slot punch tool Amazon One-time, up front cost
$7 2 Vinyl letter stickers Amazon One package ($7) covers 2 units

Total: $7.00 per unit (at 4 units) + $9.17 upfront for the punch tool + a lot of time and effort

Die-Cut (Option 2)

These professional die-cut flaps are manufactured specifically for this project (no manual cutting/punching required) and come in both white and matte black. Sold by Bezek Labs LLC, so proceeds help support continued development on this project.

Price Units per order Name Supplier Notes
$53 4 Die-cut flaps Etsy - BezekLabs One package ($45 + shipping) covers 4 units
$7 2 Vinyl letter stickers Amazon One package ($7) covers 2 units

Total: $16.75 per unit (at 4 units)

PCB

Circuit boards are available either in small quantities from the Bezek Labs LLC store, or in bulk from PCB manufacturers such as SeeedStudio.

Etsy - BezekLabs

Price Units per order Name Supplier Notes
$3.99 4 Controller PCB Etsy - BezekLabs One PCB supports 4 units
$2.99 4 Sensor PCB set Etsy - BezekLabs 4 PCBs per package

Total: $1.75 per unit (at 4 units)

SeeedStudio (Bulk)

Price Units per order Name Supplier Notes
$5 80 Controller PCB SeeedStudio 20 PCBs per order, 4 units per PCB
$5 200 Sensor PCB SeeedStudio
$15 Shipping Combined shipping for both items

Total: $6.25 per unit (at 4 units), or as low as $0.32 per unit (at 80 units)

Electronics & Motor

Price Units per order Name Supplier Notes
$14.00 4 Controller board components DigiKey One PCB supports 4 units
$2.00 1 Sensor board components DigiKey
$2.00 1 28byj-48 motor (12V preferred) AliExpress See motor notes for details
$10.00 10 3-pin servo cable (male to male) Amazon or Ali

Core symbols most depended-on inside this repo

copy
called by 262
thirdparty/panelize.py
set
called by 238
thirdparty/panelize.py
clone
called by 141
thirdparty/panelize.py
create
called by 131
thirdparty/panelize.py
append
called by 54
thirdparty/panelize.py
normalize
called by 46
thirdparty/panelize.py
newline
called by 41
thirdparty/panelize.py
write_text
called by 27
thirdparty/panelize.py

Shape

Method 349
Function 319
Class 62

Languages

Python62%
TypeScript38%

Modules by API surface

thirdparty/panelize.py341 symbols
docs/js/three.js222 symbols
docs/js/OrbitControls.js31 symbols
3d/scripts/svg_processor.py18 symbols
docs/js/url-search-params/index.js16 symbols
3d/scripts/colored_stl_exporter.py13 symbols
software/splitflap.py12 symbols
thirdparty/xvfbwrapper/xvfbwrapper.py9 symbols
electronics/scripts/export_util.py9 symbols
electronics/scripts/svg_processor.py8 symbols
3d/scripts/projection_renderer.py8 symbols
electronics/scripts/pcb_util.py6 symbols

Dependencies from manifests, versioned

svg.path2.2 · 1×

For agents

$ claude mcp add splitflap \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact