Skip to the content
PCBKitNew board
2 layers100 × 100 mmSplitflap, the printed circuit board in 3D

Split Flap clock or calendar utilising four 28BYJ-48 stepper motors.

Size
100 × 100 mm
Copper layers
2
Thickness
1.6 mm
Parts
91
Nets
69
Pads
308
Tracks, vias
747, 118
Pours
6
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
18 Jan 2025
Updated
21 Dec 2025

Overview

Splitflap is an open-source printed circuit board by besi, from the besi/split-flap-clock repository on GitHub. It is a 2-layer board of 100 × 100 mm with 91 parts on 69 nets, routed with 747 tracks and 118 vias.

It is built around the ESP32-S3-WROOM-1-N4, DS18B20 and LM2596S-5.0, with the ULN2803A, LD1117S33CTR-HXY and APXG160ARA101ME61G among its other parts. Its parts include 18 capacitors, 12 connectors, 10 ICs, 7 resistors and 4 diodes. It belongs with the ESP32 boards of this library.

Main components

12

README

Readme.md

Split Flap clock or calendar utilising four 28BYJ-48 stepper motors.

Bill of materials

What is needed for one digit.

CountItemDescription
1PCB v2.0
1Supporting PlateSame shape and holes like the PCB
1Spacer 2mmSpacer for cogwheels
1Hall sensor AH1815-W7For the unpopulated PCBs only
110k Resistor 0306For the unpopulated PCBS
1Spool3-D Print with M3 heat insert
1Spool lid3-D Print
1Cog Stepper3-D Print / Laser cut
1Cog M33-D Print / Laser cut
1Cog M3 Nut3-D Print / Laser cut
1Magnet 2x1mmFor spool
1Motor 28BYJ-485V Version
1Motor gasketLaser cut
12FlapsLaser cut Flaps
13 Pos JST 2mm SocketHall sensor Connection
13 Pos JST 2mm CableHall sensor Connection
4M3 Nuts2 Cogs, 2 Motor
5M3x8mm Bolt2 Cogs,2 Motor, Spindle,
3M3x5mm Bolt3 Spindle
4M3 Standoffs 50mmMale-Female 6mm thread
4M2.5 ScrewsFor Standoffs
1Washer 5mm 1mm thickFor Driver cogwheel
2Washer 3mm 1mm thickFor cogwheels
1Zip tie for motor

Pinout

Motors:

Pins1234Hall
Motor A1093818 (7)
Motor B1314211112
Motor C403938647
Motor D12424148

Other GPIOs

FunctionPin
DCF-774
SDA / Switch B16
SCL / Switch A17
Mode0
Neopixel15
Temperature5

Assembly

One assembled PCB which functions as the main board can drive four split flap digits including itself as well as three additional passive digits. Looking from the front of the clock / calendar the unit with the populated PCB is to the very left with the barrel jack protruding outward to the left side.

  • On the three unpopulated PCBs the Hall sensors circuitry above the spool axis has to be provided. For this R7 can be shortened using a solder bridge, the Hall sensor (AH1815-W7) as well as the R1 resistor (10k 0603) need to be mounted. C1 (100nF 0603) can be omitted: a

  • Using M3x5 screws mount all four motors directly to the corresponding PCB using the spacer where it says "28BYJ-48". The nuts go to the other side of the PCB where the spacer has two cutouts for both nuts.

  • On the main board connect the motor to the "Motor A" connector. The cable can be looped and secured using a zip tie threaded through the two holes next to the motor.

  • On the main board solder the three switches and the RGB LED to the backside of the PCB.

  • Solder the DCF77 connector to the pcb and temporarily tape the ferrite antenna to the PCB to protect the thin copper wires from the coil around the antenna.

  • Add cog wheels with the M3x8 screws on two different sides

  • Add the spacer

  • Add the cover

  • Connect all hall sensors

  • Prepare the spool

  • Add standoffs female-female or standoffs male-female respectively

  • The driving cog wheel is assembled as follows:

    text
      M3x16 + 5 washers + m3-nut-cog + 3 washers

The PCB

PCBWay kindly offered to sponsor the manufacturing and assembly of the second iteration of this pcb.

PCBWay

In this project the PCBs are used in both the electrical as well as the mechanical realm. The motors and cog wheels are directly mounted onto the pcb and for one clock or calendar four pcbs are stacked together.

The PCBs turned out flawlessly and the ordering process was smooth and efficient.

PCB V2.0

PCB V1.0

Flashing the PCB

text
cd ~/Downloads
IMAGE=ESP32_GENERIC_S3-FLASH_4M-20250415-v1.25.0.bin
wget https://micropython.org/resources/firmware/$IMAGE -nc
PORT=/dev/cu.usbmodem14401
esptool.py --port $PORT erase_flash
esptool.py --port $PORT --baud 460800 write_flash --flash_size=detect 0 $IMAGE --flash_mode=dout

Credits / Thanks

Troubleshooting

Special thanks to greybeard and KubaO who helped to trouble shoot some serious issues that arose during the development of the PCB.

3D models

Markdown tables

The Markdown tables were generated using the fabulous tool called tableconvert.

Parts

91
QtyValueFootprintReferences
21TestPointTestPoint:TestPoint_Pad_D1.0mmTP1, TP2, TP3, TP4, TP10, TP11, TP12, TP13, TP14, TP15, TP16, TP17, TP18, TP19, TP20, TP21 +5
9100nCapacitor_SMD:C_0603_1608MetricC1, C7, C10, C11, C12, C13, C14, C15, C17
6MountingHoleMountingHole:MountingHole_3.2mm_M3H1, H2, H3, H4, H5, H6
410u @ 16VCapacitor_SMD:CP_Elec_4x5.7C3, C8, C9, C16
2100uFCapacitor_SMD:CP_Elec_5x5.3C2, C4
210kResistor_SMD:R_0603_1608MetricR1, R5
2220uFCapacitor_SMD:CP_Elec_8x11.9C5, C6
25k1Resistor_SMD:R_0603_1608MetricR2, R3
2LOGOLOGOG***, G***
2ULN2803APackage_SO:SOP-18_7.495x11.515mm_P1.27mmU1, U2
110kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR4
11N5822Diode_THT:D_DO-201_P15.24mm_HorizontalD3
11kResistor_SMD:R_0603_1608MetricR6
11uCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC18
1220Resistor_SMD:R_0603_1608MetricR7
122uHInductor_SMD:L_APV_ANR5045L2
128BYJ-4828byj:28byjM1
133uHInductor_SMD:L_APV_ANR6028L1
1AButton_Switch_SMD:SW_Push_1P1T_NO_Vertical_Wuerth_434133025816SW1
1BButton_Switch_SMD:SW_Push_1P1T_NO_Vertical_Wuerth_434133025816SW2
1BarrelJack HorizontalConnector_BarrelJack:BarrelJack_GCT_DCJ200-10-A_HorizontalJ7
1BarrelJack Verticalpj-060a:pj-060aJ5
1DCF-77dcf77:dcf77U8
1DCF77 LEDJumper:SolderJumper-2_P1.3mm_Bridged_RoundedPad1.0x1.5mmJP2
1DS18B20Package_TO_SOT_THT:TO-92SU3
1ESP32-S3-WROOM-1RF_Module:ESP32-S3-WROOM-1U4
1Hall BConnector_JST:JST_PH_B3B-PH-K_1x03_P2.00mm_VerticalJ11
1Hall CConnector_JST:JST_PH_B3B-PH-K_1x03_P2.00mm_VerticalJ10
1Hall DConnector_JST:JST_PH_B3B-PH-K_1x03_P2.00mm_VerticalJ9
1Hall InternalConnector_JST:JST_PH_B3B-PH-K_1x03_P2.00mm_VerticalJ8
1Hall InternalPackage_TO_SOT_SMD:SC-59_HandsolderingU5
1Hall Internal2Package_TO_SOT_SMD:SC-59_HandsolderingU9
1I2CConnector_JST:JST_SH_BM04B-SRSS-TB_1x04-1MP_P1.00mm_VerticalJ12
1LD1117S33CTRPackage_TO_SOT_SMD:SOT-223-3_TabPin2U7
1LEDLED_SMD:LED_0603_1608Metric_Pad1.05x0.95mm_HandSolderD2
1LM2596S-5Package_TO_SOT_SMD:TO-263-5_TabPin3U12
1Manufactured byLOGOG***
1ModeButton_Switch_SMD:SW_Push_1P1T_NO_Vertical_Wuerth_434133025816SW3
1Motor AConnector_JST:JST_XH_B5B-XH-A_1x05_P2.50mm_VerticalJ4
1Motor BConnector_JST:JST_XH_B5B-XH-A_1x05_P2.50mm_VerticalJ3
1Motor CConnector_JST:JST_XH_B5B-XH-A_1x05_P2.50mm_VerticalJ2
1Motor DConnector_JST:JST_XH_B5B-XH-A_1x05_P2.50mm_VerticalJ1
1PPTCFuse:Fuse_1206_3216MetricF1
1PRTR5V0U2XPackage_TO_SOT_SMD:SOT-143D4
1RSTButton_Switch_SMD:SW_Push_1P1T_NO_Vertical_Wuerth_434133025816SW4
1SK6812MINILED_SMD:LED_SK6812MINI_PLCC4_3.5x3.5mm_P1.75mmD1
1UARTConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalU6
1USB-C PlugConnector_USB:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_HorizontalJ6
1github.com/besi/spit-flap-clockSymbol:OSHW-Symbol_6.7x6mm_SilkScreenOSHW1

