MFSK16 - A Brief History

In 1999 MFSK16 was developed by Murray Greenman, ZL1BPU for digital amateur radio communications on high frequency (shortwave).
It was a combination of new ideas in a successful attempt at creating a weak signal data mode for HF use.
MFSK is classed as an M-ary orthogonal signaling scheme.
There are 16 tones spaced 15.625Hz apart for a bandwidth of 235Hz. Each tone lasts 64mS and represents 4 bits.
These signals are distinctive when received aurally as a rapid succession of tones with almost musical quality.

Like any other form of angle modulation that transmits a single RF tone that varies only in phase or frequency, MFSK produces a constant envelope.
This significantly relaxes the design of the RF power amplifier, allowing it to achieve greater conversion efficiencies than linear amplifiers.
Additionally, the combination of forward error correction and data interleaving makes this mode very robust.

MFSK16 - Migration to the micro controller.

I've been writing assembly PIC packet applications for several years and am always looking for a unique niche.
I recently found another one in the backwaters of APRS via HF (high frequency) radio.
Since it's inception, HF APRS has been attempting to use 300 baud packet (a mode designed for wire) over wireless with dreadful results when conditions were less than optimal.
In the years since, several digital modes designed for HF radio have emerged. Unfortunately, none of them directly supported APRS.
In 2010 Chris Moulding G4HYG changed all that when he released a Windows program called APRS Messenger and started a small revolution in HF APRS by supporting other much more robust modes to send position reports.

Learning of this, I began development of a PSK-63 tracker, employing a mode I was already familiar with. I combined it with my existing code to create APRS position strings for standard and compressed coordinates.
Lastly, I had to make the structure work with APRS Messenger including the CRC16 MODBUS calculation to insure data integrity.

Like the latest, the first PSK63 tracker hardware was centered around an 8 bit PIC 16F690 micro controller and was designed to go between a GPS and mobile HF rig.
It converted the GPS GPRMC sentence into an APRS position report for transmission by the radio.
An 8 bit DAC created the tone and my software modulated it by shifting the phase. This signal was fed to the radio as audio and transmitted periodically.
From this, FreeTrak HF was born. It's PSK63 modulation worked very well compared to 300 baud packet, but still lacked the weak signal throughput I was looking for.

The search for a more robust signal led me to MFSK-16 and a much more daunting endeavor to create a working encoder.
The single tone generation would work with my present PSK63 hardware, but making the convolutional encoder and interleaver in software proved to be a larger challenge. I'd begun looking at this mode in 2009, but didn't send any data til the end of 2012. Thanks to W7AY for the great MFSK16 interleaver info page. It was the final hurdle.

From this came the FreeTrak16, a small APRS tracker for your HF rig that sends MFSK-16 APRS Messenger packets. It has been in mobile testing by John K0CQW for over 4 years with excellent results.

The DDS Experiment

Direct digital modulation was born out of an idea that I had while writing the code for my MSFK APRS tracker.
I had a couple $20 Chinese AD9850 DDS modules sitting on the bench and one day began thinking about how to synthesize MFSK signals with one.
Since MFSK16 modulates the carrier with one of 16 tones spaced 15.625 Hz apart at a rate of 15.625 per second, why not just digitally change the carrier frequency by that amount?
The program already knew which tone to create and when to send it. Now instead of creating the tone, it would send a new frequency command to the module.
This eliminates creating the tones with a DAC and mixing them with a carrier, simplifying the construction.
To test my theory, I altered the encoding routine to output new frequency commands to the DDS module at the same rate to simulate the changing tones.
Then I listen with the sideband receiver tuned 1 KHz below my transmit frequency.
From the receiver standpoint there's no difference and it worked splendidly!

The HF GPS Trackers

FreeTrak 16 - Designed to be used with a HF transceiver.
DDS FreeTrak 16 - Outputs digitally modulated MFSK16 RF.

