Split-flap build
Units
0 / 0 steps

Split-flap build guide

From printed parts and bare PCBs to a working display. It follows David Königsmann's original instructions (Printables 69464) and his photos, changed for this build: shortened case, hand-soldered boards, and an ESP32 in place of the ESP-01. Hole positions and screw paths come from the CAD model. Pick your size at the top and every quantity updates. Ticks are saved in this browser, and Next step in the top bar jumps to the first step you haven't ticked. Steps with a 3D button show that step in the stage's 3D diagram. Click any photo to enlarge it.

Parts and fasteners

for 9 units
PrintedQty
UnitFrame9
FlapDrumInner + FlapDrumOuter9 each
Flaps, 45 per unit405
Case: Left, Center, Right of MiddleFrame, FrontCover, BackCover9 pcs
ElectronicsQty
Bare PCB, Arduino Nano, 12 V 28BYJ-48, KY-003, 2×1 mm magnet9 each
ULN2003A (SOP-16), L7805CV, 4-position DIP switch9 each
330 nF and 100 nF capacitors (0805)9 each
1×15 female header18
JST-XH board sockets: 5-pin, 3-pin9 each
JST-XH board socket: 4-pin18
XH-4 cable, plugs on both ends, 100 mm (bus)8
XH-3 cable, plug on one end, 300 mm (hall sensor)9
XH-4 cable, plug on one end, 200 mm (power + ESP32)1
ESP32 DevKit, BSS138 level-shifter module, 12→5 V buck1 each
12 V ≥3 A supply, 1000 µF 25 V capacitor1 each
DC jack for a hole under 9 mm (the case hole is 9.2 mm)1
KCD1-101 rocker switch (the case hole is 18.5×12.5 mm)1
22 AWG silicone wire, flux, double-sided foam tape—
FastenerWhereQty

Fastener assignments are from the upstream screw table. Per unit: 2 of each unit fastener. The case needs the same count for every size.

Tools

ToolUsed for
Soldering iron with a fine tip, solder, fluxThe boards and cables. At about 200 °C it also melts in the heat inserts
Multimeter with continuity modeBoard checks, the power lead, each bus cable, setting the buck converter
Screwdrivers or hex keys to fit your M2, M3 and M4 screwsEvery fastener in the table above
Small screwdriverThe buck converter's trimmer and the DIP switches
Flush cutters, wire strippers, tweezersWires, and placing the surface-mount parts
Glue for the magnets, a marker, tape, labelsMagnets, marking the magnet's face, tagging wires and units
USB cables for the Nano and for the ESP32Flashing. Check which sockets your boards have
PC with PlatformIO (pio)Flashing and the serial monitor
Soft cloth, sandpaper or a knifeProtecting the case faces, trimming seams that don't close

What each printed part looks like

Upstream's renders of the 10-unit parts. Shorter cases have shorter Left and/or Right pieces.

1 · Solder the PCBs

×9
Do one firstBuild and test one complete board before soldering the rest. All boards are identical. Every part goes through or onto the side shown below, and the parts drawn dashed stay empty on every board: the ESP-01 socket (U2) and U9, Q1, Q2, R1–R4 and C5.

Both views have the board's top edge up: that's the edge nearest U10 and the U4 chip, and U7 and U8 sit on the opposite edge. The numbers on the maps are the soldering order in the table. The board says Version 1.2 on the top side; the photos in stage 3 show an older version.

Top side. Parts sit on this side and are soldered on the other.
Bottom side. Turned over left to right, so the left and right are swapped. These three parts sit and are soldered on this side.
Rendered top side of the board with the DIP switch, sockets and L7805 fitted
Top side, finished, before the Nano goes in.
Rendered bottom side of the board with the unused parts crossed out in red
Bottom side. Skip the parts crossed out in red.
#PartRefSideWhereWhich way round
1ULN2003AU4BottomNear the top edgeDot and pin 1 at the top left, as in the bottom view
2100 nFC2BottomUpper spot in the box marked 5VEither way
3330 nFC1BottomLower spot in the box marked 5VEither way
4DIP switchSW1TopLeft edge, below U6Marked ON edge toward U6, switch 1 on the left
51×15 headers × 2U1TopThe two long rows, right sideEither way. The Nano's USB end goes to the top edge
6XH 5-pinU10TopTop left cornerThe peg under the socket only fits one way
7XH 3-pinU6TopLeft edge, below U10No peg: same way round as U10
8XH 4-pin × 2U7, U8TopBottom edgeThe peg under each socket only fits one way
9L7805U3TopAbove U8, right sideUpright, metal tab toward the Nano
  1. Don't lay it flat, even though the older boards in the stage 3 photos have it that way: its metal tab would rest on the empty ESP-01 pads.
  2. Check with the meter which jack tab is the centre pin, and that your supply is centre-positive.
