Skip to the content
PCBKitNew board
2 layers99.9 × 99.9 mmSplit flap, the printed circuit board in 3D

DIY mechanical spli-flap display

Size
99.9 × 99.9 mm
Copper layers
2
Thickness
1.6 mm
Parts
28
Nets
76
Pads
194
Tracks, vias
474, 30
Pours
3
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
28 Mar 2024
Updated
14 Oct 2024

Overview

Split flap 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.9 × 99.9 mm with 28 parts on 76 nets, routed with 474 tracks and 30 vias.

It is built around the ESP32-DEVKITC-VE, MCP23017-E/SP and LD1117V33. Its parts include 7 connectors, 5 capacitors, 4 resistors and 4 ICs. It belongs with the lEDs and displays boards and the ESP32 boards of this library.

Main components

3

README

README.md

Mechanical split-flap display

You can find full details and discussion on my blog.

Finished Split-Flap Project

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:

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:

json
{
    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

28
QtyValueFootprintReferences
4100nFCapacitor_THT:C_Disc_D3.4mm_W2.1mm_P2.50mmC1, C3, C4, C5
44K7Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR1, R2, R3, R4
45000digikey-footprints:Test_Point_D1.02mmTP1, TP2, TP3, TP4
4MountingHole_3.2mm_M3_PadMountingHole:MountingHole_3.2mm_M3_PadREF1, REF2, REF3, REF4
2MCP23017digikey-footprints:DIP-28_W7.62mmU3, U4
1+9V INTerminalBlock_TE-Connectivity:TerminalBlock_TE_282834-3_1x03_P2.54mm_HorizontalJ1
110uFCapacitor_THT:CP_Radial_D5.0mm_P2.00mmC2
1Button1Connector_PinSocket_2.54mm:PinSocket_1x02_P2.54mm_VerticalJ3
1Button2Connector_PinSocket_2.54mm:PinSocket_1x02_P2.54mm_VerticalJ4
1Chain I2CConnector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_VerticalJ2
1ESP32-DevKitCPCM_Espressif:ESP32-DevKitCU2
1LD1117V33digikey-footprints:TO-220-3U1
1Units 0-3Connector_IDC:IDC-Header_2x10_P2.54mm_VerticalJ5
1Units 4-7Connector_IDC:IDC-Header_2x10_P2.54mm_VerticalJ6
1Units 8-11Connector_IDC:IDC-Header_2x10_P2.54mm_VerticalJ7

Questions

How big is the Split flap PCB?

It measures 99.9 × 99.9 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Split flap use?

28 parts, built around the ESP32-DEVKITC-VE, MCP23017-E/SP and LD1117V33. 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 KiCad files?

From the tinkermax/split-flap repository on GitHub, at the commit this page was made from: the board is PCBs/Kicad/Controller/split-flap.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 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).

More from tinkermax/split-flap

1
  • 2 layers99.8 × 50.1 mmSplit flap units, the printed circuit board in 3D

    Split flap units

    tinkermax/split-flap

    DIY mechanical spli-flap display

    27 parts13CC-BY-4.0

Similar boards

  • 2 layers197.3 × 121.2 mmTeensyMaestro Main PCB, the printed circuit board in 3D

    TeensyMaestro Main PCB

    rimuadmin/TeensyMaestro-Hardware

    Hardware for the TeensyMaestro

    115 parts13CERN-OHL-P-2.0
  • 4 layers535 × 308 mmBoatcontrol, the printed circuit board in 3D

    Boatcontrol

    Alli-Ekundayo/scpt-rl

    SCPT-RL trains a cross-attention transformer policy to place PCB components sequentially on a discrete grid. Training has two phases:

    683 partsMIT
  • 2 layers114.5 × 162.3 mmAKOR 01, the printed circuit board in 3D

    AKOR 01

    arthurkowskii/AKOR_01

    having fun building a synth ! C++ programming, PCB design with KiCad, and hands-on hardware work in what some people call “the real world.”

    64 parts
  • 2 layers120 × 136 mmFrontpanel, the printed circuit board in 3D

    Frontpanel

    Kalilinuxloverr/Desk-Mate

    Wall-E-artiger Schreibtisch-Begleiter: Ampel fuer Claude Code & Downloads, Motorfader, Augen-Displays. ESP32-S3, Swift, KiCad, 3D-Druck.

    42 partsMIT
  • 4 layers194.3 × 92.8 mmVcu, the printed circuit board in 3D

    Vcu

    sufst/pcb

    Monorepo for all schematics and PCB designs

    212 parts19GPL-3.0