This is only a preview of the April 2020 issue of Practical Electronics. You can view 0 of the 80 pages in the full issue. Articles in this series:
|
BUILD YOUR OWN E-X-P-A-N-D-A-B-L-E
If you want a dot matrix display which has digits/letters over 90mm
high, is visible under a wide range of lighting conditions and uses no
power except when the display is changing, then our new and very cool
Flip-dot Display is for you. Seeing (and hearing) a Flip-dot Display is
quite something, so it makes a great conversation starter too!
Y
ou’ve probably seen the
large yellow dot displays on the
front of many buses and trains,
or perhaps in airports. They’re highly
visible in bright sunlight or under
cloudy skies, and they’re usually illuminated at night too.
Contrary to what you might believe,
they’re generally not electronic signs
as such: they’re actually electromechanical flip-dot displays. They’re
made from panels that are yellow on
one side and black on the other. They
rotate to change state, accompanied by
a pleasing ‘clack-clack-clack’ sound.
Well, now you can build your very
own home Flip-dot Display! It’s easy
to build, uses just a handful of readily
available parts and is controlled by an
Arduino or MicroMite microcontroller.
You can make it read just about
anything you want. If you use a micro
with a Wi-FI adaptor, you can even get
it to download and display data from
the Internet, such as the temperature
forecast or sports scores.
So-called ‘flip-dot’ or ‘flip-disc’
displays have been around for over
50 years and are still commonly used
in countless applications.
Their simplicity and reliability have
stood the test of time, and now you can
build your own.
For those not familiar with this
type of display, each disc or flap
which forms a pixel in the dot-matrix
display also contains a small permanent magnet. An electromagnet can
flip this magnet, and thus the disc, to
control which colour is visible from
the outside. The polarity of the coil
drive current determines which side of
the disc appears. When
power is removed, the
display remains in its
last state.
34
One complete unit – here displaying
the letter ‘S’ – sits upright of its own
accord. We have fitted a small length
of female header strip to CON1 and
CON3 to allow connections to be
made with jumper wires. See video:
siliconchip.com.au/Videos/Flip-dot
These displays are designed for
the discs to remain stationary until
commanded to move. Our version has
been simplified to make it as easy as
possible to build, but it will still make
a practical stationary display, and one
which can be seen quite well in various lighting conditions and across a
large room.
Many commercial flip-dot displays
use numerous small coils wound onto
tiny armatures – see the photo of one
on the next spread.
How our Flip-dot Display works
To simplify our display and make it
much cheaper and easier to build, we
have formed coils using PCB tracks
instead. One PCB contains fifteen such
coils on both layers – enough to produce a single character display by itself.
Each board consists of a matrix of
fifteen pixels, arranged three wide by
five high. This is just enough to display a capital letter, number or symbol. Each pixel consists of a piece of
fibreglass that’s black on one side and
white on the other, with an embedded
rare-earth magnet.
These sit over the PCB-track coils
and are attached to that board in such
a way that they can rotate through 180°
on a pair of simple hinges, allowing
either side of the black/white panel
to be made visible.
The PCB underneath is also white
on one side and black on the other, so
that when the panel with the magnet
flips, the whole area changes from
black to white, or vice versa.
All that the driver board needs to do
to cause it to flip is to energise the coil
underneath with the correct polarity.
This will repel the magnet initially,
causing the panel to swing through
90° until it is at right angles to the
panel below. The magnet will then
be attracted to the coil and continue
moving due to inertia, until it is laying
flat on the panel below but with the
opposite orientation.
The pixel size (19mm wide and
17mm tall) is a compromise between
the magnetic strength of the coil and the
weight of the moving elements. Each
coil has around 60 turns and measures
just over 1.5m in track
length, but is packed into
an area less than four
square centimetres. This
Practical Electronics | April | 2020
Features
15-pixel display per board (three pixels wide, five pixels high)
Each board can display a single letter, number or symbol
Display boards can be daisy-chained for multi-character displays
Customisable colours (BYO paint!)
5V/3.3V 4-wire serial interface
12V power supply required – 1.5A or higher (see text)
Each pixel controlled individually
Stackable for multi-row displays
is about the limit of what is possible
with a two-layer board.
We’re using 3mm × 1.5mm rareearth magnets glued into a hole on
the flap PCB. It is important that the
magnets all face the same way relative
to the colours. This ensures that the
flaps are interchangeable and consistently display the same colour.
The pixel flaps and the brackets
holding the flaps to the panel are small
PCBs too. A completed unit including the driver PCB will consist of 23
separate PCB pieces. The bracket PCBs
are soldered to the main coil PCB, and
the flaps are slotted in place, pivoting
around their end tabs.
PCBs are a cheap, convenient way to
achieve the correct mechanical dimensions required of multiple identical
parts. By using PCBs with a black solder mask and white silkscreen printing, we can use the silkscreen layer to
create pixels with very high contrast
between the ‘on’ and ‘off’ states.
Due to the limited strength of the
electromagnets, the display will only
work reliably when standing upright,
which it will comfortably do without
any extra parts.
The driving signals from the microcontroller are fed in via six-pin header
CON1. They pass to IC1 and IC2, two
74HC595 shift registers, which decode
the serial data stream and use it to
control the state of sixteen separate
digital outputs (QA-QH on each IC).
These control signals will normally
be either 0V (low) or 3.3-5V (high).
These digital outputs connect to the
control inputs of IC3-IC6, four L293D
dual H-bridge motor drivers, which
provide the current required to drive
the fifteen coils, as well as converting
the 0-3.3/5V control-signal voltage
swing into a higher 0-12V swing to
drive the coils.
Fifteen of the motor driver outputs
connect to one end of each coil, with
the sixteenth output driving the other
end of all the coils, which are joined
together (common or COM).
So to flip a single pixel, the common
(COM) output goes either low or high,
and one of the other fifteen outputs
(P1-P15) is driven with the opposite
polarity. This causes current to flow
through that one coil in a direction
determined by the output polarities.
The direction of current flow determines whether the coil produces
a north or south magnetic pole in
proximity to the permanent magnet.
The software needs to ensure that
only one coil is driven at a time, because all the coil currents return to the
same common driver pin. While this
pin may be capable of sourcing/sinking enough current to flip more than
one pixel at a time, we’ve found it to
be a bit marginal, and it results in IC6
(which drives the COM pin) getting
rather hot. So our software flips one
pixel at a time.
To achieve this, all outputs are set
high or low, except for one, which
is set to the opposite polarity. Any
output that is set the same polarity as
the COM pin will cause no current to
flow through the connected coil. Only
Driving the display
The display driver circuit is shown in
Fig.1. It is designed to be controlled
by a microcontroller using a simple
serial bus, and is powered from a
12V DC supply. It connects to the coil
circuit, shown in Fig.2, via headers
CON5-CON8. This circuit represents
one set of 3 × 5 pixels that can display
a single character; characters can be
daisy chained to form larger displays.
(We’ll explain how that works shortly.)
Practical Electronics | April | 2020
35
CON3
+12V
+12V
+12V
+3.3/5V
+3.3/5V
1000 F
GND
16
2
TO 12V
POWER
SUPPLY
8
VCC2
1Y
VCC1
1A
3
P1 1
2
P2
3
4
P5
P4
1 1,2EN
7 2A
16
CON5
2
6
7 2A
3Y
11
10 3A
2Y
6
3Y
11
P10 1
2
P7
P13 3
4
P14
IC4 L293D
9 3,4EN
9 3,4EN
15 4A
15 4A
4Y 14
4
CON6
3
1 1,2EN
2Y
IC3 L293D
10 3A
8
VCC2
1Y
VCC1
1A
5
12 13
4Y 14
4
5
12 13
TO CONNECT
WITH MCU OR
PREVIOUS
DRIVER
15 1
3
2
4
5
6
7
9
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q7'
16
Vdd
IC1
7 4 HC595
CON1
33 F
LCK
SRCK
12
11
DS
OE
14
13
Vss
MR
+3.3/5V
8
10
1k
DOUT
+3.3/5V
GND
GND
DIN
LT
LT
CK
CK
EN
EN
SC
20 1 9
Flip-dot
Display DRIVER
driver
FLIPDOT DISPLAY
the single coil that is driven with a
different polarity will receive current.
The instantaneous current requirement of the coils is around 1A with a
12V supply, which is above the continuous rating of the L293D. But the
coils only need to be pulsed briefly, so
the average current is much less than
the peak current. The microcontroller
pauses briefly between updating each
pixel, to keep the average current under the thermal limit and to allow the
pixel time to finish its flip manoeuver.
Since the display holds its state
with no power applied, the circuit’s
average operating current is usually
not terribly high. Note that no more
than two of the four drivers on any IC
should be active at a time.
The enable pins of the four L293Ds
(pin 1 of IC3-IC6) are joined together
and held low by a 1kΩ pull-down
resistor, so that the default state of all
the outputs is off (high-impedance). It
isn’t until the microcontroller pulls the
enable lines high, via pin 6 of CON1,
36
that IC3-IC6 are activated, and that
is only done once the control data
has been shifted through IC1-IC2 and
latched at their outputs.
The enable pins are only pulled high
for 100ms at a time, to limit the current
pulse duration, as explained above.
Due to this relatively long drive time,
the extra time taken to shift control
data from the micro through IC1-IC2
is negligible.
As required by the L293D, the logic
ground and power ground are common.
Separate connections for 12V power
and 3.3V/5V logic supply are available,
via CON3 and CON1 respectively.
Construction
This is a mechanical design with moving parts, so a fair degree of precision
in the construction is required to
ensure proper operation. The primary
requirement is that all the parts are
put together squarely and lined up
correctly before fixing them in place.
The first step is to glue the magnets
in the pixel flaps. We highly recommend that the flaps be left in the PCB
The mechanism of a commercial flipdot display. The discs are around
9mm across and are driven by
coils of enamelled wire.
The magnetism
remaining after
the current has
ceased is enough to
hold the discs in their
last position, or even
snap them back if
they are moved.
Practical Electronics | April | 2020
+12V
+12V
CON4
+12V
GND
+3.3/5V
+3.3/5V
16
2
8
VCC2
1Y
VCC1
1A
3
1 1,2EN
7 2A
16
CON7
P3
1
2
P6
P8
3
4
P9
2
6
7 2A
3Y
11
10 3A
2
P12
P11 3
4
P15
2Y
6
3Y
11
IC6 L293D
9 3,4EN
9 3,4EN
15 4A
15 4A
4Y 14
4
CON8
3 COM 1
1 1,2EN
2Y
IC5 L293D
10 3A
8
VCC2
1Y
VCC1
1A
5
12 13
4Y 14
4
15 1
3
2
4
5
6
7
5
12 13
TO CONNECT
WITH FURTHER
DRIVERS
9
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q7'
16
Vdd
IC2
7 4 HC595
LCK
SRCK
12
11
DS
14
OE
13
Vss
MR
8
10
CON2
DIN
+3.3/5V
GND
GND
DOUT
LT
LT
CK
CK
EN
EN
Fig.1: the circuit of the driver for one 3 × 5 pixel Flip-dot Display. The control signals and logic supply from CON1
are fed to IC1 and IC2, two 8-bit serial-to-parallel latch ICs. These drive the 16 control inputs of L293D dual H-bridge
motor drivers IC3-IC6. Here, they are driving 15 coils etched in a separate PCB, shown in Fig.2.
frame during this step, to avoid pieces
getting lost. The flaps are spread out
enough that interaction between the
magnets is minimal.
We do this step first to allow time
for the glue to cure. We used epoxy
resin as it has a bit of resilience and is
quite strong; cyanoacrylate-type glue
(superglue) is probably too brittle and
might causing the magnets to come
loose after some use.
To make this process easier, you
need a disposable, flat plastic surface. The lid from an ice-cream tub or
takeaway container is ideal, as epoxy
will not stick to this. Another helpful
item is a flat sheet of ferrous material
(something that a magnet would stick
to, such as plain steel). This can be
used to help hold the magnets in place.
We used a steel case, but you could
also use the lid of a ‘tin’.
Place the ice-cream tub over the ferrous material, then sit the PCB frame
on this. Once you insert the magnets
in their holes, they should be held in
Practical Electronics | April | 2020
place by their attraction to the steel,
but the ice cream lid will allow them
to be removed without too much force.
The most critical point of this step is
that all the magnets’ poles line up.
To achieve this, take the stack of
magnets (they’ll form into a stack of
their own accord), and push the magnet at the end of the stack into one of
the holes in the pixels. Then detach it
from the stack by sliding the stack to
the side, leaving a single magnet sitting in the hole. The PCBs are 1.6mm
thick, so the magnets should sit just
below the surface of the PCB.
You will see that there are 16 pixel
flaps in the frame, but we only need
15, so there is a spare if needed.
Then repeat for the other 14 or 15
pixels, without changing the stack’s
orientation. When finished, check the
magnetic polarity by moving another
magnet nearby (not so close that it pulls
them out). You should feel all the magnets are attracted to the magnet in your
hand without changing its orientation.
Mix up a small amount of epoxy
resin, and apply a film to the top of
each magnet in its hole. Try to work it
down the sides if possible. The rough
edges of the PCB will provide good
purchase on the glue. Finally, wipe
down any excess. This is important
– any extra glue may foul and unbalance the mechanism.
You should also ensure that the PCB
panel is still flush with the plastic below, as if it is sitting up, the magnets
may end up protruding slightly.
Allow the resin to harden. We
recommend that you leave it longer
than suggested by the manufacturer
to ensure it is fully cured. If it is still
sticky, it may gum up the mechanism
and make handling difficult.
If you wish to change the colour of
the flaps, after the resin has cured is an
ideal time. A thin coat of paint should
be used to ensure that the flaps do not
become too heavy. You could use spray
paint, one colour on one side, and a
second colour on the other side.
37
COM
P1 COIL
COM
P2 COIL
P4 COIL
P6 COIL
P5 COIL
CON5
P7 COIL
CON7
P1
1
2
P2
P4
3
4
P5
P8 COIL
P10 COIL
P3
1
2
P6
P8
3
4
P9
P12 COIL
COM
COM
CON8
CON6
SC
20 1 9
P9 COIL
P11 COIL
COM
P13 COIL
P3 COIL
P10
1
2
P7
P13
3
4
P14
P14 COIL
Flip-dot
coil PCB
circuit
FLIPDOT COIL
PCB CIRCUIT
COM
1
2
P12
P11
3
4
P15
P15 COIL
ALL COILS ARE COMPOSED
OF TRACKS ON THE PCB
Fig.2: the 15 coils on this PCB are driven by the circuit of Fig.1 and either
attract or repel rare-earth permanent magnets mounted in pixel flaps on top of
them. Because those rare-earth magnets have a north pole on one side and a
south pole on the other side, depending on the direction of current flow through
a coil, the flap flips to one side or the other, exposing a different colour.
You could apply the same colours
to the coil PCB, although this will
need masking to ensure the colours
are kept separate. However, we think
most constructors will be happy with
the black and white as supplied, since
it provides good contrast under just
about any lighting conditions.
Note that if you are building multiple displays to be ganged together,
it’s a good idea to ensure that the
magnetic polarity is consistent across
all the displays, to avoid extra driver
software complexity.
If different characters have different
pixel black/white orientation, this will
need to be programmed into the software, so that it can give a consistent
display across characters.
Building the frame
You will need six frame elements to
build one fifteen-pixel display. But
note that if you are going to be stacking
two frames vertically, you will only
need eleven in total; one frame will be
shared between two boards. The frame
pieces are cut from a 72.5 × 75mm
PCB that contains eight separate frame
pieces, as shown in Fig.3.
Carefully break the frame pieces out
of the PCB panel. You may find it easier
to cut one side out of the panel with
side-cutters before separating each element along the perforated ‘mouse-bites’.
The frame pieces do not need to be
cleaned up to work correctly, although
they can be filed flat along the mousebite edges if you prefer. The PCBs are
38
made of fibreglass, so any filing should
be done outside with a mask, to avoid
breathing in fibres.
The long, flat edge is visible from the
front of the display when mounted, so
you may wish to colour this black (eg
with a marker or paint) to improve the
contrast of the display. Note that while
our photos show green frames on our
prototype, the final boards (available
from the PE PCB Service) will have a
black solder mask instead.
The frames sit on the front of the coil
PCB but are soldered at the back, so
you won’t see any solder when looking
at the display later. Line up the edges
of the two PCBs; the frame should sit
at right-angles to the coil PCB. You
19111183 Flipdot Display Pixel Frame
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
will need a fairly large soldering iron
tip and be generous with the solder to
ensure the fillet bridges the gap.
It’s a good idea to solder one of the
tabs at the back and check the position
before soldering a tab at the other end.
You might like to leave just one tab
soldered until the flaps are fitted, as
this will give a small amount of flex
to the frame, allowing the flaps to be
slotted in with less effort.
If you do this, though, make sure
to come back later and solder at least
one more tab on each frame piece,
once you have confirmed that the unit
works correctly.
The coil PCB is probably the most
delicate part, as the fine copper traces
are near the limit of manufacturing
tolerances. The traces run quite close
to the edge of the board, and if they are
damaged, they will be next to impossible to repair and the display may not
work correctly – so be careful with it.
On the reverse of the coil PCB, there
are pads for four 2×2 pin SMD male
headers – see Fig.4. These headers are
a similar size overall to their throughhole equivalent.
It’s a good idea to push the female
header sockets (which will be soldered
to the driver board later) over the pins
on the SMD headers before soldering
them. This way, if you accidentally
apply too much heat, they should stay
in alignment.
The use of surface-mount headers
here means that the front of the display
remains unspoiled by soldered joins.
As with any other SMD part, the
simplest way to locate the headers
correctly is to solder one pin in place,
then, after checking that it is in the
correct location, solder the remainder.
The mating holes for the female headers
on the driver PCB are slightly oversize,
to allow for minor inaccuracies in the
placement of the male headers.
Fig.3: this PCB can be cut
apart into eight separate
frame pieces - enough to
make one 3 × 5 pixel flipdot display with two pieces
left over. The holes form the
‘hinges’ for the pixel flaps
to rotate about, while the
exposed copper is soldered
to the coil PCB to hold the
frame in place.
Cut carefully where shown
using a side-cutter to
separate the pieces. The
frame pieces are quite thin
and could be damaged if
handled roughly.
SC
20 1 9
Practical Electronics | April | 2020
(1)
P3 COIL
P2 COIL
P2 COIL
P1 COIL
(2)
(1)
(4)
P3 COIL
(2)
(4)
(8)
(16) (8)
(32) (16)
(32)
P7 COIL
P8 COIL
P7 COIL
P9 COIL
P8 COIL
P9 COIL
(64)
(128) (64)
(256)(128)
(256)
P10 COIL
P11 COIL
P10 COIL
P12 COIL
P11 COIL
(512)
(1024)(512)
(2048)
(1024)
(2048)
P13 COIL
P14 COIL
P13 COIL
P15 COIL
P14 COIL
P15 COIL
(4096)
(8192)
(4096)
(16384)
(8192)
(16384)
111191
1 819111181
P6 COIL
111191
1 819111181
P6 COIL
P5 COIL
P12 COIL
TOP VIEW OF COIL PCBTOP VIEW OF COIL PCB
Driver PCB construction
The driver PCB can be built next. We
recommend fitting the ICs first, as their
placement is not critical. Refer to Fig.5,
the PCB overlay diagram, to see which
parts go where.
IC1 and IC2 are both 74HC595s,
which are fitted at the top of the PCB,
with their pin 1 facing down. IC3-IC6
are L293D types, and these go at the
bottom of the PCB, with their pin 1 to
CON2
IC2 74HC595
33F
IC1 74HC595
1k
12V GND 3.3 GND D LT CK EN
/5V
CON3
CON1
Flipdot Display Driver PCB
19111184 RevC
CON5
CON7
you do not put too much heat into the
IC. The ground pins on IC3-IC6 (the
four pins closest to the centre) sit on
P12 COIL
P12 COIL
P11 COIL
P11 COIL
P10 COIL
P10 COIL
a large
copper area to provide some
heatsinking, so these pins may require
extra heat to ensure a good solder joint.
CON8P
CON6P
CON8P
CON6P
P7
P7
P10
P10
P12
P12
COM
COM
Next,
mount the capacitors. Both
P15
P14
P15
P14
P11
P11
P13
areP13the polarised electrolytic type,
P15 COIL
P15 COIL
P14 COIL
P14 COIL
P13 COIL
P13 COIL the polarity marks on the
so observe
PCB. The longer leads go into the
pads marked with a ‘+’ sign, while the
striped side of the can is negative. The
UNDERSIDE VIEW OF COIL
UNDERSIDE
PCB
VIEW OF COIL
PCB
smaller
10µF capacitor sits between
IC1 and IC2. You will need to lay it
the left. All six ICs have 16 pins, so over on its side, as the coil PCB will
take care that they do not get mixed up. sit quite close above it.
The 100µF capacitor fits between
We recommend soldering them all
directly to the board, rather than using IC5 and IC6. It too will need to be laid
sockets, for reliability (and because the over. It does not matter which way the
pins of IC3-IC6 carry fairly high cur- capacitors are laid as there is ample
rents). You could use sockets for IC1 space on the PCB.
Fit the female headers next. A good
and IC2 if you really want to.
After confirming that the ICs are well way to ensure that they are mounted
seated and correctly oriented, solder square and parallel is to push them
all the pins to the PCB, ensuring that over the male header pins on the coil
PCB, and use this as a jig to line them
up with the holes in the driver PCB.
Note that if you fitted the female
headers to the back of the driver board
(which we don’t recommend) then you
could still plug the two boards together.
But you would need to modify the
software to make it work, since the connections on CON5-CON8 would all be
reversed. Our code assumes that these
1 819111181
111191
P5 COIL
P4 COIL
1 819111181
111191
P4 COIL
3.3
12V GND /5V GND D LT CK EN
P1 COIL
Fig.4: the coil board. Each coil is
made from copper on both sides of
P3 COIL
P3 COIL
P2 COIL
P2 COIL
P1 COIL
P1 COIL
the board.
Solder four 2×2-pin SMD
headers to the back side of this board,
as shown. The only parts soldered to
the top side of the board are the six
frame strips which hold the pixel flaps
P6 COIL
P6 COIL
P5 COIL
P5 COIL
P4 COIL
P4 COILAdd numbers in parentheses
in place.
for each pixel that you want to be ‘on’
to determine the code used to produce
CON5P
CON5P
CON7P
CON7P
P3
P3
P1
P1
a particular
character. For example,
P6
P6
P2
P2
P4
P5
P5
P4
P8
P8
P9
P9
2+8+32
= 42 will give you a caret (^)
on the
display.
P9 COIL
P9 COIL
P8 COIL
P8 COIL
P7 COIL
P7 COIL
CON4
C 2019
IC3 L293D
IC5 L293D
+
1000F
419111184
8111191
CON6
IC4 L293D
CON8
IC6 L293D
Fig.5: use this PCB overlay diagram and the photo above as a guide to assembling the driver board. Note the location of
the headers for CON1 to CON4 and the orientation of the ICs. The two capacitors will need to be laid over to sit under
the coil PCB. The female headers are convenient for using jumper wires to a Micromite or Arduino, although you may
substitute anything that suits. At right is the Flip-dot Display main PCB – it may not be immediately obvious that the
circles on this board are in fact coils (see inset) which are responsible for ‘flipping’ the ‘pixel’ either white or black.
Practical Electronics | April | 2020
39
19111182 Flipdot Display Pixel Elements x 16
Fig.6: as with the
frame pieces, the
sixteen pixel flaps
are made from PCB
material and come
joined together.
Cut along the red
lines using a sharp
pair of side cutters,
then separate them
at the ‘mouse bites’.
You can use a file
to gently clean up
the rough edges
if necessary. The
magnets are glued
into the grey-shaded
holes in the middle
of each pixel.
SC
20 1 9
headers are on the same side as the
other components, so the driver ICs are
sandwiched between the two boards.
Ensure that the two boards sit parallel before soldering the female header
pins. The holes are slightly oversize,
so these pins may need more solder
that you might expect.
An alternative to using the female
headers is to simply solder the male
headers of the coil PCB directly into
the driver PCB. You may prefer this
if you are building a larger display
made of smaller modules, although
it will obviously be harder to repair
any faults.
Finally, you will need a way to
connect the driver PCB’s input pins
to a microcontroller and power. There
are two headers for this. CON3 has
two connections for 12V and ground,
while CON1 has six connections for
3.3/5V power, ground and logic-level
control signals.
CON1 and CON3 are spaced 0.1inch (2.54mm) apart, so a nine-pin
header can be fitted for both, and that
is what we’ve done. It can be broken
or cut off a longer header strip if necessary. Solder this to the holes on the
left-hand side of the PCB.
For the first board, which will be
wired back to the controlling device
(eg, Arduino or Micromite) it’s best
to use female header(s) for CON1 and
CON3, to allow male-to-male jumper
wires to be used.
But for subsequent boards in a
multi-character display, you’re better
off using a male pin header for CON1
and CON3 instead. This can then be
soldered directly to the CON2/CON4
positions on the adjacent board, which
holds the two together and allows the
PCBs to butt right up to each other,
40
thanks to the two shallow cut-outs on
the edges of the board, into which the
header’s plastic block slots.
Another option would be to fit a
female header (socket) for CON2/
CON4 on one board, and a male pin
header for CON1/CON3 on the next
board, and plug them together. This
would make it easier to disconnect
the boards later if necessary, but they
would then have a gap between them.
And you would need to come up with
a way to hold them together, since the
socket won’t provide enough friction.
CON2 and CON4 are not needed for
a single display. You can leave them
off at this point, and fit something later
after you have tested the unit, if you
decide to combine it with additional
display boards.
Final assembly
Now that the glue and paint on the
pixel flaps has cured, these can be fitted to the coil PCB’s frames. But first,
they need to be removed from the
PCB panel.
The best way to do this is to
carefully cut the panel into smaller
pieces using a sharp pair of sidecutters. Take care because the PCB
material is quite brittle, and the cut
pieces may tend to fly off. Aim away
from the body, and use eye protection. Fig.6 shows the recommended
cutting locations.
Now, without using any tools, break
the flaps by hand from the panel along
the mouse-bites. We found that the
rough edges were generally not a
problem, but they can be filed back
a small amount (one or two passes
only) with a fine file. Again, beware
of breathing the dust from the PCB.
A good test to check that the pixels
are all magnetically aligned correctly
is to allow them to attract each other
into a single stack. If all the flaps show
the same colours on the same side,
then they are aligned magnetically.
The pixel flaps are simply a firm
press fit into the frames. Line up the
colours so that the white side of the
flap is adjacent to the white side of the
coil PCB and the black side of the flap
is adjacent to the black side of the coil
PCB (see photo).
Sit the bottom tab into the hole in the
frame, and then gently rotate the upper
tab into the hole. Once all the flaps are
installed, check that the pixels will all
flip freely. This can be done by rotating
the entire assembly in your hand and
allowing the flaps to move under the
influence of gravity.
Connect the coil PCB to the driver
PCB by plugging the headers together.
The assembly should sit upright on
its bottom edge, with a very slight
backwards tilt. The backwards tilt
will help the flaps to stay in their last
driven position.
Connect the micro
The final step for testing is to connect
a microcontroller to control the pins.
You will also need a source of 12V DC,
with preferably at least 1.5A capacity.
The ground and 12V supply are connected to CON3, while the 3.3V/5V
power and logic signals go to CON1.
See the diagrams for either the Arduino (Fig.7) or Micromite (Fig.8) to
suit what you are using. If you are using a microcontroller which has been
previously programmed for other purposes, we suggest that you re-program
it with the software for this project
The pixel flaps are a simple press-fit into the
holes. Ensure that the colours are aligned as
shown, slot one tab in the lower hole and then
rotate the flap to snap the other tab into the
upper hole.
Practical Electronics | April | 2020
before wiring it up, since if it drives
the enable pin high without resetting
the latch ICs first, that could cause the
driver ICs to overheat.
15 3mm diameter, 1.5mm-thick rare earth magnets (available from eBay or Amazon)
4 2x2-way SMD male header [eg, snapped from Altronics P5415]
8 2-way or 4 2x2-way female header sockets
1 9-pin female or male header (CON1,CON3) (see text for details)
Epoxy resin for gluing magnets into flaps
Semiconductors
2 74HC595 8-bit shift registers, DIP-16 [Altronics Z8924, Jaycar ZC4895]
4 L293D motor driver ICs, DIP-16 [Altronics Z2900, Jaycar ZK8880]
Capacitors and resistors
1 1000µF 16V electrolytic capacitor
1 33µF 6.3V electrolytic capacitor
1 1kΩ 1/4W 1% metal film resistor
Additional parts
1 12V DC 1.5A power supply (higher current may be needed for multi-character displays)
1 Arduino or Micromite board for control
1 set of jumper leads to connect to microcontroller and power supply
Take care when touching the display
if you suspect a fault.
Once you have confirmed it’s working correctly, check that the pixels flip
in sequence. If one or two are not turning over correctly, the tabs at the end of
the flaps may be catching against the
adjacent pixel. In that case, remove any
sticky pixels by gently pushing them
down against the frame and tilting
them out of the mounting holes. File
the ends with just one or two passes of
a file, again being wary of the PCB dust.
Flipdot Display Driver PCB
19111184 RevC
SC
20 1 9
IO 12/MISO
IO 11/MOSI
ARDUINO UNO,
UNO ,
FREETRONICS ELEVEN
IO 10/SS
OR COMPATIBLE
+5V
GND
CON3
RESET
+3.3V
IO 9/PWM
IO8
GND
CON2
33F
GND
IO 13/SCK
5V GND D LT CK EN
5V GND D LT CK EN
AREF
CON5
CON7
12V GND
SCL
SDA
+5V
Double-check that the other pixels
are seated correctly in their mounting
holes and that they can rotate freely.
Then refit the ones you filed, ensuring
that the colours line up correctly. You
may find that they will operate more
smoothly after bedding in (ie, running
the test program for a while). Once you
are happy with the operation and wiring, try the other example programs.
The Flipdot_ASCII_2.ino example
sketch also contains a routine that
only changes pixels that need to be
1k
USB TYPE B
MICRO
CON1
DC VOLTS
INPUT
1 black double-sided PCB* coded 19111181, 96 x 58mm (coil board)
1 green double-sided PCB* coded 19111184, 96 x 58mm (driver board)
6 pieces from black PCB* coded 19111183, each piece 58 x 8mm (frame pieces)
15 pieces from black PCB* coded 19111182, each piece 19 x 10mm (pixels)
*Note: all the PCBs are available fron the PE PCB Service.
12V GND
Testing
Our first test program (available from
the April 2020 page of the PE website)
for either the Arduino or Micromite
just cycles between all pixels white
and all pixels black. Load this into
your micro board (at this point, we’re
assuming you’re comfortable working
with Arduino or Micromite modules).
Both programs define which micro
output pins control the Flip-dot
Display via constants at the top of the
program code. The pin configuration
can be changed by changing the
#define or CONST values. The
default pins are grouped together for
simplicity of wiring.
Check that the board works as expected and that the driver ICs and the
coils don’t get hot. They may get warm,
but if any are too hot to touch, something is not right. If this is the case,
there may be a wiring problem or the
driver PCB may be assembled wrong.
For example, swapping the clock (CK)
and latch (LT) lines between the micro
and driver board will cause problems.
If you see multiple pixels flipping at
the same time, that is also a sign that
the wrong data is being received from
the board, pointing to a wiring error
between the micro and the driver PCB.
Depending on the rating of your
power supply, a fault may cause the
L293Ds or the coil PCB to get very hot.
Parts list (per each 3 × 5 pixel display)
CON4
C 2019
VIN
IO7
IO 6/PWM
IO 5/PWM
ADC1
IO 4/PWM
ADC2
5
3
1000F
IO 3/PWM
1
419111184
8111191
IO 2/PWM
ADC3
ICSP
ADC 4/SDA
ADC 5/SCL
+
ADC0
6
4
2
CON6
IO 1/TXD
CON8
IO 0/RXD
– +
TO 12V POWER
SUPPLY
Fig.7: this wiring diagram shows how the Flip-dot Display can be connected to just about any Arduino-compatible board.
The microcontroller needs just four digital outputs to control the display.
Practical Electronics | April | 2020
41
Flipdot Display Driver PCB
19111184 RevC
SC
20 1 9
+5V
+3.3V
CON3
26
25
24
MICROMITE
LCD BACKPACK
CON2
33F
GND
5V GND D LT CK EN
5V GND D LT CK EN
TX
5V
CON5
CON7
12V GND
RX
1k
GND
CON1
(CONNECTIONS TO LCD)
12V GND
CON3
CON4
C 2019
22
21
18
17
+
16
1000F
14
419111184
8111191
10
CON6
9
CON8
5
4
3
RESET
– +
TO 12V POWER
SUPPLY
Fig.8: a microcontroller with 3.3V I/O can also control the Flip-dot Display directly, such as the Micromite shown here.
This is the recommended wiring, which allows you to use our test and sample programs without having to modify them.
changed, improving the update speed
and reducing the power requirement.
Using the display
Both the Micromite and Arduino
programs make use of a 16-bit value
to store the displayed data for a single
board. Fig.4 shows the bit mask values
of each pixel. To create a particular
configuration, add up the values for
each pixel that you want to be black
and ignore those which you want to
be white. The resulting number represents that configuration and can then
be used in the software.
If you find the colours are reversed
to what you expect, then there are
A small amount of epoxy resin is all
that is needed to hold the magnets in
the flaps. The steel panel (underneath)
keeps the magnets flush, and the
plastic inbetween stops the magnets
sticking to the steel.
42
constants defined at the start of the
program which can be changed to reverse the colours. Check the comments
in the files to see.
This can be caused by all the magnets being reversed relative to what
the program expects. So it’s entirely
possible that you will have to change
these constants.
Multi-character displays
As mentioned earlier, multiple displays can be chained together to make
a larger display by fitting a male header
for CON1/CON3 on the second and
subsequent boards and soldering these
to the CON2/CON4 positions on the
adjacent board.
This results in all the control and
power pins being connected in parallel, except for the data pin.
The data out signal (pin 3 of CON2)
connects to the data in signal (pin 3
of CON1) on the subsequent board, so
that serial data passes from one board
to the next and therefore, the controlling micro can independently set the
state of all pixels in the chain.
Note that the enable pull-down
resistors of connected boards are effectively connected in parallel, so
you only need to fit this resistor to
the first board (ie, the one that will be
connected to the micro).
The coil PCBs can also be joined by
soldering the tabs of the frame PCBs
on adjacent boards. This can also be
done to connect multiple rows of
boards vertically.
A single Flip-dot Display is modestly
sized by itself, but with four or six units
placed side by side, you could create an
attention-demanding clock which gives
you a gentle audible alert every time the
minutes or seconds digit changes.
With multiple displays, each panel
is capable of updating one pixel at a
time, so the update time does not increase as you add more characters, as
long as your power supply is capable
of supplying enough current for all the
displays to be driven simultaneously.
12V supply
You need a 12V supply capable of several amps for a multi-character display,
and we recommend you parallel the
12V bus with wires that have a decent
current-carrying capability, to help deliver that extra current to all the boards.
The software uses the shift registers
to shift in the new data for each panel,
then toggles the global enable line and
they all update in sync.
The largest and most complicated
sample program provided allows you
to define the number of characters in
your display, then update them all
with a new text string as required.
Note that lower-case letters in this
string are automatically mapped to upper case, since those are much clearer
when displayed on a 3 × 5 pixel matrix.
Numbers and symbols are left as-is.
Reproduced by arrangement with
SILICON CHIP magazine 2020.
www.siliconchip.com.au
Practical Electronics | April | 2020
|