Building a Custom 45-Module, 64-Flap Electromechanical Display: From Design to Calibration
Adam G Makes
Summary:
This video chronicles the journey of building a large-scale, custom split-flap display with 45 modules and 64 character flaps per module.
- The project began from an existing 8-character display, aiming for a more extensive and modular design.
- Key design criteria included increasing character options to 64 per module, scaling up to 45 modules across three rows, simplifying assembly with a snap-on/snap-off design, minimizing soldering, and staying under a $1,000 budget.
- The mechanical design involved modifying existing 3D print files to accommodate 64 thinner flaps and designing a DIN rail mounting system with pogo pins for modular power and data delivery.
- For electronics, a custom PCB was developed for each module, featuring an ATtiny1616 microcontroller, RS485 transceiver, and motor controller, replacing a single central controller setup.
- Assembly of all 45 modules, including extensive 3D printing, soldering, and gluing, took over a month.
- Initial testing of the full display revealed inconsistencies in module calibration, leading to the development of a custom mobile app for per-character tuning to ensure accurate and reliable character display.
- The final display successfully shows various dynamic content like time, messages, NHL scores, and stock prices, demonstrating robust functionality after extensive tuning.
Introduction [0:00]
The video's creator, Adam G, introduces his ambition to build a custom split-flap display after being inspired by commercial versions.
Split Flap Explanation [0:39]
Adam explains the basic mechanics of a split-flap display using a clear acrylic open-source model:
- Each module contains a hub with holes where half-flaps (split flaps) ride.
- When the hub rotates, gravity causes flaps to drop, displaying a character.
- A stepper motor precisely controls the hub's rotation.
- A Hall effect sensor detects a magnet on the hub, establishing a "home" position for accurate character display.
A Look at My First Attempt [2:12]
Adam reviews an earlier 8-character model he built based on a tutorial:
- Likes:
- Compact module size with the motor integrated into the hub.
- Dislikes:
- Limited to 8 modules, not scalable for larger displays.
- Assembly was difficult due to threaded rods and messy wiring, making maintenance challenging.
Design Criteria [3:37]
Adam outlines five key criteria for his new, improved split-flap display:
- More Characters: Expand from 37 to 64 flaps per module to include A-Z, 0-9, and special characters, including colored ones.
- More Modules: Aim for 15 modules per row, across 3 rows, totaling 45 modules, a significant increase from 8.
- Easier to Assemble: Implement a totally modular, snap-on/snap-off design without threaded rods, allowing for easy servicing of individual modules.
- Simpler Electronics: Minimize soldering by using self-enclosed boards where motors and sensors can simply plug in.
- Cost-Effective: Keep the total project cost under $1,000, competitive with commercially available displays of similar size.
Adding More Flaps [4:54]
The first challenge was increasing the number of flaps:
- The existing design had 37 flaps, the goal was 64.
- The stepper motors used (28BYJ-48 5-V) have limited resolution, so accommodating 64 flaps was a concern.
- Adam redesigned the hub in Onshape, removing old holes and extruding 64 new, smaller ones.
- Flaps also had to be thinned to fit.
- A successful test of a single module confirmed that the motors could handle the 64 flaps with sufficient resolution.
PCB Design (First Attempt) [6:02]
The electronics strategy was a major re-think:
- Previous Approach: A single ESP32 microcontroller controlling all 8 motors.
- New Approach: An individual control chip on each module for its motor and sensor, with a central Raspberry Pi sending high-level commands.
- Custom PCB Design: This involved designing a custom Printed Circuit Board (PCB) for each module.
- Components included a microcontroller, motor controller, and connectors for the motor and Hall effect sensor.
- Initial Test: The first batch of PCBs was manufactured and tested, showing motors spinning as expected. A minor issue with a resistor was identified and corrected.
Module Mount and Data Bus [7:48]
A robust solution for mounting and electrical connectivity was needed:
- DIN Rail Mounting: DIN rails, a standard for mounting electrical components, were chosen for their modularity.
- 3D Printed Mounts: Custom 3D-printed mounts with a compliant mechanism allow modules to easily snap onto the DIN rails.
- Pogo Pin Interface: Four holes were incorporated into the mounts for pogo pins, which would connect directly to a data bus PCB.
- Data Bus PCB: A new PCB was designed with four long traces to carry power (5V), ground, and RS485 signal lines (A and B).
- Final Module PCB Design: The module PCBs were modified to include pads for these pogo pins. The final blue PCBs feature an ATtiny1616 microcontroller, an RS485 transceiver for communication with the Raspberry Pi, a motor controller chip, and power circuitry.
Assembling the First Module [10:25]
A speedrun was performed to estimate assembly time:
- All necessary components for one module were laid out.
- The assembly process involved attaching flaps, soldering pogo pins, inserting the motor and Hall effect sensor, connecting wires, and enclosing the module.
- The first module took 14 minutes to assemble.
- Estimating for 45 modules, the total assembly time was projected at 10 hours, which could be optimized by batching processes like soldering.
- Extensive 3D printing (hundreds of hours) was required for all 45 sets of flaps, enclosures, and DIN rail mounts.
Putting It All Together [12:32]
The final assembly of the complete display:
- After a month of intensive building, all 45 modules were complete.
- A backing board was prepared to mount the three DIN rails, along with a power supply and a Raspberry Pi.
- Initial Power-Up Challenges (Integration Hell):
- Not all modules spun correctly, and some displayed incorrect characters (e.g., 'A' instead of blank space, or '0'/'2' instead of '1').
- This was attributed to minor discrepancies in 3D printed parts and motors, leading to varying home offsets.
- Software Calibration Solution:
- Adam developed a custom mobile application to perform "per-character tuning."
- This app allowed him to individually adjust the "home offset" for each module and fine-tune the step count for every character on each module that was showing incorrectly.
- The errors were "consistently wrong," making them solvable through software adjustments.
- Successful Tuning: After significant effort, all modules were accurately calibrated.
- Demonstration:
- The display successfully showed all modules as blank, then all '1's.
- It then displayed a custom message: "HEY YOUTUBE! IS THIS THING WORKING?? YES!"
- The display also showed live-updating time (e.g., "11:34 PM").
- The system demonstrated reliability, maintaining accuracy for days without needing re-homing.
The completed display is shown in its final enclosure, demonstrating various capabilities:
- Smooth character transitions.
- Displaying colored characters.
- Showing dynamic data like NHL scores and stock prices.