The original is called FreeTrak16 denoting it's use of MFSK-16 and can be built on a custom pcb available from OSH Park.
It's built around a PIC 16F690 micro running at 16 MHz and user configured via RS232 using a terminal program.
It has provisions to use an external GPS or a Spark Fun Ublox GPS module.
The radio interface includes Tx audio, PTT and ground. It's very flexible with all radio connections brought out to a dual header that terminates to a 6 pin mini DIN.
The user has the choice between Mini DIN or wired direct using the solder holes and your own cable.
During configuration the user is asked to enter their call-SSID, transmit interval, APRS symbol and tail text edit.
This data is saved in non volatile memory and will remain in effect until changed.

DDS FreeTrak16 is the newest tracker in this series and is meant for low power operation such as QRP APRS and balloon tracking.
It differs from the FreeTrak16 in that it runs at 4 MHz and uses a AD9850 Direct Digital Synthesizer to output modulated RF directly at about 1 milliwatt.
It's frequency agile tuning from 160m - 10m and with the addition of an amplifier, is every bit as capable as it's older brother.
The only difference the DDS operator has to be aware of is setting the transmit frequency 1 KHz above the upper sideband listening frequency in order to create the tones by heterodyne.
The forward error correction and interleaving are handled in software and like the original, the user can choose between Mic-e compressed or conventional APRS packets at the flip of a switch.

FreeTrak-16 APRS HF Tracker

DDS FT-16 APRS HF Tracker with DIZ 100 mW amp

The FreeTrak-16 with my trusty Garmin Etrex and Yaesu FT-857D

Chinese DDS 9850 module from Ebay for around $20

100 mW and 5W Amplifiers from W8DIZ

These are the two amplifier kit's I have built and used with my QRP projects. One costs $11 and outputs 100 mW with 1 mW DDS input. The other costs $29 and makes up to 5W from 1 mW in.
Skill level is above beginner for both and requires careful attention to the instructions. The SMA hardware is available on Ebay or Amazon.

The 100 mW CW amp with user supplied SMA connectors. About 40-50 mA @12v

The 5W CW amp with user supplied SMA connectors.
Good to 18 MHz and draws about 650 mA @ 12v.
Serious gain here (37db) smoothly taking the 1 mW DDS output to 5 watts.
Also has gain adjust that allows you to put your power level where you want.

Along Came Bluetooth...
The Bluetooth Module

This module was designed for Ardunio users and is a perfect fit for the PIC micro as well.
They typically cost about $10 on Ebay and come with a handy cable for temporary connections like when you configure the tracker with a tablet or smart phone.
The Bluetooth module and PIC both talk at 9600,8,N,1 serial data rate. The modules are 5 volt tolerant and typically draw between 40 and 80 mA.

HC-06 Configuration

These modules usually worked as shipped with a factory name that will show up when your pair it to your tablet/phone. Password is usually 1234 or 0000.
Reconfiguring the modules requires a RS232 to 3.3v TTL converter like MAX3232 available from Spark Fun for $6. You will need to connect serially with a terminal program.

The command text cannot simply be typed in, it has to arrive in less than a second. Sending a text file that only contains what you would type is the easiest way to do this.

For example, most modules I've bought were named HC-06.
To change the name to Texter_1 I simply create a small text file that contains only this:
Then I transfer the text file to the Bluetooth dongle with the terminal program the same way you would send a text file.  The module should return OKsetname.  If the new name doesn't show up on your device, try remove it from the paired list and reconnect.  This same method works for the other common commands like changing the PIN or serial speed too.

Texter II w/Bluetooth (click photo to enlarge)

A Tx/Rx version of the DDS texter with Bluetooth for use with a tablet or smartphone.
There is an optional relay to switch a receiver on to the antenna when not transmitting.
If you have a tablet or smart phone with Bluetooth adding an app like BlueTerm is all that's neccesary.  The texter can be reconfigured or frequency calibrated on the fly by entering the command mode.
Access to command mode requires a forward slash (ENTER) as the first characters.
F=Frequency, I=call and C=calibrate and x=exit are the choices and are entered from your tablet/smart phone as well.

The Texter Breadboarded - Simple Huh?

Favorite Android Apps...
NMEA GPS Sender v1.3.13

BlueTerm v1.1


File package for the original MFSK16 APRS tracker for mobile HF rigs.

File package to make a frequency agile QRP APRS tracker

File package to build a QRP MFSK16 texter/transmitter

Last update 07-07-18

Ask Mike