Hi all,
I’ve had a side project that I’ve finally found some time to work on, and I wanted to share my initial progress here.
I got ahold of an electromagnetic flip disc display manufactured by a company called Alfa-Zeta. You can find out more about their displays here:
These displays are super cool; they use electromagnets to flip little discs from one color to another (in this case black and white) and they maintain their state when they lose power. They’re especially fun because of the sound they make when they switch from one color to another.
Here’s a display hooked up to a Sparkfun Photon Redboard with an RS485 shield:
Following Alfa-Zeta’s reference materials, I wrote a short script to drive the display from the Photon. Nothing internet-connected yet, just a basic test. Here’s the script:
//
//
// Flip Disc display demo application
//
// Author: Zach Supalla
//
// Description: Flips the discs back and forth on a seven-by-seven display
//
//
// Transmission protocol for the flip disc display
byte header = 0x80;
byte instant_command = 0x87;
byte delayed_command = 0x88;
byte refresh_command = 0x82;
byte end = 0x8F;
// The address of my flip disc display (set with dip switches)
byte display_address = 0x00;
// Messages
byte white[7] = {0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F};
byte black[7] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
byte white_stripes[7] = {0x7F, 0x00, 0x7F, 0x00, 0x7F, 0x00, 0x7F};
byte black_stripes[7] = {0x00, 0x7F, 0x00, 0x7F, 0x00, 0x7F, 0x00};
void setup() {
Serial1.begin(9600);
}
void loop() {
write_immediately(display_address, white_stripes);
delay(1000);
write_immediately(display_address, black_stripes);
delay(1000);
}
// Write a message immediately to the display, without refreshing
void write_immediately (byte address, byte message[7]) {
// Send the header info
Serial1.write(header);
Serial1.write(instant_command);
Serial1.write(address);
// Now send your message
for (int i = 0; i < 7; i++) {
Serial1.write(message[i]);
}
// End the message
Serial1.write(end);
}
Here’s what happens when you run the script:
Next steps are to drive some more complex visualizations, and connect it to the internet in some way. I’d love to show sparklines of interesting data from the web, like web traffic to www.particle.io, or something along those lines.
More to come!