Remote-Url: https://mcuoneclipse.com/2022/01/09/diy-split-flap-display/ Retrieved-at: 2022-02-27 20:00:39.815504+00:00 Skip to primary content MCU on Eclipse Everything on Eclipse, Microcontrollers and Software [a-20-split-flap-unit] Search [ ] [Search] Main menu * Home * Eclipse * PEx + Components o FreeRTOS o USB o FatFs o I2C o SPI + CDE * Compendium * Pictures * Q&A * Books! * Bucket List * About * Requests * Mark Dunnett Guest Blog Post navigation ? Previous Next ? DIY Split-Flap Display Posted on January 9, 2022 by Erich Styger Split-flap displays are electromechanical display devices, which were common in airports or railway stations a few years ago.Unfortunately, most of them are gone and replaced by LED displays. Why not create a DIY version of it? [a-20-split] 2?10 Split-Flap Display As mechanical devices they are rather complex and subject of mechanical wear-out. But Split-Flap displays have many advantages over their LED counterparts: no power required if the display is static, good visibility and contrast, and the flapping sound draws attention if information changes. Luckily, there is an open source project by Scott Bezek which helps you building your own DIY Split-Flap display. :-). Starting Point The project started with a link a good friend forwarded to me (thanks again, James!), pointing to blog article by Dave Madison which shows how he has built a split-flap display: https://www.partsnotincluded.com/ building-diy-split-flap-displays/ [8-unit-by-] 8-Unit Split-Flap by Dave Madison This amazing project is based on the outstanding work of Scott Bezek: https:// scottbez1.github.io/splitflap/ If you need to know how such a display works: I really like his mechanical design, and with the needed equipment available (laser-cutter, desktop CNC, PnP, ?) this project was in reach for me :-). The original project uses Arduino plus dedicated controller board. For many reasons I did not want to use Arduino. Instead, I wanted to build a system which can be used in the lab for my 'Advanced Distributed Systems' course, and this means using non-hobby software and development tools. Scott's original design can drive up to 12 units, but I needed to have something which can be interconnected and distributed: giving each student one or more split-flap and have them connected and working with the units of other students. With this, I created a new driver/controller hardware and software. If you want to build your own: start with Scott's excellent documentation. What I describe here is how I created my version, so you can decide and pick what you want to use for your own build. Ideally you are able to assemble electronics, have access to a laser cutter and/or CNC. If you don't want to build everything yourself: Scott is selling components from his Etsy store too. Enclosure I re-used the original design from Scott with minor modifications, and created both 3 mm MDF and acrylic versions of it. For the MDF I used 60?60 cm sheets which get cut into pieces by the CNC: [cutting-md] Cutting MDF sheet into pieces A laser cutter then cuts the parts out of each piece: [laser-cut-] Laser-cut MDF Similar for the PMMA/Acrylic version: [red-pmma-v] red PMMA pieces [red-pmma-split-flap-enclosure] Translucent red PMMA version One modification was to add a washer to every spool: [washer-on-] Washer on Spool I wanted to have a way to stack units: [stacking-u] Stacking Split-Flap Units A 3D printed connectors keeps them on top of each other: [split-flap] To prevent the front plate nut from falling out the enclosure, it is kept in place with a 3D printed holder: [front-nut-] Front Plate Nut Holder [front-nut] Front Plate Nut 3D printed holders are used for the electronic boards behind the units. The holder simply get clipped between the enclosure units: [pcb-holder] Below the assembly of 20 split-flap units: [backside-o] Back of 20 split-flap units [20-split-f] To keep the motor cables away from the flaps, I have added a 3D printed cable tunnel: [cable] Flaps One of the most important part of a split-flap are the flaps. I did experiment with aluminum flaps, but the sound of the flaps was not so good in my opinion. [experiment] Experimental aluminum sheets The advantage would have been that they can be directly engraved with a laser cutter: [experiment] Experimental Aluminum Flaps So I ended up using PVC cards, the same kind of material which is used in Scott's original project: Credit-card-size PVC cards which then can be cut to be used as flaps: [printable-] Blank PVC Cards But because of the 'C' for chlorine in PVC, it is very dangerous to cut them with a laser cutter. So instead, I used a desktop CNC to cut them. To cut the flaps with the CNC, I created a jig: [jig-for-fl] Split-Flap Jig Up to 10 PVC cards can be put into it: [cards-to-b] Cards to be put into the jig Two pieces of MDF with screws keep them in place: [screwed-do] Hold down with MDF and screws Then the 'tabs' get milled out with a 1/8" end mill. The result are cards with the needed cutouts: [cards-with] Cards with cut-outs [cnc-the-fl] CNC the flaps With the masking tape which tightly keeps the cards in place, the result is clean and needs no real post-processing. [pvc-cards-] Clean Cuts Below some of the cards cut with the CNC: [cards-cut-] PVC cards with cut-outs The next step is to cut them in half. [cards-read] split-flaps ready to be cut in half I did consider cutting them with knife or directly with the CNC. The best solution was to use a cutter which is used to cut wood or PCBs. A 3D printed jig is used to cut multiple cards in a single step: [flaps-cutt] Cutting cards [blank-spli] Blank split-flaps Letters Many thanks to Dave Madison who created python scripts to create split-flap letters, which I used to create all the letters. Below the two lines to create two sets of letters I can cut with the CNC: python scripts/generate_fonts.py -t "ABCDEFGHIJKLMNOPQRSTU" --ncolumns 7 python scripts/generate_fonts.py -t "VWXYZ0123456789!?+.-#" --ncolumns 7 [rendering-] This generates SVG files which can be loaded into Inkscape and then converted into DXF files: Make sure units are set to millimeters: [inkscape-m] Inkscape Then store the file into the .dxf format (File > Save As..). Here again make sure it is using mm: [dxf-with-m] .dxf file with mm base units Then load each file into DXF2GCODE (see "Optimized Vinyl Cutting G-Code Tool Path with DXF2GCODE") and create the G-Code files. Make sure to set the correct origin with Options > Move Workpiece Zero (I'm using lower left corner): [dxf2gcode-] DXF2GCODE Because I do the tool change manually, I have commented out the M6 (tool change command) in the resulting file(s). [cutting-le] Cutting Vinyl Letters with Desktop CNC [vinyl-lett] Vinyl Letters The letters then get applied to the flaps with a transfer foil: [cut-out-le] Cut-Out letters [added-transfer-foil] added transfer foil [removing-b] Removing back-paper [removed-ba] Removed back-paper [added-flap] Added flaps [removing-t] Removing transfer foil [applied-le] Applied letter Using the above process, it takes about 20-25 minutes to apply the letters for a single split-flap unit. [assembling-letters] Assembly in progress Hardware: Motors, Nuts, ? The motors (28BYI-48) are available in many stores. Make sure it is the 12V version: [12v-28byi-] In general for all the hardware (nuts, ?), I recommend you follow the guide on Scott's GitHub Wiki: https://github.com/scottbez1/splitflap Electronics A first proof of concept was pretty messy, but worked :-). [split-flap] Messy Proof of Concept of Controller Solution [prototype-] Single-Unit Prototype Below a first test with units: Because these days it is very hard to get microcontroller, and because most students already have a tinyK22 or LPC845-BRK board, two designs around these boards have been created in KiCAD: [tinyk22-sp] tinyK22 Split-Flap PCB [tinyk22-sp] Split-Flap Controller Board with tinyK22 and OLED [lpc845-brk] The two boards are very similar: the main difference is if a LPC845-BRK (NXP ARM-Cortex M0+) or tinyK22 (NXP ARM-Cortex M4F) is used as MCU board. * 12V Power supply * 4 'breakable' sensor PCBs for the hall sensors * JST 2.5mm connectors * RS-485 communication interface * up to 4 split-flaps * tinyK22 version only: I2C (OLED) connector and UART for ESP32 [lpc845-brk] Split-Flap Controller board with LPC845-BRK [lpc845-brk] The sensor PCBs get detached from the main PCB. [sensor-pcb] Sensor PCBs On the back side, there is the through-hole hall sensor: [tht-hall-s] Jig for soldering hall sensor Firmware The firmware is uses FreeRTOS with the McuLib and is runs with the NXP MCUXpresso SDK and IDE: [nxp-mcuxpr] NXP MCUXpresso IDE The firmware includes a command line interface, which can be used with USB-CDC, SEGGER RTT, UART, RS-485 or over WifFi with an attached ESP32. Text over multiple lines can be sent with a '\n', e.g. display "hello\\nworld!" will show the text on two lines. [split-flap] Shell Command Line Interface The settings are stored in FLASH memory using key-value pairs. The position of each split-flap unit can be freely configured (x, y position on display). In case of missed steps of the stepper motors, the firmware is able to detect this with the magnet and hall sensor and automatically corrects it on-the-fly. For easy re-wiring of split-flap units, the firmware includes a pre-configured offset table, reducing the installation or reconfiguration time. Both the tinyK22 and LPC845-BRK version uses shared firmware sources. For a larger display the boards communicate over the RS-485, and the display content can be controlled from a single controller board, from the Host PC (UART, SEGGER RTT, USB CDC) or over WiFi with an attached ESP32. The tinyK22 boards can use a OLED (SSD1306) display too. Summary Currently I have 30 Split-Flap units assembled, with material for about 20 more units, so next step will be to build a larger display. With the RS-485 bus, there is a limit of around 128 devices (4*128 split-flaps) on a single bus, but then the 12V power monitoring and distribution would get more challenging. Currently there is one MCU needed for 4 split-flaps: this is fine for the class environment, but for larger displays an overkill. Scott has been working on a chain-link version: a student just finished a similar project: driving larger displays with just a single MCU. More about this probably in a future article. I want to thank again Scott Bezek for his work and excellent documentation, which was a big help for this project. Happy flapping ? Links * Optimized Vinyl Cutting G-Code Tool Path with DXF2GCODE * DIY Vinyl Cutting Drag Knife for Desktop CNC * Building DIY Split-Flap Displays by Dave Madison Optimized Vinyl Cutting G-Code Tool Path with DXF2GCODE Share this: * Print * Email * Reddit * Twitter * Facebook * LinkedIn * Tumblr * Pinterest * Pocket * WhatsApp * Telegram * Skype * Like this: Like Loading... Related This entry was posted in 3D Printing, Acrylic, ARM, Boards, Building, CNC, Cortex, CPU's, Displays, Eclipse, Embedded, ESP32, FreeRTOS, Kinetis, Laser Cutter, LPC, LPC, LPC845-BRK, MCUXpresso, MCUXpresso IDE, MCUXpresso SDK, NXP, SDK, Shell, tinyK22, USB, Vinyl Cutting, Wood and tagged Building, Display, Eclipse, KiCAD, Laser Cutter, LPC845-BRK, MCUXpresso IDE, MCUXpresso SDK, MinIni, Segger, Segger RTT, Shell, software, software project, Split-Flap, tinyK22, USB CDC by Erich Styger. Bookmark the permalink. [5835d607] About Erich Styger Embedded is my passion.... View all posts by Erich Styger ? 10 thoughts on "DIY Split-Flap Display" 1. [0cedc459]Wellness on January 9, 2022 at 17:45 said: Looks amazing well done! ? LikeLiked by 1 person Reply ? + [5835]Erich Styger on January 9, 2022 at 18:40 said: Thanks, assembling more split-flap units right now ? LikeLike Reply ? 2. [5c0394ab]Malcolm on January 9, 2022 at 18:29 said: So cool! I had a clock radio with this kind of display when I was a kid. It sounded just like yours! LikeLiked by 1 person Reply ? + [5835]Erich Styger on January 9, 2022 at 18:39 said: I still remember that split-flap clock in the Groundhog Day movie ? LikeLike Reply ? 3. [30301393]Cristian on January 9, 2022 at 20:21 said: Nice work! LikeLiked by 1 person Reply ? + [5835]Erich Styger on January 9, 2022 at 20:51 said: Hi Cristian, thank you! LikeLike Reply ? 4. [eae2946b]tomihbk on January 11, 2022 at 06:46 said: Wunderbar! Great work! I like how you added a lot of your stuff like from Luzern Hochshule. Do you by any chance sell the flaps? I wanted to make one but buying them from Scott, the shipping costs more than the flaps. Thanks LikeLiked by 1 person Reply ? + [5835]Erich Styger on January 11, 2022 at 09:15 said: Thank you! About the flaps: Yes, originally I wanted to order them from Scott too, but it was too expensive and he did not ship to Europe. I did not consider selling flaps except for students (so I don't have to care for shipping/etc). I cannot promise anything, but I might need to think about it? LikeLiked by 1 person Reply ? o [eae2]tomihbk on January 11, 2022 at 10:17 said: If it helps, I am a student(not in HSLU) and I'm located in Swiss. Let me know if you change your mind ? LikeLiked by 1 person Reply ? # [5835]Erich Styger on January 11, 2022 at 10:21 said: Yes, that definitely helps if you are in the same country ? You might get in touch with me directly, see my email/contact information on https://mcuoneclipse.com/about/ LikeLiked by 1 person What do you think? Cancel reply Enter your comment here... [ ] Fill in your details below or click an icon to log in: * * * * Gravatar Email (required) (Address never made public) [ ] Name (required) [ ] Website [ ] WordPress.com Logo You are commenting using your WordPress.com account. ( Log Out / Change ) Google photo You are commenting using your Google account. ( Log Out / Change ) Twitter picture You are commenting using your Twitter account. ( Log Out / Change ) Facebook photo You are commenting using your Facebook account. ( Log Out / Change ) Cancel Connecting to %s [ ] Notify me of new comments via email. [ ] Notify me of new posts via email. [Post Comment] [ ] [ ] [ ] [ ] [ ] [ ] [ ] ?[ ] This site uses Akismet to reduce spam. Learn how your comment data is processed . Website Powered by WordPress.com. * Follow Following + [croppe] MCU on Eclipse Join 2,819 other followers [ ] Sign me up + Already have a WordPress.com account? Log in now. * + [croppe] MCU on Eclipse + Customize + Follow Following + Sign up + Log in + Copy shortlink + Report this content + View post in Reader + Manage subscriptions + Collapse this bar Loading Comments... Write a Comment... [ ] Email (Required) [ ] Name (Required) [ ] Website [ ] [Post Comment] Send to Email Address [ ] Your Name [ ] Your Email Address [ ] [ ] loading [Send Email] Cancel Post was not sent - check your email addresses! Email check failed, please try again Sorry, your blog cannot share posts by email. %d bloggers like this: [b]