SocketPins, in order
U7 (printed on the board)Left to right: SCL, SDA, GND, 12V
U8 (printed on the board)Left to right: 12V, GND, SDA, SCL
U6 (not printed)From the U10 end down: 5V, GND, signal
NanoSDA is A4, SCL is A5

2 · Drums and flaps

×9

FlapDrumOuter is the long open cylinder. FlapDrumInner is the disc with spokes, four large holes and the motor hub. Each has a ring of 45 flap holes, and the flaps hang between the two rings.

The two drum halves are the CAD parts. The magnet and flaps are simplified shapes. Yellow marks the parts a step moves, orange what it adds.

  1. 2× M2 insert
    Soldering iron pressing a brass insert into a boss inside the drum cylinder
  2. On most KY-003 boards the middle pin is +, so a straight-through cable would reverse the power. Go by the labels on your board. If only S and − are marked, the unmarked pin is +.
  3. Drum with an arrow pointing at the small first-flap mark on the ring
  4. Flaps go in by file number, so keep the plates separate. If you printed the five Flaps PT plates, they are the whole set. If you printed upstream's flaps, take 1, 14, 15, 24, 25, 28–31 and 41–45 from Flaps PT instead. The drum then reads: blank A–Z Ã Ç É 0–9 Á . TikTok Instagram Facebook.
  5. 2× M2×8

3 · Unit assembly

×9

UnitFrame has a flat base, a side wall for the motor, and an upright PCB plate at one end. The PCB goes on the outside of that plate. Later the plate is screwed to the middle frame and the PCB pokes through a window.

The frame and drum are the CAD parts. The motor, sensor and board are simplified shapes placed on the frame's real mounting holes. The flaps and cables are left out.

  1. 2× M3 nut
  2. 2× M4×8
  3. 2× M2×4
    Unit frame from above with the stepper, hall sensor and PCB mounted
  4. Underside of the unit frame with cables pressed into the channel
  5. 2× M3×6
    PCB mounted on the unit's plate with the Nano, DIP switch and connectors
    An older board. Yours says Version 1.2, has no 12V terminal, and has the 7805 upright.

4 · First unit test

one unit, before building the rest

On the PC, in a terminal opened in this repo's folder (the one with platformio.ini), with the Nano on USB and the unit on 12 V through the power lead in U8. Stop pio device monitor with Ctrl+C before each upload, because it holds the port.

  1. If the upload fails with a sync error, the Nano has the newer bootloader: change board to nanoatmega328new in the unit and offset_tool sections of platformio.ini.
  2. If a neighbouring flap shows, repeat step 1 with a larger or smaller offset. About 45 steps is one flap.
ThenBuild the remaining 8 drums and units, and run steps 1–2 on each Nano with its own DIP setting.

5 · Case

files for 9 units

Read this first

  • Front is the side where the flaps show. Back is the side the PCBs face. Left and right are always as seen from the front, so when you work from the back, the left end is on your right.
  • The case is three layers, front to back: front cover (an open box), middle frame (a flat 15 mm plate with one window per unit) and back cover (a shallow tray). They sit edge to edge, held by screws; nothing slides inside anything.
  • Each layer is printed as Left, Center and Right pieces. At each seam, the Center piece's tabs lie over the ends of the Left or Right piece, in the top and bottom edges. A joint screw goes in from the outside top or bottom edge, through the Center tab, into a nut sitting in a hex pocket inside the Left or Right piece. The pocket opens on the inside of the case.
  • Work on a soft cloth. Melt inserts at about 200 °C, push straight, and stop when they're flush.
Middle frame holeWhere (windows counted from the left, seen from the front)Used for
Counterbored on the back4 around each window: 2 just above, 2 just belowUnits: M3×16, 2 per window (the diagonal pair with nuts behind)
Counterbored on the back6 in the outer rows, close to the top and bottom edges, between windows 1–2, 4–5, 8–9Front cover: M3×16 into its inserts
Plain 4 mm, no counterbore8 in the outer rows, above and below windows 1, 3, 6, 9M3 inserts. The back cover screws into these
Vertical, in the top and bottom edgesAt the two seams, through the Center piece's tabsJoints: M4×20 + M4 nut

