In order to program the 14M
on the 8x2 LCD board, we need
a means of connecting to the
board’s four-pin programming
socket which you can see in the
photo of the board in Figure 1.
The three standard programming
connections (ground, serialin, and
serialout) are available at the
connector, but the LCD board
does not contain the standard
programming circuit. Therefore,
we need a means of providing
it. For reference, the necessary
circuitry is shown in Figure 2. The
simplest approach would be to
construct the circuit on a
breadboard and to connect three
jumper wires to the correct
positions on the LCD’s programming
connector. Another option would be
to use my UPA-4X4 programming
adapter ( www.jrhackett.net/prog
adapters.shtml) and assemble it for
the “side-mounting” option.

When I first programmed the LCD
board for our previous installment, I
did so before mounting the board on
the TankBot. When I returned to the
project for this month’s installment,
I had an unpleasant little surprise
waiting for me. Once the LCD is
mounted on the TankBot as described
last time, the UPA-4X4 won’t fit into

In the previous installment of our TankBot series, we constructed a PICAXE-14M stripboard circuit
that converted a two-line by
eight-character parallel LCD into
a serialized display, mounted the
serial LCD to the TankBot, and
interfaced it with the BrainAlpha PC
board. This month, we are going to
explore two software applications
for our new serial LCD: real-time
distance-to-obstacle measurement
and battery voltage monitoring.
However, before we do that we
need to be sure that our LCD is
functioning correctly.

a good idea to connect to the
SERVO website ( www.servo
magazine.com), click on the
“Media Downloads” link just
under the SERVO logo, and
download the files for this
month’s TankBot project.

To test the functionality of
the LCD board, download the
LCDtest(08X2).bas program to
the 14M on the LCD board. If
everything is working properly,
you should see a two-line
message appear on the LCD
screen. If not, you will need to
re-check the soldering on the
board for possible problems.

Installing the LCD
Driver Software

the LCD’s programming connector
because the LCD board is too close to
the TankBot’s power connectors to
permit the UPA-4X4 to be inserted!
Fortunately, the solution was a simple
one. I replaced the LCD’s one-inch
mounting bolts with one-inch spacers,
giving me at least another 1/4 inch
clearance and enough room to insert
the UPA-4X4 (see Figure 3).

This month, we will be using a total
of five programs: LCDtest(08X2).bas,
LCDdriver.bas, TankBot ToLCD.bas,
EZ1toLCD.bas, and TankBotBattery.bas.
Before we go any further, it would be

Once you have determined
that your LCD board is functioning
correctly, we’re ready to configure it
as a stand-alone serial peripheral for
your BrainAlpha board. Essentially,
that involves installing a piece of driver-software on the LCD board that enables
it to accept serial input, convert it to
the parallel format required by the
LCD’s HD44780 controller, and output
that data to the LCD for display.
However, there is a fly in the ointment
– the PICAXE serin command that the
driver uses to receive serial data must
specify how many characters are to be
received by the command.