DRA818/SA818 Module Programming Software

I have written a simple program to configure the DRA818/SA818 RF modules. It supports the 3.3V level FTDI USB to serial devices.  I believe that the SA818 modules can be programmed at the 5V TTL levels, but I have not tried this.

Below is a diagram of the minimum configuration to program or set the module for use. Note, +VCC is 3.3V for the DRA818 Modules.


This program is written in python2 and is configured to use a FTDI USB to Serial Adapter. It works but it has very little checking on the value/range syntax. I have tested these programs  on Linux systems running both Lubuntu and Mint as well as  on BeagleBone Black computer.

The program requires phython2 and pyserial module.  The module information on pyserial can be found at: http://pyserial.sourceforge.net/pyserial.html

Arch Linux

 The packages are python2, and python2-pyserial.  To install, use the following command:

  • pacman -Sy python2 python2-pyserial


A package is available under the name “python-serial”.  Note that some distributions may package an older version of pySerial. Note that some distributions may package an older version of pySerial.

  • sudo apt-get install python2.7 python-serial

For the BeagleBone Black, I’ve included a simple install script that will
install any package dependencies.

There are no syntax checking for the value format  at this time. When prompted for values,
pay close attention to the format of the data.


To install the software, download either the zip or the tar zip’ed file  from the end of this article.  If you are using the BeagleBone Black, there will be an install.sh script. This will install the python package dependencies and copy the two programs, 818cli-prog and 818-prog, to /usr/local/sbin.

For others distributions, you will need to manually install the python package dependencies (as shown above), and copy the programs from the “src” directory to the desired location. I would recommend /usr/local/bin. You may run into permissions issues with the usb/serial device if you are running these programs  with standard user permissions. (more on this later).

Program Syntax

Value Syntax

Frequencies should be entered in MHz as XXX.YYYY using a  four digits suffix. For example, 446.05 should be entered as “446.0500

Likewise, CTCSS/DCS values should be entered with four digits, 0022 or 0754N. See
below for more details.


The CTCSS tones should be entered using all for digits, for example CTCSS
tone 181.8, should be entered as 0020.

DCS Codes

The format needs to be full three digits plus an “N”. For example, DCS code 7

should be entered as : 007N

Inverted DCS Codes

The format for inverted codes is the same as DCS codes except instead of an “N”
you change it to “I”. For example, DCS code 7 inverted, would be entered as:

Here is the program.  The install.sh script is meant to be used for the Beagle Bone Black.  It requires python2 and py-serial.  I have added a non-interactive version to allow command line programming without interaction.  This is included in version 12 below:

Latest changes include channel spacing and updated 818cli-prog help.

Leave a Reply