Before digital display technology became affordable and practical, electromechanical flip-disc (AKA “flip-dot”) displays were a popular choice thanks to their high visibility and ability to scale to large sizes. For all practical purposes, flip-disc displays have been obsolete for decades. But we’re seeing a resurgence in demand for them, as they have an attractive and nostalgic appeal. If you’re interested in using them, Marcin Saj has a great tutorial explaining how to control a flip-disc display with an Arduino.
Part of the reason that flip-disc displays are hard to find today is that they’re electromechanical devices that require dedicated manufacturing. Each “pixel” is a bistable device that will remain in its set position until the user actively resets the position. To flip the disc, the user must supply a pulse of electricity through an electromagnet coil in the correct polarity. One direction sets the disc to one side, and the reverse polarity sets the disc to the other side. Because the discs are bistable, the user only needs to flip the necessary discs to achieve the states they require — not the entire display. Flip-discs are relatively slow, so that is important for reducing overall refresh time.
Saj’s tutorial goes into depth on these control techniques using a custom driver board with a 595D shift register and an H-bridge. The shift register reduces the number of Arduino I/O pins required for control by setting the states of the discs one after the other. The H-bridge is a set of interconnected switches that makes it easy to reverse the polarity of a portion of a circuit, which is the active disc in this case. By storing the states of the discs in memory, one can skip over the discs that are already in the proper state and save time.
This tutorial is meant to work with Flipo.io’s own flip-disc displays and drivers, which were designed specifically for use with Arduino boards and that will be launching soon through Kickstarter. The tutorial focuses on a three-disc display, but it appears that Flipo.io intends for users to expand that into larger arrangements.
Read more about this on: Arduino Blog