[Swansea Hackspace] Flip-Dot Display Group Project: Update

Justin Mitchell justin at swansea.hackspace.org.uk
Tue Jul 10 16:31:56 BST 2018


On Tue, 2018-07-10 at 13:47 +0100, Peter Barnes wrote:
> Justin/Gwion,
> 
> > Have you documented which pins do what, the voltages and currents
> > required, etc ?
> 
> Yes, Tom has put together a full schematic in KiCad for the display,
> which along with exported logic analysis from a scope at uni has
> allowed us to figure out which pins do what.
> 
> > I looked at the project page you listed but it only points to other
> > peoples similar projects. 
> 
> I've just updated the Project Page with all of this new information,
> so that should make a lot more sense now. 

I have grilled Tom to get a breakdown of how you communicate with the
panels, as this info is not yet on the project page or reverse
engineering log.

So it boils down to 4 IO lines at 5V, plus a 15V power supply.

Column select, row select, pixel value, and latch.

So assuming some goals for the drivers:

* one driver per display panel, so they are interchangable.
* minimise changes to individual dots when changing display
* minimise data between master controller (RPI?) and panels.
* keep costs low whilst avoiding too much hardware building

My first suggestion would be to drive each panel with an arduino pro
mini board, they cost about a pound each these days, and running them
from a 5V power supply line means they can interface directly with the
panel.

If they implement a double-buffered graphics controller, 16x32 pixels =
64 bytes ram per buffer is easily achieved. so that when signalled it
will update the display from memory flipping only the dots that have
changed since last update.

Then use a simple serial protocol to feed it graphics commands over the
serial port. just a few commands box, circle, line, text, bitmap,
update-display, would probably do.  there are plenty of libraries
around to implement the actual drawing and fonts eg u2g or adafruit gfx
library

to attach several panels to one master controller, assuming it doesn't
have many serial ports, and you want to run them fast, i would suggest
adding RS485 interface chips. You can get breakout boards with MAX485
chips on them from aliexpress for 25p each.  that lets you have upto 32
devices share one serial port.

you then run whatever high level code you want on the RPi, receive
twitter messages, decode videos, play games, whatever.  it creates a
set of gfx commands to update the display panel buffers, and when the
updates are complete send a sync/update command to all the panels to
have them flip the dots to match the internal memory.  nice and smooth.



as an alternative, for single panel independence you could drive a
panel using an ESP8266/32 with just a few transistors or a level
shifter to connect to the drive pins. a cheaper solution when you just
want a single panel to be doing some things on its own, like being a
clock or status display or something.


happy to help implement parts of that, although i dont get to the space
all that often lately.





More information about the Hackspace mailing list