Thinking back to those old-timey train stations, you've probably seen a split-flap display hanging around that shows current information such as the time or which destination is currently active for a given line. However, the advent of large and cheap LED signs has rendered this display technology obsolete. That is why maker Dave Madison wanted to bring the split-flap display back with a DIY version.
In this kind of system, each digit is represented with an upper and a lower flap that each get spun to the next character by a motor when requested. For instance, it takes three spins to get from the letter
A to the letter
D. Some devices have a wider range of possible characters than others, and Madison's version has 40, with all 26 letters, numbers
+, and a blank character.
Madison's design has space for a total of eight different digits that he made in OpenSCAD and then exported as 2D paths. With the SVG file in hand, he sent it to an online lasercutting service that cut and etched each panel. The entire thing was created from 3mm thick acrylic sheets.
The split flaps were ordered from the tindie marketplace which allowed Madison to quickly get the exact dimensions he needed. Their smooth matte black finish was perfect for the retro aesthetic of the project. The letters were generated using OpenSCAD and then converted into DXF files for processing on a vinyl cutting machine. There were a total of 3 rows of characters with 13 columns per row.
Within each digit's enclosure is a common 5v stepper motor that turns the wheel of flaps by a single unit for each change of the digit. In this case, the a single rotation is equal to
2038 steps, so it takes
51 steps for one unit of change. The board controlling all of these motors is a single Arduino Nano with a custom-milled shield that communicates with the stepper motor drivers. Although the current position of each stepper motor is kept in software, they are able to be homed using a magnet and hall effect sensor that activates once a certain position is reached.
Madison purchased a couple of custom blank PCBs online that are purpose-built to drive split-flap displays. The user is meant to solder on two latched Darlington output drivers, four WS2812B status LEDs, and a single shift register.
Luckily for Madison, he didn't need to do all that much in the way of programming since someone else has already tackled the issue. The firmware works by receiving strings of text over the serial port and then translating them into stepper motor rotations. As seen in the terminal.py example, the device works really well while also looking great.
Madison plans on improving his split-flap display in the future by doing a rewrite of the firmware and connecting an ESP8266 adapter that can collect text from a web API and then show those messages.