Building a Multi-Purpose Radio Programmer
This page describes how to build an RS-232 to TTL level converter
that can be used to program quite a few different types of amateur and
commercial radios and pagers. It has been used successfully with the
Kenwood TH-G71A, Yaesu FT-2600M, Yaesu FT-8800M, Motorola GM300, and
Motorola Minitor III. It will probably work just fine with similar
radios, but use at your own risk.
A schematic of the programmer is below. The circuit uses a MAX232
IC, which converts the +/- 12V RS232 signals from your computer to 0-5V
TTL signals that the pager uses. A 9V battery powers the circuit, so a
78L05 voltage regulator is used to drop the voltage down to 5 volts.
Resistor R1 and the LED just indicate that the circuit is powered, and
could be removed if desired. Resistor R2 is only needed if you want to
program Motorola GM300/Radius radios or other radios that have a single
communication line and require an “open collector” (the diode that goes
with this resistor is in the interface cable…see here). See the bottom of this page for troubleshooting tips.
Part Description All Electronics Part #
U1 MAX232 SP232ACP
U2 LM7805 7805T
C1,C2,C3,C4 10uF electrolytic capacitor 10/16VR
R1 1k ohm resistor 1K-1/4
R2 10k ohm resistor 10K-1/4
D1 LED LED-2
P1 DB9 Connector DB-9S and DB-9H
J1 Stereo Jack MJW-20
S1 SPST Switch MTS-4PC
used a 3.5mm stereo jack for the connector on the “radio” side of the
interface, since it’s a readily available and inexpensive 3-conductor
connector. I built the circuit on a prototyping PC board available at
RadioShack. A few pictures of the completed programmer are shown below
for reference. You'll need to build an interface cable in order to use
this programmer with a radio or pager. For some examples, see the Interface Cables page.
Hints and Troubleshooting
Here are a few things to check if your circuit doesn’t work the first time (it never does for me!)
polarity of the capacitors does matter! The curved line on the
schematic is negative, the straight line is positive. C1 is the one
that usually gets messed up, since the positive terminal of the
capacitor goes to circuit ground. Counter intuitive, but that's the way
it has to be.
MAX232 is a level converter that changes RS232 voltage levels to TTL
voltage levels. RS232 uses +12V to represent a "0" and -12V to
represent a "1". TTL levels are 0V for a "0" and +5V for a "1". So, to
see if the circuit is working, measure the voltage on pin 3 of the DB9
when it is plugged into the computer. This would be the voltage between
pin 3 and pin 5 (GND). If the voltage is -12V, the voltage on pin 13 of
the MAX232 should also be -12V (since it's a direct connection to the
DB9 pin 3), and the voltage on pin 12 should be +5V. If the voltage at
pin 3 of the DB9 is +12V, the voltage on pin 12 of the MAX232 should be
zero. That covers the path from the computer to the pager. To check
from the pager to the computer check the voltage on pin 11 of the
MAX232 with the pager connected and in programming mode. If the voltage
is zero, then pin 14 on the MAX232 should be at +12V (it will probably
be more like +8V, but that's good enough). If the voltage on pin 11 of
the MAX232 is at 2.5V or higher, then the voltage on pin 14 of the
MAX232 should be -8 to -12V.
· Here is a link to the datasheet of the MAX232, if you don't have one already http://pdfserv.maxim-ic.com/en/ds/MAX220-MAX249.pdf
you have an oscilloscope it makes troubleshooting much easier...you can
trace the serial data through the circuit to see where it's not getting
of the more common mistakes when building circuits like these are
getting the TX and RX accidentally swapped somewhere in the circuit.
Be sure to check this. Note: The original version of the schematic on
this document had the TX and RX lines swapped on the DB9 connector.
(DOH!) If you’re using an old schematic be sure to correct this.