Questions

How big is the Splitflap PCB?

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

What parts does the Splitflap use?

91 parts, built around the ESP32-S3-WROOM-1-N4, DS18B20, LM2596S-5.0 and ULN2803A. 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 Splitflap KiCad files?

From the besi/split-flap-clock repository on GitHub, at the commit this page was made from: the board is pcb/splitflap.kicad_pcb and its schematic pcb/sensors.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Splitflap design in my own project?

Its repository states no licence, so its author keeps all rights: ask besi before reusing the design.

Similar boards

  • 2 layers52 × 56.6 mmMuMo v2-Node, the printed circuit board in 3D

    MuMo v2-Node

    Strooom/MuMo-V2-Node-PCB

    PCB design for the Museum Monitor V2

    79 parts17
  • 4 layers50 × 65 mmFeroFlyF405, the printed circuit board in 3D

    FeroFlyF405

    Ozonised/FeroFlyF405

    FeroFlyF405 an open source STM32F405 based flight controller running INAV

    150 parts44CERN-OHL-P-2.0
  • 4 layers54.6 × 61 mmSapphineMinimal, the printed circuit board in 3D

    SapphineMinimal

    ChrisHayward-dev/SapphireKicad

    See the LastProduction branch for the most current revision

    159 parts
  • 2 layers40.6 × 61 mmMatrix6, the printed circuit board in 3D

    Matrix6

    FaBoAI/Matrix6

    Matrix6.kicadproをKiCad 10で開いてください。KiCad標準のシンボル・フットプリント・3Dモデルライブラリをインストールし、同じフォルダーの DevBoard.pretty と fp-lib-table を一緒に保管します。動作確認版はKiCad 10.0.6です。

    48 parts
  • 2 layers120.5 × 53.3 mmMain PCB, the printed circuit board in 3D

    Main PCB

    BenMasse15/Magic-The-Gathering-Card-Sorter

    TO DO

    65 parts
  • 8 layers110 × 90 mmLpddr4-test board, the printed circuit board in 3D

    Lpddr4-test board

    Singleboardcomputer/hardware_for_kintex

    495 parts1
  • 2 layers70 × 40 mmLed driver, the printed circuit board in 3D

    Led driver

    j9brown/led-driver

    Drives 4 RGB/W LEDs with PWM for a total of up to 3 A controlled over an I2C bus.

    34 partsMIT
  • 4 layers128.5 × 40 mmScalenode cm4-baseboard, the printed circuit board in 3D

    Scalenode cm4-baseboard

    antmicro/scalenode-cm4-baseboard

    Baseboard for Raspberry Pi 4 Compute Module optimized for clustering

    146 parts152Apache-2.0