Programming the Motorola GM300
I recently purchased a Motorola GM300 on eBay to use as a packet radio in my QTH. The GM300 is a famous classic Motorola radio that can support from 8 to 16 channels depending on the model, and offers a sought-after 16 pin accessory connector on its back, which makes it easy to connect it to modems.
The main issue when receiving one of these old radios, is that the only way to program them is to connect through their RJ45 microphone plug in front, and run a DOS utility that was last updated in 1995.
What makes matters worse is that those radios communicate using non-standard 965 and 7700 baud, for reasons explained at length in this article. And the DOS utility of Motorola did a lot of busy loop waits as part of its protocol implementation and breaks on most modern and fast machines. Needless to say, there is no way you can run it on a modern computer and make it work.
Below are two scope captures I did while I was trying to understand how the radio communicates – modern scopes make this so easy 🙂
The first order of business for the GM300 was to build a USB cable to connect to it. There is a lot of discussions on Internet forums around the fact USB cables should be avoided, but this is, I think, mostly related to the fact a lot of cheap USB cables cannot properly support non standard baud rates leading to a ‘it doesn’t work’ kind of scenario.
From an electrical standpoint though, USB is ideal: the radio uses TTL levels, so a standard FTDI to TTL adapter, if you have one in your toolbox, will be a perfect fit.
The schematics for the adapter couldn’t be simpler:
As you can see, no diodes, no active component… I initially tried to be fancy and isolate TX and RX with a 1n4148 diode, but I never managed to make it work, until I just connected TX and RX and added a weak pull-up, which worked like a charm.
The RJ45 pin numbering starts at pin 1 on the left side when you look at the connector from the bottom (where you see the metal pins exposed, not the plastic tab).
Getting the RSS to work
There are two ways of programming the GM300 as of 2016: one is a Windows XP program called “Radio Doctor” which can be found on a Yahoo group. Not much to say about this one, it will connect to COM1 or COM2 and try to read/program a GM300. If you have access to an XP machine, this is an easy way to program the channels.
Note: did you catch the reference to COM1 or COM2 above? Make sure your FTDI adapter does show up as one of those on your machine, and if not, force it! Radio Doctor does not let you pick the COM port, so that’s an important detail.
Radio Doctor does not give you access to any of the accessory connector programming though, and you will need to use the Motorola GM300 “RSS” to do this. I am including it below, hoping that Motorola won’t have an issue with this – the last update of this program was 1995: gm300v.5 . Note the tiny 350KB size for a this fine piece of floppy disk era software!
The RSS will work fine on DosBOX, an MSDOS emulator that was written primarily for gaming. Please refer to the DosBOX manual for basic setup instructions. As far as the Motorola RSS is concerned:
- Configure your FTDI serial port as a “real port” in the config file of DosBOX. The config file is well commented.
- Slow down DosBOX to about 190 “cycles” using ctrl-F11 / ctrl-F12 to simulate an old computer.
With the two point above, you should be able to setup the RSS and do a successful “comms test”, then read and program the radio.
In my own case, running on a Mac as my primary computer, I used a Windows XP image on VMWare, then DosBox on VMWare. Works perfectly fine!