is a simple digital-to-analog converter that provides the
necessary composite video voltage levels.
The 74HC573 eight-bit latch was included to reduce
the time required by the host to keep the eight-bit data
valid. If your host can keep the input valid during the
entire “busy” state of the display, then the latch can be
eliminated. Figure 5 shows the timing diagram for the
There are two optional jumpers in the circuit. J3
selects the video standard. It is left open for NTSC and
shorted for PAL. J4 selects the busy output’s logic level.
Short pins 1-2 for active high or pins 2-3 for active low.
A complete list of parts is given in Table 1. Because
of the small parts count, construction can be completed
on a small perfboard. A pre-programmed ATmega8 controller and an etched printed circuit board measuring
2.5” x 1.9” (Figure 6) are available from the author. The
Intel-Hex object file needed to program your own
ATmega8 controller is also available from the Nuts &
Volts FTP library ( www.nutsvolts.com).
Using the Display
NUTS & VOLTS
The circuit can be connected to any device capable
of producing the eight-bit data and an active high strobe.
The busy line should be monitored to ensure the previous
command has completed. This is especially true during
scrolling operations, as it can take several milliseconds
to scroll the entire screen. If the busy line cannot be
monitored, then wait at least 25 milliseconds between
characters to prevent data loss.
A simple circuit to test your display is shown in Figure 7.
Set the switches for the desired binary code and press the
Strobe button. The busy LED will light while the command
is processing and the display will change. However, since
the display circuit is running at 16 MHz, the LED won’t be
lit long enough to be seen!
After power up, the system initializes
itself and displays a startup banner. The
initial state has the Primary font selected,
lower 128 character mode enabled, and a
blinking underscore cursor. To clear the
screen, send a Form Feed control character
— $0C (hexadecimal notation) — to the
display. The screen will clear and the cursor
will move to the upper left corner.
A picture of both fonts is shown in
Figure 8. The lower 128 input bytes for both
fonts represent the standard ASCII character
set. This allows the display to emulate a
simple terminal without special encoding
from the host. To allow for maximum
control, the upper 128 bytes are used for cursor movement, scrolling, and mode changes.
Host Timing Diagram
------> Data XXXXXX X
------> Data XXXXXX X