Programming the Motorola GM300

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 🙂


scope_13 scope_14

USB cable

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:

GM300 simple adapter

GM300 simple adapter

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.

Adding VMWare

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! is live!

Wizkers-logo is live!

This is the first week of 2015, and the next step in a project I started almost two years ago: today, I am releasing “Wizkers“, a full Javascript/HTML5 Open Source framework that provides data visualization, logging and data upload to any instrument or device that produces data.

Wizkers CPM Count

What makes Wizkers different? First of all, it is designed to be super easy to use: any computer running Google Chrome can be up and running in a matter of minutes using the Chrome Packaged app version of Wizkers, which we call “Mouse Wizkers”. But you are not limited to running inside of Chrome: Wizkers works just as well as a server on hardware as small as a Beaglebone Black or as virtual as an Amazon Web Services EC2 instance!

Second, Wizkers provides a much needed missing link between Internet Of Things data services and the actual devices that produce data, by enabling complete local control, logging and visualization, while still letting you forward data to whatever backend you want.

Last, Wizkers is designed in a very modular manner, which makes it possible to support new instruments and devices with as little work as possible. If you have designed a device that produces data, and want to give it a great interface, look no further!

Wizkers is already being deployed by quite a few testers, including professional users, and I am very excited to see where 2015 will take us!

State of the project

Wizkers can be considered to be in advanced beta state. The documentation is a work in progress, as is customary, and will improve over time. So while you can expect a few rough edges, dive in and give us feedback, and help us make Wizkers better!

Wizkers support about half of dozen devices, as varied as Ham radio transceivers or Geiger counters. we encourage you to visit our site,, and get better acquainted with this project.

And by all means, please get in touch with any remark, comment, or question you may have!

Peanut Balun

Peanut Balun

Peanut Balun

… or rather UNUN: just built a tiny ‘peanut balun’ based on the design that can be found on their site: this is a 9:1 transformer that makes it easier to drive an end-fed wire at the end of a coax. Add a 30′ or so wire, and in my experience, this makes a really easy to drive and good antenna.

My friend Nick, N6NSA, found a great combination of parts – in particular this tiny box – that made it possible to build pretty much the smallest possible 100W balun, nicknamed the ‘peanut’ balun. Because it is so small, assembling it is a bit of a challenge, but with patience, you can get really nice results, as shown below:

A pure javascript audio waterfall / panadapter

Updated 2014.04.25: a new version of the waterfall display is available, give me feedback! Link in the article. A new updated article will follow.

Waterfalls: not the river kind, but the audio kind. Also known as sonograms, those are 2D+1 representations of the spectrum of a signal: the X axis usually represents the frequency, the Y axis the time (or the other way around), and the power of each frequency is drawn on a color gradient.

In the ham radio world, waterfalls are a great way to visualise part of the frequency spectrum. Depending on the type of radio you have – SDR or not, really – , you can either display a fairly wide part of the spectrum, or just a few kilohertz. But in any case, this visualisation will give you a new way of understanding what is going on around you, RF-wise.

KX3 Extended temperature compensation

During a lot of digital mode QSOs in the beginning of 2013, I regularly got feedback from the other party that my signal seemed to be drifting slightly. PSK31 having a very narrow bandwidth, even a small transceiver drift can be an issue during a QSO. This is usually partially hidden thanks to AFC on the receiver side, but good hams never fail to notice the problem and kindly point it out – at any rate, I was grateful several people did, since it is not always easy to spot this by yourself.

The Elecraft KX3 is a transceiver which uses a Silabs Si570 oscillator. While this is a good quality frequency source, it also drifts significantly depending on its internal temperature. It is part of the design of the chip, which contains a temperature sensor to compensate for this in software. The KX3 therefore is able to compensate for this drift by using an internal table.

Unfortunately, the drift compensation table is specific to individual units, and populating it requires connecting the radio to a known and very stable frequency source, and go over the whole oscillator temperature range. Doing this in factory is not practical as this requires way too long.

Heat Sink for the KX3

Heat Sink for the KX3

Just received the Heatsink I had ordered from Fred Meier, VE7FMN ( fsmeier with “” behind the “@” sign). Very impressed after a quick test, I was able to sustain a long PSK31 QSO on 20m at 10W with PA.I temperature hovering around 43°C. I could not do 10W on PSK31 previously for more than 30 seconds at a time before heating HI TEMP.

DRM – Digital Radio Mondiale

logo1If you are a computer geek like me, the first thing you will think about when I tell you “DRM” is “Digital Rights Management”. You know, this process that consists in giving you both encrypted content and the keys to decrypt it, but in a really obfuscated way to attempt to discourage you from doing the decryption yourself… anyway, this is not the subject of this post. The DRM I want to talk about today is “Digital Radio Mondiale”. A strange acronym choice if you ask me, but there you go…

Sark 110 review

One of the really useful tools you can have as a Ham is an antenna analyser, which enables you to understand better how your antennas and overall RF installation are behaving/performing at various frequencies.

Sark-110 to KX3 Size comparison

Sark-110 to KX3 Size comparison

At the very least, an antenna analyser will let you check the standing wave ratio which, in a very simplified view, is the amount of energy that is being reflected back into your transmitter and not being sent out. A high SWR usually is not a very good thing, though a low SWR does not always mean you have a perfect antenna either, that would be too easy – a 50 Ohm resistor connected to your amplifier will always give you a 1:1 SWR but won’t help you much if you want to make contacts!

Still, understanding how your antenna behaves depending on the frequency, see exactly where it resonates, and how its impedance evolves, is extremely useful. There are many types of antenna analysers on the market, from really cheap kits, to totally awesome tools like the Agilent Fieldfox, or even more advanced stuff that costs as much as a small house… I found a good article at rigexperts which explains a lot of different possible architectures, a good read.

With this in mind, I recently purchased a Sark 110 from Seeed Studio, who sells it for $360 as of January 2014: this antenna analyser is designed for HF to low VHF bands, with a 0 to 230MHz range. This makes it perfect for hams, though being able to include the 70cm band would have been a nice touch. The Sark 110 is fairly priced, especially for what it does: you get much more than a VSWR indicator here!

Quick test of the Matchbox antenna

This afternoon, I did a quick test of the “matchbox” end fed antenna from the Honolulu Emergency Amateur Radio Club, up on a hill,  good receptions reports using only 5 to 7 watts, as you can see below – the sun was setting and the band was closing. As a caveat, I am not doing any sort of absolute judgement on this antenna’s performance, just a bit of field test feedback!

Reception reports matchbox antenna

Reception reports matchbox antenna on 20m

Digital signals on the waterfall

Collection of various digital modes – images for now, maybe audio later. The idea here is to take waterfall screenshots in ‘real life’ environments, on a noisy waterfall, to serve as a reference on the software I use most often, fldigi.

These are all signals I received on my KX3, unless stated otherwise, and which I successfully decoded. This is a work in progress, I will add additional modes as I go along, so check back every once in a while! If there are modes you would like me to look for, let me know.

Meta digital

A fairly common practice is to use preambles to tell digital software what mode is going to be transmitted. There are mainly two types of preambles: “Reed Solomon ID” and video preamble. A good example of video preamble on a noisy waterfall can be found below:

Video ID then RSID before an Olivia transmission

Video ID then RSID before an Olivia transmission

More info on RSID can be found here: