Close
0%
0%

OpenFlap

The OpenFlap project aims to create a open source, affordable split-flap display for the makers and tinkerers of the world.

Public Chat
Similar projects worth following
The goal of the OpenFlap project is to create an opensource Split-Flap display that is easy to build, flexible and relatively cheap. On this page I will try to document the development of the project.

For documentation I would like to refer to the github page.

Classic split flap displays use a stepper motor, and count the steps they need to rotate to arrive at the next character. The OpenFlap display takes a different approach. A small geared DC motor (60 rpm @ 12V) is used to move the inner wheel. The inner wheel has a 6 bit encoder pattern on it's side, this pattern is used to determine the currently displayed letter and to ensure the motor stops at the correct character.  This encoder pattern also allows the display to know what it's showing the instant it is powered. While classic split flap displays require the inner wheel to do a full revolution to find its home position.

The display uses PCB's and 3D printed parts as structural materials. The side panels, the flaps and the encoder wheels are all PCB's

Only one of the PCB's contains any electronics.

The 3D printed enclosure features small tooth like indentations that prevent the flap wheel from rotating back.

The modules, can be stacked on-top of each other. Through the connector on the top and bottom of each module.

The top-most module of each stack should be equipped with a special top-con PCB. This board provides power and data to the module and allows multiple modules to be linked together using a ribbon cables.

The controller can be attached to the input of the first top-con PCB. The controller hosts a webpage and REST api to allow users to interface with the display.

The OpenFlap display modules and top-con boards contain a sensor allowing them to detect if another board is connected below or next to them. This allows the display to configure itself automatically. This is shown in action in the video below.

GH010232.MP4.mp4

Working prototype of 2 OpenFlap modules with a top-con board an a controller.

MPEG-4 Video - 45.79 MB - 04/28/2022 at 20:07

Download

  • Redemption

    Toon Van Eyck05/07/2024 at 21:48 0 comments

    It's been a while...

    The OpenFlap modules have failed me, this (and the birth of my son) caused me to put this project on hold for some time. 

    A good 10 months ago, I ordered supplies for about 30 modules. Once all were assembled and programmed, I started to test them. They did NOT work, not at all. The main issue was that the positioning relied on 6 IR sensors connected to digital inputs, the voltage levels generated by the ir sensor and encoders where not clean enough to rely on a digital input.

    So, I decided it was time for a spec bump. The modules have been redesigned to use a Puya py32f003x8 32bit ARM mcu. This mcu allowed me to utilize 6 analog inputs for ir sensors. 

    I just finished the first new module and everything seems to work! I implemented the main logic and the bootloader, but I still have some work left regarding flashing new firmware using the ESP32 based OpenFlap Controller, implementing various api endpoints, etc...

    Another plus, the chip is a bout €0.50 cheaper. Additionally I found similar IR sensors for about €0.90 cheaper. So a €6 reduction in total!

    In an effort to resurrect the 30 PIC based modules, I designed an adapter to adapt the PIC footprint to the Puya footprint. 

    That's all for now!

  • Major Firmware Rework + virtual trimming

    Toon Van Eyck05/31/2022 at 14:12 0 comments

    Sadly, not a lot of sexy new features in this update... I reworked quite some things in the firmware to improve the codebase. I also discovered some bugs and fixed them, the usual... The 

    One new feature I would like to shed some light on is the virtual trimming.

    In this picture the letter "E" was requested from the module. The module didn't turn quite enough, to fix this, there are 2 solutions.

    Solution 1:

    We can physically trim the latch shown in the blue circle marked "1". This will cause the flap to turn over earlier. 

    Solution 2:

    We can have the wheel of characters turn a bit further. This ensures the flap clears the latch and can turn over. Because this has the same effect as trimming the latch, I call this virtual trimming or vtrim.

    This setting can be controlled through the webpage and allows up to 128ms delay in increments of 2ms.  

  • Controller V1.1 & Top-Con V1.1

    Toon Van Eyck05/12/2022 at 13:36 0 comments

    The first controller had some issues which I addressed in this hardware revision.

    • The footprint of the logic level shifter (U5) was fixed.
    • Added an RGB status LED.
    • Added a reset button.
    • Added a mode button to select the Wi-Fi mode. 
    • Changed the right angle box header to a straight box header and changed the orientation 180 degrees.
    • Changed the board dimensions to allow for the extra components.
    • Changed the relay driver to a mos-fet + diode because of component scarcity.

    The Top-Con board was updated as well, this was done so all components can be mounted on the same side. 

  • Procedurally generated flaps. Part 2

    Toon Van Eyck05/09/2022 at 11:58 0 comments

    As noted in the previous part. The Inkscape script wouldn't handle some characters properly. I added an extra step in the character generation process to allow for an easy method to edit the character designs.

    The Inkscape script has been spilt into 2 parts "flap generation" and "flap splitting" .

    A part of the result of the flap generation is shown below:

    There are some clear issues with the generated characters. Additionally, the width of the "@" character is less than other characters. We can fix all these issues before calling the second part of our script.

    The "repaired" character set:

    No we will call the "Flap Split" extension. This will generate the individual .svg files. These individual files can be used as described in the previous part to generate the PCB production files.

  • Procedurally generated flaps.

    Toon Van Eyck05/05/2022 at 22:56 0 comments

    I always knew I would dread creating the design files for all 48 flaps of the display. So I didn't!

    Why do something in an afternoon when you can spend 3 days coding a program to do the task!

    This is the solution I came up with:

    SVG's:

    First I created a template file with the flap board-outline on a layer called "Dimension". 

    I wrote an extension that loops through a list of characters, places them in the svg file, cuts them in half and positions them.  Two (half) characters are placed per iteration, each on a separate layer, called tPlace and bPlace. Each flap is separately exported as svg file.

    Eagle .scr:

    Now that we have a list of svg files, we need to find a way to import those files into eagle board designs. There is a great tool by Gordon Williams for converting an svg into an eagle scr files. I forked his project to allow me to upload and convert multiple files at once. I also changed his script so the layer used by the eagle script is the same as the label of the Inkscape layer. These changes greatly improved my workflow, though the UI had to suffer...

    gerber zip's:

    Next I created a batch script that utilises the eagle command line interface to run the eagle scr script and export all the different gerber layers. These gerber files where the combined in a zip file, which can be uploaded to your preferred PCB manufaturer.

    The bad news:

    The Inkscape extension is not flawless some characters that are not "full height", like: "." and ",", don't play nice with the script and end up in the wrong place. Also depending on the font, some characters have a different weight and look out of place. Those characters must be manually modified. 

View all 5 project logs

Enjoy this project?

Share

Discussions

Huib Verweij wrote 05/06/2024 at 08:34 point

Count me in when you go to KickStarter.

  Are you sure? yes | no

Sasha Hilton wrote 07/15/2023 at 02:59 point

Do you have a discord or similar to discuss developments/thoughts/suggestions on this project?

  Are you sure? yes | no

Toon Van Eyck wrote 05/07/2024 at 21:54 point

No I don't. We can either discuss it here or on github: https://github.com/ToonVanEyck/OpenFlap/discussions

  Are you sure? yes | no

teraz wrote 05/31/2022 at 14:53 point

how many chars i can put? my alphabet have 32 chars

  Are you sure? yes | no

Toon Van Eyck wrote 05/31/2022 at 15:16 point

Hi teraz, the OpenFlap system can have 48 characters. 

  Are you sure? yes | no

sup wrote 06/01/2022 at 07:52 point

;(

meybe increase a little? for example double chars: a e o  etc.?

  Are you sure? yes | no

remco wrote 05/22/2022 at 20:10 point

very much gonna keep an eye on this! if it turns in to a crowdfund for kits, I don't want mis out ;)

  Are you sure? yes | no

Matt wrote 05/22/2022 at 03:17 point

I've also thought of using PCB's to get the right thickness for flaps, do you happen to know a rough cost per module? I haven't found a cost effective way of making flaps for a module regardless of material.

  Are you sure? yes | no

Fredrik wrote 05/07/2022 at 12:14 point

I really love it! Would it be possible to panelize multiple flaps together so that the PCB version of the flaps so it's cheaper? Like 4x4 panel and it would only require 3 different designs, with JLCPCB would be 3x29$ for panels with 10pcs.

  Are you sure? yes | no

Toon Van Eyck wrote 05/07/2022 at 20:20 point

Sadly no, I tried this but JLC adds €60 per panel because there are "different designs" in each panel. If you order 200 of each letter it would come to around €6,50 per set. So I might try crowdfunding to to get better prices that way.

  Are you sure? yes | no

JP Gleyzes wrote 05/06/2022 at 20:42 point

That's simply impressive --> good job !

  Are you sure? yes | no

Toon Van Eyck wrote 05/06/2022 at 21:14 point

Thanks!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates