Introduction: Howto Flipdot With a Raspi

flipdot displays are kind of like led displays except *way* more steampunk!

each pixel is a 15mm disk that physically flips back and forth to reveal one side or the other. the version shown here has black / white pixels but you can order a bunch of other colors (including mirror finish!) from alfazeta.

you can drive the pixels by sending instructions over an rs485 bus. here we will show you how to control the display with a python script on a raspberry pi and a sparkfun usb to rs485 converter!

Step 1: Connect Usb to Rs485 Board to Raspberry Pi

alfazetas flipdot signs expect to be on an rs485 bus. there are several ways the raspberry pi could talk to an rs485 bus, we will demonstrate one very simple method that uses a half-duplex (one way) usb to rs485 dongle to transmit to the bus without listening (which is ok because we dont need the flipdot display to talk back to us).

the sparkfun usb to rs485 converter features an exar sp3485 rs485 transceiver to transmit an rs485 signal to the bus (but not listen) and an ftdi ft232rl that bridges the exar chips serial uart connection to let us talk to it from the raspis usb port.

when you order your usb to rs485 converter from sparkfun make sure to also get a 3-pin 3.5mm pitch screw terminal. solder this terminal to the a / b / g port furthest from the usb connection (we forgot to order ours and used a 5-pin terminal we had laying around instead).

connect wires to the a & b terminals (we dont really need the g[round] wire unless we have a fancier rs485 bus) and plug the board into the raspi with a usb mini-b (*not micro*) cable.

Step 2: Connect Flipdot Sign & Set Dip Switches

now we are ready to hook up the flipdot display to the rs485 bus and 24v power supply!

we ordered a 30 volt 5 amp variable power supply from amazon as we are planning to drive several displays at once, a single display consumes less than half an amp at 24 volts so you could probably get by with something less.

first lay the sign face down *gently* on a clean surface (we use a piece of black poster board).

*make sure the power is off before you connect or disconnect wires or flip dip switches*

connect the a and b wires of the rs485 bus to the terminal next to the dip switches as shown. then connect the 24v and ground lines from your power supply to the other screw terminal.

the 3 switch dip on the left controls the expected data rate, set switches 1 & 2 on and 3 off (as shown) to set the data rate to 9600bps. the 8 switch dip controls the display address and test mode. the first 6 switches control the address, set switch 1 on and 2-6 off to set the address to binary 000001. for now set switch 7 to off and 8 to on (as shown in the second picture) to put the display in test mode. if you flip it upright and then turn the power on you should see the entire display flip from black to white and then back once a second!

now turn the power off and set switch 8 to off so that we can control it from the raspberry pi.

Step 3: Setup Python Script on Raspberry Pi

finally we get to play with the code! either connect your raspi to a monitor, mouse & keyboard or ssh into it from your laptop.

the latest version of raspbian has support for the ftdi232rl (the usb to serial chip on the sparkfun board) builtin so you dont need to install the drivers from ftdi. you *do* need to add the user 'pi' to the 'dialout' group (which owns /dev/ttyUSB0, the interface created by the linux open ftdi driver) so you can access the serial port:

(from a terminal type the following, *not* including the '$')

$ sudo usermod -a -G dialout pi

now restart the raspi to update the permissions.

download our python script from github and save it as ''.

make sure everything is plugged in as shown, power up your flipdot display and enter the following at a terminal:

$ python

you should see a message scrolling across the display! now try changing the variable 'question_string' on line 31 to your own message and run the script again.

Step 4: Profit (... Watch Flipdots Go!)

congratulations you have a single working flipdot display!

now order some more displays and build something awesome ;)


youalayjdk (author)2017-04-03

I connected the flip dot to the raspberry pie via RS485 as shown.
And I also saw test mode running.
However, I turned off switch 8 and ran through the terminal, but it did not work. I need your help vigorously. Do you need a different driver to get it working? Please answer fast. please.

BigbobM (author)2016-11-14

How much did that single Flipdot board with "control unit" cost? I was looking at their website and they don't have any prices listed, and it looks like they don't include the control board (the one that interfaces with RS485).

CarlosS302 (author)2016-10-07

How do you control more than one display?

philetus (author)CarlosS3022016-10-26

you can connect several of the flipdot panels to the same rs485 bus, you just need to give each a unique address by setting the dip switches. update messages can either broadcast to all of the panels or name one by address.

my updated python library here ( lets you create a display out of several panels and automatically sends messages to each panel when you render the display.

also check out the instructable for our installation ( and the python code that drives that display here (

sifu-dianji (author)2016-08-26

That display is so cool! The only problem is that it must cost an arm and a leg, and an LCD costs a few quid...

DIY Hacks and How Tos (author)2016-08-24

Awesome display. This would be great for steaming live text feeds.


yes the raspi 3 has builtin wifi so it makes it easy to connect the flipdot display to feeds from the interwebs ;)

DylanD581 (author)2016-08-24

Cool flip-board display! I've wanted to build one of these for a while. How do you order these from that company?

philetus (author)DylanD5812016-08-24

there are several options for the displays (size of the display grid, size of the disks, colors, controller configuration, etc) the one shown here is a 7 x 28 grid of 15mm black / white disks. we emailed alfazeta at, worked out what we wanted, and then paid them thru paypal. the displays are somewhat fragile but were vary carefully packaged and arrived with no problems.