

Split flap units
DIY mechanical spli-flap display
- Size
- 99.8 × 50.1 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 27
- Nets
- 47
- Pads
- 139
- Tracks, vias
- 266, 2
- Pours
- 2
- Routed
- Yes
- KiCad
- KiCad 8.0 (file 20240108)
- Created
- 28 Mar 2024
- Updated
- 14 Oct 2024
Overview
Split flap units is an open-source printed circuit board by tinkermax, from the tinkermax/split-flap repository on GitHub, published under the CC-BY-4.0 licence. It is a 2-layer board of 99.8 × 50.1 mm with 27 parts on 47 nets, routed with 266 tracks and 2 vias.
It is built around the A4988 and B5B-XH-A(LF)(SN). Its parts include 10 connectors and 9 capacitors. It belongs with the lEDs and displays boards of this library.
Main components
2README
README.mdMechanical split-flap display
You can find full details and discussion on my blog.
This is an alternate electronics and firmware for David Kingsman's Split-Flap Display.
Advantages
- Only one microprocessor is needed to drive a 12 character display, instead of the 13 microprocessors that would be required in the original design.
- Off-the-shelf ribbon cables are used between PCBs to reduce custom wiring.
- All components are through-hole mounted (i.e. no SMD).
- Overall, this should reduce assembly time and effort.
Disadvantages
- PCBs are not mounted to the back of the display units but have their own mounting brackets. This approach is best suited for use in your own enclosure.
- A display of greater than 12 characters would require an additional controller board i.e. may not be as seamless as the original.
Settings
Turn on interactions and debugging over the USB serial port in debug.h:
DEBUG 1
Specify the number of Units (characters) in your display (4 -12) in system.h:
unitCount 12
Specify the network name of the display (useful if you have more than one display) in system.h:
NETWORKNAME "splitflap"
Customise for each unit for your build. (Units are numbered left to right 0 - 11) in unit.h:
calOffsetUnit : an array of the offsets to move from hall sensor trigger to blank flap
FlapStep : an array containing the number of steps per stepper revolution (then divided by 45 flaps)
Password and localisation settings in config.h:
WIFI_SSID "mySSID"
WIFI_PWD "myPassword"
MY_NTP_SERVER "au.pool.ntp.org" // Set the best fitting NTP server (pool) for your location
MY_TZ "AEST-10AEDT,M10.1.0,M4.1.0/3" // Set your time zone from https://github.com/nayarsystems/posix_tz_db/blob/master/zones.csv
WORDNIKAPIKEY "" // Get your private key from https://developer.wordnik.com/
MINWORDLEN 9 // Specify minimum word length to fetch from Wordnik
WORDUPDATESPERHOUR 1 // Set number of word updates from https://wordnik.com per hour. 0 will disable, else use an integer that results in an exact number of minutes btw updates i.e. 1,2,3,4,5,6,10,12,15,20,30 or 60
Libraries
This project makes extensive use of two libraries:
- FastAccelStepper by J.Kiemes
- arduino-mcp23017 by Bertrand Lemasle
Connecting to the display
There is a very basic web page served at http://splitflap.local/ to allow you to either enter text to display or fetch a random word from Wordnik
There is also an API endpoint that you can POST to at http://splitflap.local/display, using a JSON payload in the body:
{
displaytext: "Display Text"
}For example, you could use the request node within node-red:

PCBs

Schematics for the Controller and Unit PCBs can be found under schematics.
Gerbers, Bill of materials and Kicad source files can be found under PCBs.
Brackets & unit frames 3D printing
PCB mounting brackets can be found on Printables.
Also found there is my remixed unit frame. This is optional, as you could still use the original frames with the new electronics.
My unit frame requires an additional two M3*L3*D4 heat inserts for connecting to the adjacent unit.
Enclosure (laser cut)
front

rear

