-
Notifications
You must be signed in to change notification settings - Fork 1
Hardware
The physical display is a wall of split-flap modules, one per character cell. The module design — the mechanics, the circuit board, and the original bus protocol — is by Adam G Makes, and the build is documented in his repository:
The circuit board, the 3D-printed parts, the bill of materials and the assembly steps live there. Start with Adam's repo and his YouTube channel to build or source the modules; this wiki picks up once you have them.
This page is a quick orientation so the rest of the wiki makes sense — it is not a substitute for Adam's build docs.
Each character cell is a small, self-contained board carrying:
- an ATtiny1616 microcontroller (3.3 V logic) that runs the module firmware;
- a 28BYJ-48 stepper motor turning the flap reel, through a ULN2003 driver, from a separate 12 V motor supply (the motor is not powered from the logic rail);
- a Hall-effect sensor that finds a magnet on the reel to establish the home position;
- a half-duplex RS-485 transceiver, with the driver-enable line on a GPIO.
The reel carries the printed flaps — letters, digits, punctuation and a set of solid colour flaps (red, orange, yellow, green, blue, purple, white). A default reel has 64 flaps; index 0 is the blank/home flap.
All modules share one RS-485 bus — a two-wire differential pair daisy-chained from module to module — plus power. A single controller is the bus master. In this project that controller is the Gateway (an ESP32); the bus runs at 9600 baud, 8N1.
┌────────┐ RS-485 (A/B) + 12V + GND, daisy-chained
│Gateway │───┬───────┬───────┬───────┬───────┬── … up to 255 modules
│ ESP32 │ │ │ │ │ │
└────────┘ [M0] [M1] [M2] [M3] [M4] …each an ATtiny1616 cell
Every module runs the same firmware binary — there is nothing to change per module before flashing. A module's identity (its bus ID, e.g. "module 0") is assigned later, at runtime, by provisioning. That's the key difference from Adam's original firmware, where each module's ID was compiled in; see the Module Firmware page.
| Part | Notes |
|---|---|
| Split-flap modules | However many cells you want — a 3 × 15 wall is 45. Built/sourced per Adam's repo. |
| A 12 V supply | Sized for your module count (the steppers are the load). See Adam's BOM. |
| The Gateway board | A Waveshare ESP32-S3-RS485-CAN — it has the RS-485 transceiver on board. |
| A SerialUPDI programmer | A cheap USB-serial adapter, to flash each module once. See Module Firmware. |
Don't want to build anything mechanical? The Matrix Portal Gateway renders virtual split-flap modules on an LED matrix — no modules, no RS-485, no steppers — and behaves exactly like a real gateway to everything downstream. It's the fastest way to try the whole stack.
Next: Module Firmware →
Start
Build it
- Hardware
- Module Firmware
- Provisioning
- Calibration
- Flaps & Character Sets
- SplitFlap Gateway
- Matrix Gateway
- LCD Gateway
Drive it
- Companion
- Built-in Apps
- Standalone & Docker
- Multiple Displays
- Home Assistant
- Vestaboard API
- MCP Server
- Using splitflap-os
Extend it
Reference
Hardware © Adam G Makes