Drag to turn the model, pinch or scroll to zoom. Click a step again to replay it. Yellow marks the parts a step moves, orange the screws, nuts and inserts it adds.

  1. 8× M3 insert
    Middle frame drawing with arrows at the eight insert holes
    Upstream's drawing for the 10-unit frame. On a shorter case the window numbers above are what counts.
  2. 4× M4 nut4× M4×20
    A bit of tape over a pocket keeps its nut in while you turn the frame over.
  3. 2× M3×16 per unit
    Back of the middle frame with all units mounted and wired
  4. Seen from the back, so unit 0 is on the right. This shows the order only: find U7 and U8 by the labels printed on each board.
    Check each cable before any power, because a reversed one puts 12 V on SCL. Meter between the two units: left leg of the 7805 to left leg of the 7805, Nano A4 to A4, A5 to A5, and GND to GND must all beep.
    A hall sensor cable and an XH-4 bus cable
    Upstream's cables, shorter than yours. Any slack in the 100 mm and 300 mm cables tucks into the case.
  5. 6× M3 insert
  6. 8× M3 nut8× M3×8
  7. 6× M3×16
  8. 4× M3 nut4× M3×8
  9. 8× M3×16

6 · Power and ESP32

Option B in hardware/wiring.md
3.3 V onlyThe ESP32 is not 5 V tolerant. Never connect SDA/SCL straight to the bus. Set the buck converter to 5.0 V before connecting anything to it.
Every connection for Option B. Dots are joints. Lines that cross without a dot are not connected. On a narrow screen, scroll the drawing sideways.
The same wiring as text
Power (power lead in unit 0's U8)
  DC jack + ── switch ──┬── lead 12V
                        ├── buck IN+
                        └── 1000 µF +
  DC jack − ────────────┬── lead GND
                        ├── buck IN−
                        └── 1000 µF − (striped side)

  buck OUT+ ──┬── ESP32 VIN
              └── level shifter HV
  buck OUT− ──┬── ESP32 GND
              └── level shifter GND

Signals
  lead SDA ── shifter HV1    LV1 ── ESP32 GPIO21
  lead SCL ── shifter HV2    LV2 ── ESP32 GPIO22
                             LV  ── ESP32 3V3

7 · All units

addresses and full test

Addresses come from the DIP switch, read at power-up: 0x10 plus the switch value, with switch 1 as the highest bit. To change one, set it and power the unit off and on again. Reflashing the ESP32 later means taking the back cover off.

Unit (left → right)DIP 1 2 3 4Address

Troubleshooting

hardware faults, by symptom
SymptomCheck
No 5 V at the Nano header, or the 7805 gets hotDisconnect the power. Check the 7805's direction (stage 1, step 5), then repeat the meter check for shorts (step 6). Look for solder bridges on U4.
Upload to a Nano fails with a sync errorThe Nano has the newer bootloader: set board to nanoatmega328new (stage 4, step 1). If the port is busy, stop pio device monitor first.
The sensor's LED never lights when the magnet is nearThe hall cable is wired by position and not by function, so the sensor has no power (stage 2, step 2). Check that the board has 12 V.
A neighbouring flap shows after homingRun the offset tool again for that unit (stage 4, step 1). One flap is about 45 steps.
A drum keeps turning and never homesThe sensor doesn't see the magnet. Check that the magnet's marked face points out (stage 2, step 4), that it passes close to the sensor (stage 3, step 6), and that the sensor is plugged into U6. A unit gives up after 3 turns. See also step 4 of the bring-up list in hardware/wiring.md.
The scan shows one unit as MISSINGCheck its DIP switch against the table in stage 7, then power it off and on, because the switch is only read at power-up. Check its bus cable (stage 5, step 6) and that its Nano is fully seated. The Nano must run this repo's unit firmware.
No unit answers the scanSDA and SCL are swapped, a GND is missing, or the level shifter is wired wrong. Compare every wire with the drawing in stage 6.
Units stutter or restart when they all moveThe 12 V rail is sagging: each 7805 needs at least 7 V in. Use a 12 V supply of 3 A or more, fit the 1000 µF capacitor, and keep the power wires short (stage 7, step 2).
The web page is blank or shows 404The filesystem wasn't uploaded: pio run -e master -t uploadfs (stage 6, step 4).
Wi-Fi, accounts, tokens or wrong countsSee Troubleshooting in README.md.