Plywood (3mm) files for laser cutting are in enclosure
Licensing
Copyright (c) 2024 Malcolm Yeoman.
Electronics is released under CERN-OHL-P (Permissive) V2.
Firmware is released under the MIT License.
Documentation is licensed under a Creative Commons Attribution 4.0 International License.
Parts
27| Qty | Value | Footprint | References |
|---|---|---|---|
| 5 | 100uF | Capacitor_THT:CP_Radial_D6.3mm_P2.50mm | C1, C2, C3, C4, C5 |
| 4 | 100nF | Capacitor_THT:C_Disc_D3.4mm_W2.1mm_P2.50mm | C6, C7, C8, C9 |
| 4 | A4988 | User:A4988_Stepper_Module | A1, A2, A3, A4 |
| 4 | MountingHole_3.2mm_M3_Pad | MountingHole:MountingHole_3.2mm_M3_Pad | REF1, REF2, REF3, REF4 |
| 1 | GND CALIB | Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_Vertical | J2 |
| 1 | Units 0-3 | Connector_IDC:IDC-Header_2x10_P2.54mm_Vertical | J1 |
| 1 | motor 0/4/8 | Connector_JST:JST_XH_B5B-XH-A_1x05_P2.50mm_Vertical | J10 |
| 1 | motor 1/5/9 | Connector_JST:JST_XH_B5B-XH-A_1x05_P2.50mm_Vertical | J8 |
| 1 | motor 2/6/10 | Connector_JST:JST_XH_B5B-XH-A_1x05_P2.50mm_Vertical | J6 |
| 1 | motor 3/7/11 | Connector_JST:JST_XH_B5B-XH-A_1x05_P2.50mm_Vertical | J4 |
| 1 | sens0 | Connector_PinSocket_2.54mm:PinSocket_1x03_P2.54mm_Vertical | J9 |
| 1 | sens1 | Connector_PinSocket_2.54mm:PinSocket_1x03_P2.54mm_Vertical | J7 |
| 1 | sens2 | Connector_PinSocket_2.54mm:PinSocket_1x03_P2.54mm_Vertical | J5 |
| 1 | sens3 | Connector_PinSocket_2.54mm:PinSocket_1x03_P2.54mm_Vertical | J3 |
More from tinkermax/split-flap
1- 2 layers99.9 × 99.9 mm

Similar boards
- 2 layers197.3 × 121.2 mm

TeensyMaestro Main PCB
rimuadmin/TeensyMaestro-Hardware
Hardware for the TeensyMaestro
115 parts13CERN-OHL-P-2.0 - 4 layers99.9 × 69.9 mm

- 2 layers244.2 × 92.8 mm

Kai simple v3
kaihchang/Kai_Simple_split_keyboard
Kai Simple is a cradio (or some call it Sweep) variation that fits author's hands best. Author's first KB design: https://github.com/kaihchang/Ascendsplaysplitkeyboard
56 parts10 - 2 layers100 × 65 mm

- 4 layers67.7 × 43.9 mm

STM32Lora Tempreture sensor
AndreyPodlesni/stm32wl-lora-rf-pcb
4-layer RF PCB design of a low-power LoRa sensor node based on STM32WLE5CCU6, featuring 50Ω controlled impedance RF routing, SMA antenna interface, and HDC2022 temperature & humidity sensor. Designed in KiCad.
60 parts2MIT - 2 layers140 × 100 mm

Carrier board
doug7410/nowplaying-appliance
Build guide, BOM and hardware for the Now-Playing desk appliance: HUB75 spectrum + touch now-playing display driven by room-mic song recognition
31 parts1MIT - 2 layers108.2 × 124.9 mm

- 2 layers95 × 72 mm

Smart Bike Light Grp07 V03
Emwm/BikeLightIoT7
An ESP32-based smart tracking and monitoring system for bicycles, combining GNSS (GPS) tracking, motion detection, power management, battery monitoring, and LoRa communication to create an intelligent, low-power system…
23 parts
Questions
How big is the Split flap units PCB?
It measures 99.8 × 50.1 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Split flap units use?
27 parts, built around the A4988 and B5B-XH-A(LF)(SN). The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the Split flap units KiCad files?
From the tinkermax/split-flap repository on GitHub, at the commit this page was made from: the board is PCBs/Kicad/Units/split-flap-units.kicad_pcb and its schematic PCBs/Kicad/Controller/split-flap.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Split flap units design in my own project?
Its repository publishes it under the CC-BY-4.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).