This is only a preview of the April 2019 issue of Silicon Chip. You can view 38 of the 96 pages in the full issue, including the advertisments. For full access, purchase the issue for $10.00 or subscribe for access to the latest issues. Items relevant to "Flip-dot Message Display":
Items relevant to "Introducing the iCEstick: an easy way to program FPGAs":
Items relevant to "Ultra low noise remote controlled stereo preamp – Part 2":
Items relevant to "iCEstick VGA Terminal":
Items relevant to "Arduino Seismograph revisited – improving sensitivity":
Purchase a printed copy of this issue for $10.00. |
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 Australian buses, trains, etc 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-clackclack” 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.
So you can make it read just about
anything you want. If you use a micro
with a WiFI 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
22
Silicon Chip
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 page 24.
How our flip-dot display works
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
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.
These displays are designed for the
Australia’s electronics magazine
To simplify our display and make
it substantially 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 magsiliconchip.com.au
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
net 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
siliconchip.com.au
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 is
about the limit of what is possible with
a two-layer board.
The magnets are 3mm x 1.5mm rare
earth 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.
Australia’s electronics magazine
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
April 2019 23
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.
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 CON5CON8. This circuit represents one set
of 3 x 5 pixels that can display a single character; characters can be daisy
chained to form larger displays. We’ll
explain how that works shortly.
The driving signals from the microcontroller are fed in via six-pin header
24
Silicon Chip
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
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.
Australia’s electronics magazine
siliconchip.com.au
Fig.1: the circuit of the driver for one 3 x 5 pixel Flip-dot display. The control signals and logic supply from CON1 are fed
to IC1 & 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.
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
siliconchip.com.au
(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 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
Australia’s electronics magazine
pixel time to finish its flip manoeuver.
Since the display holds its state with
no power applied, the circuit’s average
operating current is not usually 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, 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
April 2019 25
COM
P1 COIL
COM
P2 COIL
P4 COIL
P6 COIL
P5 COIL
CON5
P7 COIL
P1
1
2
P4
3
4
CON7
P2
P8 COIL
P5
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
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 fifteen coils on this PCB are driven by the circuit of Fig.1 and either
attract or repel permanent rare-earth 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.
above. Due to this relatively long drive
time, the extra time taken to shift control data from the micro through IC1IC2 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
Being a mechanical design with
moving parts, 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
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.
26
Silicon Chip
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 Milo tin.
Place the ice-cream tub or takeaway
lid over the ferrous material, then sit
19111183 Flipdot Display Pixel Frame
(1)
(2)
(3)
(4)
(5)
(6)
(7)
the PCB frame on this. Once you insert the magnets in their holes, they
should be held in 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 orientation of
the stack. When you’ve finished, you
may want to check the magnetic polarity
by moving another magnet nearby (but
not so close that it pulls them out). You
should feel that 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. 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 recFig.3: this PCB can be cut
apart into eight separate
frame pieces - enough to
make one 3 x 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 sidecutter to separate the pieces.
The frame pieces are quite
thin and could be damaged if
handled roughly.
(8)
SC
20 1 9
Australia’s electronics magazine
siliconchip.com.au
111191
1 819111181
111191
1 819111181
1 819111181
111191
Building the frame
CON5
CON7
CON2
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 x 75mm PCB
which contains eight separate frame
3.3
12V GND /5V GND D LT CK EN
IC2 74HC595
33F
IC1 74HC595
1k
12V GND 3.3 GND D LT CK EN
/5V
CON1
Flipdot Display Driver PCB
19111184 RevC
CON3
L
1 819111181
111191
L
ommend that you leave it longer than
suggested
by the manufacturer to enP3 COIL
P3 COIL
P2 COIL
P2 COIL
P1 COIL
P1 COIL
P3 COIL
P3 COIL
P2 COIL
P2 COIL
P1 COIL
sure it is fully cured. If it is still sticky,
(4)
(2) (1)
(4) (2)
it may gum up the mechanism and
make handling difficult.
If you wish to change the colour of
the flaps,
P6 COIL
P6 COIL
P5 COIL
P5 COIL
P4 COIL
P4 COIL after the resin has cured is an
P6 COIL
P6 COIL
P5 COIL
P5 COIL
P4 COIL
ideal time. A thin coat of paint should
(16) (8)
(32) (16)
(32)
be used to ensure that the flaps do not
CON5P
CON5P
CON7P
CON7P
become
too heavy. You could use spray
P3
P3
P1
P1
P6
P6
P2
P2
P4
P5
P5
P4
P8
P8
P9
P9
paint,
one colour on one side, and a
P9 COIL
P9 COIL
P8 COIL
P8 COIL
P7 COIL
P7 COIL
P9 COIL
P9 COIL
P8 COIL
P8 COIL
P7 COIL
second
colour on the other side.
You could apply the same colours to
(128) (64)
(256)(128)
(256)
the coil PCB, although this will need
masking to ensure the colours are kept
separate.
P12 COIL
P12 COIL
P11 COIL
P11 COIL
P10 COIL
P10 COIL
P12 COIL
P12 COIL
P11 COIL
P11 COIL
P10 COIL
However,
we think most constructors will be happy with the black and
(1024)(512)
(2048)
(1024)
(2048)
white as supplied, since it provides
CON8P
CON6P
CON8P
CON6P
P7
P7
P10 contrast under just about any
P10
P12
P12
COM
COM
good
P15
P14
P15
P14
P11
P11
P13
P13
lighting conditions.
P15 COIL
P15 COIL
P14 COIL
P14 COIL
P13 COIL
P13 COIL
P15 COIL
P15 COIL
P14 COIL
P14 COIL
P13 COIL
Note
that if you are building multiple displays to be ganged together,
(8192)
(16384)
(4096)
(8192)
(16384)
it’s a good idea to ensure that the magnetic polarity is consistent across all
UNDERSIDE VIEW OF COIL
UNDERSIDE
PCB
VIEW OF COIL
PCBdisplays, to avoid extra software
TOP VIEW OF COIL PCBTOP VIEW OF COIL PCB
the
complexity.
Fig.4: the coil board. Each coil is made from copper on both sides of the board.
If different characters have different
Solder four 2x2-pin SMD headers to the back side of this board, as shown.
pixel black/white orientation, this will
The only parts soldered to the top side of the board are the six frame strips
which hold the pixel flaps in place. Add numbers in parentheses for each pixel
need to be programmed into the softthat you want to be ‘on’ to determine the code used to produce a particular
ware, so that it can give a consistent
character. For example, 2+8+32 = 42 will give you a caret (^) on the display.
display across characters.
CON4
C 2019
IC3 L293D
CON6
IC4 L293D
1000F
+
419111184
8111191
IC5 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 - 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 Flipdot 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.
siliconchip.com.au
Australia’s electronics magazine
April 2019 27
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
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
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 SILICON CHIP ONLINE SHOP)
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
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.
28
Silicon Chip
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 2x2 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 too 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.
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 and
these 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
the left. All six ICs have 16 pins, so
take care that they do not get mixed up.
We recommend soldering them all
directly to the board, rather than using
sockets, for reliability (and because the
pins of IC3-IC6 carry fairly high currents). You could use sockets for IC1
& IC2 if you really want to.
After confirming that the ICs are
well seated and correctly orientated,
solder all the pins to the PCB, ensuring that you do not put too much heat
into the IC. The ground pins on IC3IC6 (the four pins closest to the centre)
sit on a large copper area to provide
some heatsinking, so these pins may
require extra heat to ensure a good
solder joint.
Next, mount the capacitors. Both
are the polarised electrolytic type,
so observe the polarity marks on the
PCB. The longer leads go into the
pads marked with a “+” sign, while
the striped side of the can is negative. The smaller 10µF capacitor sits
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.
Australia’s electronics magazine
siliconchip.com.au
(per each 3 x 5 pixel display)
1 black double-sided PCB coded 19111181, 96x58mm (coil board)
1 green double-sided PCB coded 19111184, 96x58mm (driver board)
6 pieces from black PCB coded 19111183, each piece 58x8mm (frame pieces)
15 pieces from black PCB coded 19111182, each piece 19x10mm (pixels)
15 3mm diameter, 1.5mm thick rare earth magnets
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 & resistors
1 1000µF 16V electrolytic capacitor
1 33µF 6.3V electrolytic capacitor
1 1kW 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
Note: the four PCBs are available as a set at a discounted price (SC4950)
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
Flipdot Display Driver PCB
19111184 RevC
SC
IO 12/MISO
+5V
GND
ARDUINO UNO,
UNO ,
FREETRONICS ELEVEN
OR COMPATIBLE
IO 11/MOSI
IO 10/SS
CON3
RESET
+3.3V
IO 9/PWM
IO8
GND
33F
GND
IO 13/SCK
CON2
5V GND D LT CK EN
AREF
5V GND D LT CK EN
SCL
CON5
12V GND
20 1 9
SDA
+5V
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.1”
1k
USB TYPE B
MICRO
CON1
DC VOLTS
INPUT
Parts list
12V GND
between IC1 and IC2. You will need to
lay it over on its side, as the coil PCB
will sit quite close above it.
The 100µF capacitor fits between
IC5 and IC6. It too will need to be laid
over. It does not matter which way the
capacitors are laid as there is ample
space on the PCB.
Fit the female headers next. A good
way to ensure that they are mounted
square and parallel is to push them
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 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
CON4
CON7
C 2019
VIN
IO7
IO 6/PWM
ADC0
IO 5/PWM
IO 4/PWM
ADC2
IO 3/PWM
5
3
1
IO 2/PWM
ADC3
ICSP
ADC 4/SDA
ADC 5/SCL
419111184
8111191
6
4
2
CON6
IO 1/TXD
1000F
+
ADC1
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.
siliconchip.com.au
Australia’s electronics magazine
April 2019 29
+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
CON1
20 1 9
GND
12V GND
(CONNECTIONS TO LCD)
Flipdot Display Driver PCB
19111184 RevC
SC
CON3
CON4
C 2019
22
21
18
17
419111184
8111191
10
CON6
9
1000F
+
16
14
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.
(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
(Arduino, Micromite etc) 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,
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.
30
Silicon Chip
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 side-cutters. Take
care that 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,
Australia’s electronics magazine
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
siliconchip.com.au
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.
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
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.
Testing
Our first test program 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, in order, 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 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
siliconchip.com.au
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. Take care when
touching the display if you
suspect a fault.
Once you have confirmed
that it’s working correctly,
check that the pixels flip in sequence. If you find 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.
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 Flip-dot ASCII 2 example
sketch also contains a routine that
only changes pixels that need to be
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 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
Australia’s electronics magazine
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.
While a single Flip-dot display is
modestly sized by itself, 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 may need a 12V supply capable
of several amps for a multi-character
display, and we recommend that 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 x 5 pixel matrix.
Numbers and symbols are left as-is. SC
April 2019 31
|