Tag Archives: featured

DMR In Amateur Radio: Programming a Code Plug

Read the rest of the series in the DMR in Amateur Radio series category.


You picked up a new DMR radio! Congratulations! You maybe thinking, what have I gotten myself into? Good question. DMR is the first commercial mode adopted for ham radio use. Terminology and radio setup are familiar to those who program commercial gear. If you’re coming across this programming example and have not read the first part on terminology, please do so as this will build upon it. Passing around a code plug makes DMR seem plug-and-play and it’s a great way to get started. Doing so tends to leave most of us unable to change the configuration of our own radios. My goal is to demonstrate how to program a DMR ham radio code plug from scratch. This will lead to understanding how code plugs work and how to modify them. I will demonstrate programming a code plug for an example repeater, hotspot, and simplex operation.

In addition to this example, I recommend looking at available code plugs online to get an idea of different ways to improve yours. This is how I learned to program code plugs. There is no central database or repository. Code plugs are scattered around the Internet and shared online. This makes sense because local users would know where to get a code plug. Ask others in the area with similar DMR radios where to find code plugs. The ARRL Ohio site has ones for Ohio’s DMR repeaters: http://arrl-ohio.org/digital/digital.html. Where this works for local hams, a scavenger hunt is required to find working code plugs for an area they’re visiting.

Screen shots and settings referenced in this tutorial are from the TYT MD-380 CPS and radio. Similar settings can be found in other programmers and radios. Functions of not-so-obvious radio settings are described in the appropriate sections.

Software (TYT & Connect Systems)

Updating settings and memories in all DMR radios requires a computer, programming cable, and CPS. Check radio packaging because some include the cable and software, others consider it an additional accessory. Most stock CPSes can’t rearrange entries or import from other sources. If you entered a new contact and wanted to rearrange the order, you can’t. If you want to import thousands of users, you can’t. Third-party code plug editors provide this additional functionality. All are freeware.

Tytera (TYT) MD-380/390/2017 CPS and firmware: http://www.tyt888.com/?mod=download

Connect Systems documentation, CPS, and firmware: http://www.connectsystems.com/software/

MD380 Tools: https://github.com/travisgoodspeed/md380tools
Alternative firmware for the TYT MD-380. Use at your own risk.

TYT MD-380 / 390 Code Plug Editor: http://www.miklor.com/MD380/380-CPEditor.php
Editor for importing/exporting settings, importing from the DMR-MARC user database, and rearranging entries. The TYT CPS is still needed to write the code plug to the radio. This is my preferred MD-380 editor.

N0GSG’s DMR Contact Manager: http://n0gsg.no-ip.org/contact-manager/
Works for certain models of Connect Systems, Tytera, Retevis, and AnyTone radios. Editor can import/export settings and import contacts from the DMR-MARC user database, comma separated file (CSV), or existing code plug. Sorting is accomplished by clicking the header columns. Radio CPS is still needed to write the code plug to the radio.

The last three are free to use but please consider a donation to the developer if you find their work useful.

Radio ID, general settings, and FPP

After installing the CPS, in “Basic Information,” first check the “Frequency Range” is correct for the radio.

First thing to program is your “Radio ID.” You registered for one, right? It is found in the CPS under “General Settings.” Enter your assigned CCS7 ID. When passing around a code plug or loading someone else’s, update the CCS7 ID otherwise you will appear as someone else.

The “Radio Name” can be whatever name you want to give the radio.

I like to have a notification when the transmission is complete and the channel is free. This is known as the ‘CH Free Indication Tone.’ NOTE: this tone did not work with the DV4Mini for some reason.

Enable FPP so the programming can be modified from the radio’s keypad. Remember to read the radio or update changes made through FPP into the CPS. Changes will be overwritten when the code plug is downloaded again to the radio. In the CPS, FPP can be enabled in “Menu Item,” under “Utilities,” check “Program Radio.”

To enter FPP mode on the radio, go to the menu, select “Settings,” and “Program Radio.” The “Radio Program Password” in “General Settings” of the CPS is used when entering FPP on the radio. This is a commercial carryover to keep users from screwing with the radio. Enter the program password, if needed, and voila.

Hang-time, delays, and other adjustments can be made and experimented with at your leisure.

Programming example

In order to successfully program a code plug for a repeater, Color Code, talk group, and time slot configuration must be known. This information can be obtained from RepeaterBook, RFinder, owner/club website, asking another user or the repeater owner. Also ask if the repeater has access to reflectors, if desired. Brandmeister and DMR-MARC repeaters have reflector access.

A configuration example of a factitious repeater is outlined below. I’ve picked common U.S. talk groups for each time slot and will use the “Area 8” reflector as examples. When you become more comfortable, substitute the local repeater’s information.

Private calls to individuals are never a mandatory part of repeater configuration. They are possible and will be shown as an example. I include private call channels for frequent contacts as part of my hotspot code plug.

The “type” column in the table below is for informational/clarification purposes only and would not necessarily be provided by the owner (see the previous terminology write-up).

Labeling and organization of the code plug is user preference. RX Group lists and channels will need an abbreviation or prefix noting to which system it applies. When programming even 10 repeaters, some distinction must be made for clarity. Prefixes help programming because similar items are grouped together in the CPS. Rationale behind this will become clearer as you add repeaters to a code plug. Some might like to have the city spelled out (Cleveland, Dayton, Columbus, Cincinnati, Toledo) while having the talk groups abbreviated (WW, NA, Lcl 9, TAC-311, Statewide). Others like to have the city abbreviated (Cle, Day, Col, Cin, Tol) while the talk group is spelled out (World-Wide, North America, Local 9, TAC-311, Ohio). No two items may have the same exact name in any one area: Contacts, RX Groups, Channels, Zones, or Scan Lists. “SC” will be the prefix used for this example to indicate “Some City.”

Call: K8XXX City: Some City, OH Output: 444.300
Input: 449.300
Color Code: 1
Label Type ID Time Slot
World-Wide Talk group 91 1
North America Talk group 93 1
USA – Nationwide Talk group 3100 1
Local 9 (or Reflector) Talk group 9 2
TAC-310 Talk group 310 2
TAC-311 Talk group 311 2
TAC-312 Talk group 312 2
Midwest (regional) Talk group 3169 2
Ohio (statewide) Talk group 3139 2
USA – Area 8 Talk group 4648 2

Individual contact

Scott N8SY User 3139437 N/A

Contacts

Digital contacts are required to be setup first. These drives the ability to build RX Lists and channels. Every talk group, reflector, or user gets a contact. Relevant information in the table above: Label, Type, and ID.

It’s best to follow the labeling/naming provided by the c-Bridge. Some radios don’t have a lot of display real estate and names must be shortened to something like “WW” for talk group 91, “NA” for 93.

There are four fields per “Digital Contact” record in the CPS:

  • Contact Name
  • Call Type
  • Call ID
  • Call Receive Tone

“Contact Name” is simply the name you give each contact and is the label seen on the radio while receiving a call from that ID. “Call Type” is group/private/all-call setting. “Group” is for talk groups and “Private” is used for radio-to-radio calls or commands. “Call ID” is the numeric talk group, reflector, radio ID, or command number. “Receive Tone” is a per-call setting where a tone is emitted from the radio prior to unmuting the audio. This can be used as notification prior to receiving a call from a contact of interest.

There cannot be two contacts with the same “Call ID.” When programming different repeaters, potentially on different networks, all talk groups for all c-Bridges are entered as contacts. If two networks label a talk group differently for the same ID, a generic name will have to be chosen such as “3333” or “Group 3333.” On the other hand, “Example talk group” is 3333 on one network and 3344 on another, then two differently named contacts have to be created for the same talk group.

If the repeater owner says they follow K4USD’s talk group layout for example, they have nearly 70 available talk groups on their c-Bridge. Though it seems like a lot of work at the time, I recommend creating contacts for all 70 available talk groups. Having all talk groups programmed will result in less effort changing the code plug later. Brandmeister on the other hand, good luck. You really have to decide which talk groups are of interest because all talk groups are available to all repeaters and hotspots. To keeps things simple, stick with the repeater owner’s suggested Brandmeister groups.

For this programming example, contacts are pre-sorted by ID number. In the CPS software, create Digital Contacts with the listed settings:

  • Contact #1
    • Contact name: Local 9
    • Call type: Group call
    • Call ID: 9
    • Receive tone: No
  • Contact #2
    • Contact name: World-Wide
    • Call type: Group call
    • Call ID: 91
    • Receive tone: No
  • Contact #3
    • Contact name: North America
    • Call type: Group call
    • Call ID: 93
    • Receive tone: No
  • Contact #4
    • Contact name: TAC-310
    • Call type: Group call
    • Call ID: 310
    • Receive tone: No
  • Contact #5
    • Contact name: TAC-311
    • Call type: Group call
    • Call ID: 311
    • Receive tone: No
  • Contact #6
    • Contact name: TAC-312
    • Call type: Group call
    • Call ID: 312
    • Receive tone: No
  • Contact #7
    • Contact name: USA Nationwide
    • Call type: Group call
    • Call ID: 3100
    • Receive tone: No
  • Contact #8
    • Contact name: Ohio
    • Call type: Group call
    • Call ID: 3139
    • Receive tone: No
  • Contact #9
    • Contact name: Midwest
    • Call type: Group call
    • Call ID: 3169
    • Receive tone: No
  • Contact #10
    • Contact name: Ref Disconnect
    • Call type: Private call
    • Call ID: 4000
    • Receive tone: No
  • Contact #11
    • Contact name: USA – Area 8
    • Call type: Private call
    • Call ID: 4648
    • Receive tone: No
  • Contact #12
    • Contact name: Ref Info
    • Call type: Private call
    • Call ID: 5000
    • Receive tone: No
  • Contact #13
    • Contact name: Scott N8SY
    • Call type: Private call
    • Call ID: 3139437
    • Receive tone: No

Notice contacts #10 and #12 are not listed in the example table. These are standard reflector commands. A private call to ID 4000 is required to disconnect the repeater, 5000 checks link status. Talk group 9 is also required for reflector use. See the Reflector section for usage.

(Digital) RX Group lists

Once Contacts are entered, RX Group lists can be created. Relevant information from the example table: Label and Time Slot. RX Group lists are limited to a maximum of 32 talk groups per list. The intent was to monitor all talk group activity on a time slot. Only contacts set to “Group Call” can be added.

There are generally two ways of creating RX Groups. The first uses a one-to-one relationship where each talk group has its own RX Group List. The second includes all available talk groups on a repeater’s time slot into a single list. The latter creates lists unique to a repeater that cannot be reused on another repeater, unless the configuration is exactly the same. If the repeater has less than 32 talk groups on a time slot, put them all in one RX Group list. If there are more than 32, then create one RX list per talk group.

To keep repeater specific group lists unique, name the list: repeater location followed by “TS1/2” for the time slot designation. Example: “Some City TS1,” “Some City TS2.”

RX Group lists and the RX list selected for a channel are the first places to look when there is a suspected radio programming issue or nothing is being heard.

A repeater specific example is provided later. For this programming example, the one-to-one relationship is demonstrated. RX Groups are created in the same order as the repeater listing. In the CPS software, create RX Group lists and include the listed contact(s):

  • Digital RX Group List #1
    • Group List Name: World-Wide
    • Available Contact, select and add: World-Wide
  • Digital RX Group List #2
    • Group List Name: North America
    • Available Contact, select and add: North America
  • Digital RX Group List #3
    • Group List Name: USA Nationwide
    • Available Contact, select and add: USA Nationwide
  • Digital RX Group List #4
    • Group List Name: Local 9
    • Available Contact, select and add: Local 9
  • Digital RX Group List #5
    • Group List Name: TAC-310
    • Available Contact, select and add: TAC-310
  • Digital RX Group List #6
    • Group List Name: TAC-311
    • Available Contact, select and add: TAC-311
  • Digital RX Group List #7
    • Group List Name: TAC-312
    • Available Contact, select and add: TAC-312
  • Digital RX Group List #8
    • Group List Name: Midwest
    • Available Contact, select and add: Midwest
  • Digital RX Group List #9
    • Group List Name: Ohio
    • Available Contact, select and add: Ohio

Notice contacts #10-13 cannot be included because they are set to private call.

 

Repeater specific, all talk groups per time slot example:

  • Digital RX Group List #1
    • Group List Name: Some City TS1
    • Available Contact, select and add (position 1): World-Wide
    • Available Contact, select and add (position 2): North America
    • Available Contact, select and add (position 3): USA Nationwide
  • Digital RX Group List #2
    • Group List Name: Some City TS2
    • Available Contact, select and add (position 1): Local 9
    • Available Contact, select and add (position 2): TAC-310
    • Available Contact, select and add (position 3): TAC-311
    • Available Contact, select and add (position 4): TAC-312
    • Available Contact, select and add (position 5): Midwest
    • Available Contact, select and add (position 6): Ohio

Channels

This is where it all comes together. To create channels, Contacts and RX Group lists need to have been established.

Analog channels are straight forward if you’ve programmed any other analog ham radio. They will not be covered here.

Channels for the same repeater are easier to copy and paste. This depends on the software but usually involves setting up a channel, copying that channel, creating a blank channel, and pasting over the blank channel.

Some settings definitions:

  • Admit Criteria: determines when the radio is allowed to transmit.
    • Always: allows the radio to transmit any time PTT is pressed. This is the most disruptive option and may interrupt another QSO in progress.
    • Channel Free: the radio will only transmit when there is no transmission in progress on the time slot.
    • Color Code (Free): the radio will only transmit when the time slot is free on the repeater matching the color code. This mode pings the repeater at the beginning of each transmission to find a matching color code. This pinging is also an indicator if you’re making the repeater or if it is in use.
    • “Color Code” is recommended for a repeater, “Channel Free” for hotspot & simplex use.
  • In Call Criteria: action taken while receiving a call and the PTT button is pressed. This can be thought of as the ‘interrupt a call’ setting.
    • Follow Admit Criteria: follow the setting defined in “Admit Criteria.”
    • Always: always transmit, even while receiving a call.
    • “Follow Admit Criteria” is recommended for a repeater, “Always” for hotspot & simplex use.
  • Auto Scan: when the channel is selected, the radio begins scanning channels defined in the selected “Scan List.” For this option to function: create channels, add the channels to a Scan List, then create another new channel with the newly created Scan List selected and “Auto Scan” checked.
  • * Lone Worker: the user receives an alert from the radio after a specified amount of time and must acknowledge by pressing any button on the radio. If the user does not respond to the alert, it is assumed the user is injured or incapacitated. The radio switches to an emergency mode so the user can be located and assisted. I have not seen this used in ham radio.
  • * Allow Talkaround: this allows the radio to operate simplex mode when a repeater is not available or out-of-range. TX and RX frequencies must be different for this option to function. Talkaround is enabled/disabled manually via the radio’s “Utilities” menu, select “Radio Settings,” select “Talkaround,” then select “Turn On/Off.”
  • Emergency System: settings for an emergency alarm. I have not seen this used in ham radio.
  • Privacy: DMR includes the ability to “scramble” transmissions. This is a form of encryption and not allowed in the US.

A clear definition of “RX/TX Ref Frequency” has not been found and understood the default setting is sufficient.

These settings will be applied to every digital channel created for this example and is a good template for actual programming:

  • Channel Mode: Digital
  • Band Width: 12.5kHz
  • TOT[s]: 180s (3 min) max for repeater & hotspot, 600s (10 min) max for simplex channels.
  • Power: “High” for repeaters & simplex – unless really close, “Low” for hotspots.
  • Admit Criteria: “Color Code” for repeater, “Channel Free” for hotspot & simplex.
  • Allow Talkaround: yes
  • Emergency System: None
  • Privacy: None
  • In Call Criteria: “Follow Admit Criteria” for repeater, “Always” for hotspot & simplex.

For this programming example, channels are created in the same order as the repeater listing. In the CPS software, create channels with the listed settings including universal settings above. SC = Some City, Ohio:

  • Channel #1
    • Channel Name: SC World-Wide
    • RX Frequency: 444.300
    • TX Frequency: 449.300
    • Contact Name: World-Wide
    • Group List: World-Wide (or Some City TS1)
    • Color Code: 1
    • Repeater Slot: 1
  • Channel #2
    • Channel Name: SC North America
    • RX Frequency: 444.300
    • TX Frequency: 449.300
    • Contact Name: North America
    • Group List: North America (or Some City TS1)
    • Color Code: 1
    • Repeater Slot: 1
  • Channel #3
    • Channel Name: SC USA Nationw
    • RX Frequency: 444.300
    • TX Frequency: 449.300
    • Contact Name: USA Nationwide
    • Group List: USA Nationwide (or Some City TS1)
    • Color Code: 1
    • Repeater Slot: 1
  • Channel #4
    • Channel Name: SC Local 9
    • RX Frequency: 444.300
    • TX Frequency: 449.300
    • Contact Name: Local 9
    • Group List: Local 9 (or Some City TS2)
    • Color Code: 1
    • Repeater Slot: 2
  • Channel #5
    • Channel Name: SC TAC-310
    • RX Frequency: 444.300
    • TX Frequency: 449.300
    • Contact Name: TAC-310
    • Group List: TAC-310 (or Some City TS2)
    • Color Code: 1
    • Repeater Slot: 2
  • Channel #6
    • Channel Name: SC TAC-311
    • RX Frequency: 444.300
    • TX Frequency: 449.300
    • Contact Name: TAC-311
    • Group List: TAC-311 (or Some City TS2)
    • Color Code: 1
    • Repeater Slot: 2
  • Channel #7
    • Channel Name: SC TAC-312
    • RX Frequency: 444.300
    • TX Frequency: 449.300
    • Contact Name: TAC-312
    • Group List: TAC-312 (or Some City TS2)
    • Color Code: 1
    • Repeater Slot: 2
  • Channel #8
    • Channel Name: SC Midwest
    • RX Frequency: 444.300
    • TX Frequency: 449.300
    • Contact Name: Midwest
    • Group List: Midwest (or Some City TS2)
    • Color Code: 1
    • Repeater Slot: 2
  • Channel #9
    • Channel Name: SC Ohio
    • RX Frequency: 444.300
    • TX Frequency: 449.300
    • Contact Name: Ohio
    • Group List: Ohio (or Some City TS2)
    • Color Code: 1
    • Repeater Slot: 2
  • Channel #10
    • Channel Name: SC Ref Disconn
    • RX Frequency: 444.300
    • TX Frequency: 449.300
    • Contact Name: Ref Disconnect
    • Group List: None
    • Color Code: 1
    • Repeater Slot: 2
  • Channel #11
    • Channel Name: SC Ref USA – 8
    • RX Frequency: 444.300
    • TX Frequency: 449.300
    • Contact Name: USA – Area 8
    • Group List: None
    • Color Code: 1
    • Repeater Slot: 2
  • Channel #12
    • Channel Name: SC Ref Info
    • RX Frequency: 444.300
    • TX Frequency: 449.300
    • Contact Name: Ref Info
    • Group List: None
    • Color Code: 1
    • Repeater Slot: 2
  • Channel #13
    • Channel Name: SC Scott N8SY
    • RX Frequency: 444.300
    • TX Frequency: 449.300
    • Contact Name: Scott N8SY
    • Group List: None
    • Color Code: 1
    • Repeater Slot: 2 – though really depends which is available on the repeater.

Zones

To use a Channel on the radio, it needs to be added to a Zone. Zones can contain analog channels too.

Some repeater and c-Bridge owners only made 16 talk groups available on their systems. That’s easy. All 16 go into one zone. Repeaters with more than 16 talk groups must have channels grouped.

Order of channels added to a zone will correspond with the dial position: first added will be position 1, second added will be 2, and so on.

Most use the zone to indicate where the repeater is located. Call signs are not often used because the city provides more detail when selecting an appropriate zone, especially when traveling.

For this programming example, only one zone is utilized. In the CPS software, create a zone with the listed channels:

  • Zone Information #1
    • Zone Name: Some City, OH
    • Available Channel, select and add (position 1): SC World-Wide
    • Available Channel, select and add (position 2): SC North America
    • Available Channel, select and add (position 3): SC USA Nationw
    • Available Channel, select and add (position 4): SC Local 9
    • Available Channel, select and add (position 5): SC TAC-310
    • Available Channel, select and add (position 6): SC TAC-311
    • Available Channel, select and add (position 7): SC TAC-312
    • Available Channel, select and add (position 8): SC Midwest
    • Available Channel, select and add (position 9): SC Ohio
    • Available Channel, select and add (position 10): SC Ref Disconn
    • Available Channel, select and add (position 11): SC Ref USA – 8
    • Available Channel, select and add (position 12): SC Ref Status
    • Available Channel, select and add (position 13): SC Scott N8SY

Scan Lists

Scan Lists are not required for radio operation but are nice for scanner like functionality across repeater time slots and frequencies. Channels have to be established first before it can be added. Scan Lists can contain analog channels too.

Order of channels added to a Scan List will correspond with the scan order. Private Call channels are unnecessary in scan lists because they are infrequent, short, and unnecessarily take up available list entries.

Activating the selected Scan List on the active channel requires assigning the “Scan On/Off” functionality to a programmable button universally in the radio. This is done in “Button Definitions” of the CPS. Another way is to create a channel with the “Auto Scan” feature enabled (see Channels section).

For this programming example, only one Scan List is utilized. In the CPS software, create a Scan List with the listed channels:

  • Scan List #1
    • Scan List name: Some City, OH
    • Available Channel, select and add (position 1): SC World-Wide
    • Available Channel, select and add (position 2): SC North America
    • Available Channel, select and add (position 3): SC USA Nationw
    • Available Channel, select and add (position 4): SC Local 9
    • Available Channel, select and add (position 5): SC TAC-310
    • Available Channel, select and add (position 6): SC TAC-311
    • Available Channel, select and add (position 7): SC TAC-312
    • Available Channel, select and add (position 8): SC Midwest
    • Available Channel, select and add (position 9): SC Ohio

Once a Scan List is created, Channels to which a Scan List applies must be updated. All of the “SC” channels.

 

That’s it! You have successfully programmed a ham radio DMR code plug from scratch! Now, substitute the local repeater’s information and begin having fun!

Suggested talk groups

Here is a suggested list of talk groups to get started on a Brandmeister network U.S. repeater or hotspot. Each bullet can be a separate zone.

  • Wide area groups (World-Wide: 91, North America: 93, USA – Nationwide: 3100)
  • Regional (Midwest: 3169, Southern Plains: 3175, Northeast: 3172, Mountain: 3177, etc.)
  • Ohio & surrounding states (Ohio: 3139, Indiana: 3118, Michigan: 3126, Pennsylvania: 3142, West Virginia: 3154, Kentucky: 3121)
  • Local & tactical (TAC) (1, 2, Local 9, TAC-310, TAC-311, TAC-312, TAC 1: 8951, TAC 2: 8952, …, TAC 9: 8959)
  • Reflectors & commands (Disconnect: 4000, USA – Nationwide: 4639, USA – Area 0: 4640, USA Area 1: 4641, …, USA – Area 9: 4649, Ref Info: 5000)
  • Special use (Parrot: 9990, audio test: 9999)

Reflectors

Reflectors are different than talk groups. With a talk group, keying automatically establishes the connection and is dropped after 15 minutes. Reflectors must be manually linked and unlinked. Time slot 2 is always used for reflectors and associated commands.

At user discretion, programming can include reflectors of interest. It’s a good idea to program the control commands into a code plug regardless of the desire to use reflectors. A repeater maybe connected to a reflector and left abandoned. Having those commands programmed are good for knocking down an abandoned link.

To establish reflector connection, a private call is made to the reflector ID. Some radios can make on-the-fly private calls by entering the ID on the keypad. Others need a channel programmed with the reflector ID in the “Call ID” field with “Call Type” set to “Private Call.”

A “Group Call” channel programmed to time slot 2, talk group 9 is required to carry on the QSO. This is known as “Local 9” on many repeaters.

When the QSO is finished, another “Private Call” is made to ID 4000 to disconnect the reflector. Private Call to ID 5000 will check the status at any time.

For two stations to establish communication on the “USA – Area 8” reflector (4648), both stations initiate a “Private Call” to ID 4648 on time slot 2, for 2 seconds. Switch their radios to “Local 9” for the QSO. When done, both initiate a private call to 4000 to disconnect their nodes.

Simplex

Like any good communication system, DMR doesn’t have to be operated using a repeater.

Standard DMR simplex configuration and frequencies in the U.S.:

  • Talk group (contact ID and RX Group): 99
  • Color Code (channel): 1
  • Time slot (channel): 1
  • Admit Criteria (channel): Always (though I like to use “Channel Free”).
  • In Call Criteria (if applicable, channel): TX or Always.
  • UHF
    • 441.000
    • 446.500
    • 446.075
    • 433.450
  • VHF
    • 145.790
    • 145.510

 

Simplex code plug programming template:

  • Contact
    • Contact name: Simplex
    • Call type: Group call
    • Call ID: 99
    • Receive tone: No
  • Digital RX Group List
    • Group List Name: Simplex
    • Available Contact, select and add: Simplex
  • Channel, common:
    • Channel Mode: Digital
    • Band Width: 12.5kHz
    • TOT[s]: 600s (10 min) max.
    • Power: High
    • Admit Criteria: Always
    • Allow Talkaround: yes
    • Emergency System: None
    • Privacy: None
    • In Call Criteria: Always
    • Contact Name: Simplex
    • Group List: Simplex
    • Color Code: 1
    • Repeater Slot: 1
  • Channel 1
    • Channel Name: Simplex 441.000
    • RX Frequency: 441.000
    • TX Frequency: 441.000
  • Channel 2
    • Channel Name: Simplex 446.500
    • RX Frequency: 446.500
    • TX Frequency: 446.500
  • Channel 3
    • Channel Name: Simplex 446.075
    • RX Frequency: 446.075
    • TX Frequency: 446.075
  • Channel 4
    • Channel Name: Simplex 433.450
    • RX Frequency: 433.450
    • TX Frequency: 433.450

Hotspots

Many hotspots follow very similar programming to that of a repeater. Others offer a ‘simple’ mode utilizing a single talk group in the radio to make programming easier. I prefer my hotspot to function like a repeater.

Hotspot devices like the SharkRF OpenSpot and DVMega act similar to a repeater in terms of the programming. Follow the programming tutorial above with differences being the TX frequency would match the RX frequency (simplex) and time slot is always 2 (though the OpenSpot can use either).

For the OpenSpot, every RX Group will need to include “Local 9” to hear the voice announcements from the OpenSpot. These are the ‘connected’ and ‘profile’ announcements. There are additional control commands that can be used with the OpenSpot, like changing profiles, which are outlined in the manual: https://www.sharkrf.com/products/openspot/manual/

The OpenSpot can alternatively operate in a simple mode where transmissions to and from the Internet are routed to and from talk group 9 for the radio. Example: hotspot is connected to talk group 3139, the radio receives and transmits using talk group 9; connected to talk group 3100, radio still uses 9. Using this method, talk group changes have to be made through the OpenSpot web interface including changing the ‘Reroute ID.’

The DV4Mini will ONLY operate using talk group 9. For this reason, programming talk group 3139 into the radio for the DV4Mini will NOT work. No other talk group configuration will work with the DV4Mini EXCEPT talk group 9!

Brandmeister Extended Routing (XTG) is needed for talk groups not listed in the DV4Mini DV4MF2 application (eg: TAC-310, TAC-311, or TAC-312).

A programming example for OpenSpot in ‘simple’ mode or the DV4Mini. 446.900 is the simplex frequency chosen for the hotspot:

  • Contact (does not need to be created if “Local 9” already exits.)
    • Contact name: OpenSpot/DV4Mini
    • Call type: Group call
    • Call ID: 9
    • Receive tone: No
  • Digital RX Group List (does not need to be created if “Local 9” already exits.)
    • Group List Name: OpenSpot/DV4Mini
    • Available Contact, select and add: OpenSpot/DV4Mini
  • Channel
    • Channel Mode: Digital
    • Band Width: 12.5kHz
    • TOT[s]: 180s (3 min) max.
    • Power: Low
    • Admit Criteria: Always (though I like to use “Channel Free”).
    • Allow Talkaround: yes
    • Emergency System: None
    • Privacy: None
    • In Call Criteria: Always
    • Channel Name: OpenSpot/DV4Mini
    • RX Frequency: 446.900
    • TX Frequency: 446.900
    • Contact Name: OpenSpot/DV4Mini (or Local 9)
    • Group List: OpenSpot/DV4Mini (or Local 9)
    • Color Code: 1
    • Repeater Slot: 2

You’re now setup to use OpenSpot in simple mode or DV4Mini!

DMR in Amateur Radio: Terminology

Read the rest of the series in the DMR in Amateur Radio series category.


Planning on picking up a new DMR radio at Dayton? DMR saw growth due to inexpensive offerings of quality radios at last year’s show. I suspect this year will be no different with new offerings from vendors and many more groups supporting DMR. How many of you know the terminology and could program a radio from scratch?

Passing around a code plug makes the mode seem plug-and-play and it’s a great way to get started. Relying on existing code plugs leaves most of us unable to change the configuration of our own radios. What happens if you need to change programming, add a repeater, the code plug information is old, or wrong?

Here I’ll explain DMR concepts and terminology as it relates to the Ham Radio service. Next, I’ll walk through programming an example repeater and hotspot for devices like the SharkRF OpenSpot, DVMega, and DV4Mini. This series is intended for the beginner to better understand the technology by providing practical reasons and examples. These won’t be tied to a specific radio or repeater though there will be differences between vendors, models, repeaters, networks, and configurations in practice. Consult the repeater owner with specific questions.

About DMR

Digital Mobile Radio is an open digital mode standardized by the European Telecommunications Standards Institute (ETSI). It was first published in 2005 and is used in commercial products around the world. Open means the specifications are available for anyone to use, modify, add, or remove features as one sees fit. DMR uses two-slot Time-Division Multiple Access (TDMA) allowing two channels in 12.5 kHz of bandwidth using the AMBE+2 proprietary codec (or vocoder, voice encoder). TDMA is old cellphone technology in use before LTE and GSM. “Spectrum efficiency of 6.25 kHz” is often used which is ‘blah blah’ marketing speak for ‘it really uses 12.5 kHz, half the time.’

ETSI’s objective was to have a low cost, interoperable, digital system. In reality, manufactures added their own proprietary features that make their radios non-interoperable with other manufactures. Motorola’s system is called MotoTRBO which is a DMR capable radio with their own proprietary features. Motorola did not create nor invent DMR but they help bring it to the U.S.

DMR is the first time a commercial system was adopted for ham use. Most of the terms heard in relation to DMR are carryovers from the commercial world. In comparison, D-STAR and Fusion were specifically designed for ham radio use. D-STAR, Fusion, and DMR are all open standards. This means commercial gear is setup for commercial users while ham gear is setup for the way hams use radios. All three use the proprietary AMBE codec allowing 12.5 kHz wide transmissions. DMR achieves two simultaneous transmissions in the same bandwidth. D-STAR uses the AMBE codec while DMR and Fusion use AMBE+2.

D-STAR has an Internet and networking component accessible by users built into the standard. This includes an APRS-like position reporting system called D-PRS. Fusion can transmit pictures messages, and position information to other stations. DMR data features in ham radio are underutilized. Up to this point, text messaging was the most widely used data feature. The Brandmeister network is the first network to begin taking advantage of position reporting data.

Most associate the openness of a standard with how many vendors sell equipment, which is an inaccurate assumption. There have been devices since D-STAR became popular that could turn any analog radio into a digital radio, including repeaters. Now, how much does that equipment cost is the more likely driving popularity factor.

Is it legal?

I hear this issue come up from time-to-time in the Ohio section. I’m sure many more have the same question. DMR is legal under Part 97 as of a decision issued on June 9, 2014 by the FCC in docket FCC-14-74. This decision modified Part 97 rules to allow emission types that cover DMR: FXD, FXE, and F7E into Sections 97.3(c) and 97.307(f)(8). Any further questions, please consult an ARRL legal or technical resource.

Keep in mind however, the DMR ID transmitted by the radio IS NOT a legal FCC ID. It’s analogous to kerchunking a repeater without identifying. There must be an identification using voice or something in the data stream must contain the station’s call sign. This includes identifying when linking and unlinking systems. D-STAR and Fusion transmissions contain the call sign in the data stream. Repeaters ID with CW like analog repeaters. The DMR ID in the data stream does not contain a valid FCC call sign and therefore does not constitute valid identification under Part 97. The transmitting station’s name and call sign may appear on your radio display, it still does not make for valid identification. See “Contacts” for more on displayed names and call signs.

Radios, CPS, and Code plugs

Inexpensive DMR radios are easy to come by. There are over 40 manufactures producing DMR equipment. The TYT (Tytera) MD-380 is the most popular ham friendly option for $100 at R & L and Universal Radio – remember to support your local dealers. Connect Systems radios are pricier but come with actual support and a wider selection, including mobiles. The super-cheap Baofeng DMR radios are just like all other Baofengs, crap.

Repurposed radios or new radios that appear on the market will work with the ham radio infrastructure. The radio must cover the appropriate VHF/UHF band and be “DMR Tier II” compliant. DMR Tier I is unlicensed 446 MHz in Europe, similar to FRS. Tier II, aka conventional, is licensed services needing higher power and IP Site Connectivity (IPSC) using the Internet for site linking. Tier III builds on Tier II adding trunking capability and advanced data services.

It’s estimated that 95% of all DMR repeaters in the U.S. are UHF with few VHF. Popular radios are only single band – a commercial carry over because commercial licenses usually cover a single band. Dual band DMR radios should be available by Dayton (2017). In the state of Ohio as of this writing, RepeaterBook is showing 60 DMR repeaters: 3 VHF, one 900 MHz, and the remaining are UHF… so make sure you pick up a UHF model.

To update settings and memories in all DMR radios requires a computer, programming cable, and Computer (or Customer) Programming Software referred to as “CPS.” CPS is the later version of RSS (Radio Service Software) which was used by radio programming professionals and commercial radio resellers. Front Panel Programming (FPP) is a software enabled setting allowing programming via the radio’s front panel. This method allows modification of important programmed functions but not all, so a computer is still required.

The radio utilizes a code plug which is a small program containing radio settings, repeater configurations, Talk Groups, contacts, power outputs, Color Codes, PL tones, signaling methods, and more. A code plug is similar to programming a ham radio with RT Systems or CHIRP. Settings and memories are programmed into the software then downloaded to the radio. Code plug is a Motorola term when physical jumpers were plugged into old radios enabling certain options. Later microprocessor based radios moved the settings internally but the term still stuck referring to radio settings. Today, they resemble small relational databases where settings and data are interrelated and interdependent. Making a change in one area may impact other settings that rely on that data. Next in this series will be programming a sample code plug.

In general, code plugs are radio specific. A TYT MD-380 will work on a MD-390 because the internals are almost identical. However, Connect Systems is not going to work in a Motorola or Hyterra. The newer a radio or less popular a radio is will make it harder to find preprogrammed code plugs.

DMR radios, unless specifically labeled, are not compatible with other ham radio digital systems like D-STAR and Fusion. Advancements are being made to incorporate all digital modes into a single radio by third-party developers.

Registering

Every user on any DMR network requires a CCS7 ID commonly referred to as a “DMR ID” or “radio ID.” CCS stands for “Callsign Communication System” (or Call Connection Service) and is a subscriber identification containing 7 digits. Users registered in Ohio are assigned 3139xxx, where ‘xxx’ is a 3-digit consecutive ID. Ohio used up all 3139xxx IDs and has rolled over to 1139xxx. One might note that the Ohio Statewide Talk Group has the ID 3139! This radio ID has its place on D-STAR, DMR, and Fusion networks but the reasons are beyond introductory level. The CCS7 is a universal ID that will work on any DMR network.

If you don’t already have a DMR ID, follow the instructions on the DMR-MARC registration site. DO NOT REQUEST multiple IDs for a single callsign! Hotspot devices or different radios don’t need separate IDs. Obtaining an ID may take up to 3 days and the process can be started even before buying a radio. If you think you might already have an ID: on the registration page, click the “Database” link, click “User Database,” and search using your call sign (current or previous). To change the registered information for a call sign, use the “Contact Us” link.

Repeaters, c-Bridges, and Networks

In order to program a DMR repeater into a DMR radio, a couple pieces of information about the repeater are needed. To program an analog FM repeater into a ham radio, a user needs the repeater transmit frequency, offset/receive frequency, and PL/DCS tone configuration to access the repeater. Different information is required for a DMR repeater: Color Code and Talk Group configuration is needed. The functionality of a PL/DCS tone is replaced by a “Color Code” (CC) or “Colour” when in Europe. There are 16 possible Color Codes, 0-15. A DMR repeater cannot be Color Code-less. Like PL, the Color Code must match the repeater or the repeater cannot be accessed.

Configuration of the repeater depends on the c-Bridge or network it is connected to. C-Bridge is a communication device to route calls between different networks. There are many ham radio c-Bridges: DMR-MARC, DCI, NATS, CACTUS, K4USD, Crossroads – for example. Some c-Bridges explicitly define repeater configuration, including limiting available Talk Groups only to certain regions. For example, “Rocky Mountain regional” may not be available on Ohio repeaters. Other c-Bridges allow owners leeway in their configuration.

Brandmeister is a decentralized network of master servers. Master servers are different from a c-Bridge but an oversimplification is they both provide similar linking functionality. The Brandmeister name is synonymous with DMR but it cross-links with other networks and digital systems like D-STAR and APRS. Work is being done on linking Fusion and P25. All Talk Groups and reflectors on Brandmeister are available to all repeaters and hotspots connected to that network.

As with any linked repeater system, there are significant time delays in fully establishing connections. On an analog repeater system with multiple voted inputs, it will take two or three seconds for the system to fully come up. From the time the radio is keyed, the signal has to reach the inputs, the inputs reach the voter, voter decides which input is the strongest, bring up the transmitter(s), and all receiving stations pick up the repeater’s signal. Fast-keying is one of my pet-peeves where a transmitting station quickly keys their radio and starts talking. Receiving stations only hear the last letter or two of a callsign. Delays are even longer when networking and routing packets is involved over a wide area. This is true for any networked mode: D-STAR, DMR, Fusion, Echolink, AllStar, or IRLP. When first establishing connection on a repeater, first key up for 2 to 3 seconds before saying or doing anything to being up all links. Once links are established, they tend to react quicker so that delay can be dropped to 2 seconds on subsequent transmissions.

Another note when linking DMR systems, at the time a repeater or hotspot is connected, an existing transmission might be taking place on that Talk Group. Nothing would be heard by the station that linked. They think the Talk Group is free and end up disrupting an in progress QSO by calling another station. At the point the system is linked to a Talk Group with a transmission in progress, nothing will be heard until the first station unkeys. After linking, wait a minute while making sure the Talk Group is not already in use before calling.

At some point, you will be ‘bonked’ from a repeater. This is the tone a radio might emit after attempting to access a repeater. There are many reasons for being bonked: repeater didn’t respond because it is offline, wrong Color Code is programmed for the channel, out-of-range of the repeater, an incorrect Talk Group/time slot configuration is programmed, Talk Group doesn’t exist, someone could be making a private call, or there is some other error in the radio configuration. Most likely reason: another Talk Group is in use on the same time slot.

More information about repeaters and time slots is in the “Talk Group” and “Time Slot” sections.

Repeater owners: one big problem with DMR has been the lack of information on your repeater. It’s pointless going through the trouble of putting up a digital repeater and not telling people how to access it. Post the Talk Group layout, how to access them, and include any other procedures users should follow. Post this information on a website, use RepeaterBook or RFinder as both have provisions for listing Talk Groups. It can make all the difference in attracting new users.

Time slot (TS)

Time slots allow two conversations on the same repeater, on the same frequency, happening at the same time, and be completely separate from each other. This is what people refer to when they say ‘DMR is two repeaters in one.’ A time slot can be thought of as a ‘channel.’ Each repeater has two time slots or two channels. A user can only access one time slot at a time. Two Talk Groups cannot be accessed on the same time slot simultaneously.

Img: http://www.hytera.com/navigation.htm?newsId=1086&columnType=news

Each time slot occupies the signal for less than 30ms at a time. Within a 60ms window on a repeater: time slot 1 is transmitted for 27.5ms, then a gap of 2.5ms, time slot 2 is transmitted for 27.5ms, another 2.5ms gap, and then repeats with time slot 1. The human ear cannot detect that small of a gap in audio. A repeater transmits both time slots even though one channel is in use and the other idle. This cuts down on the on/off keying of the repeater. User radios, on the other hand, transmit for 27.5ms each 60ms window. This results in extended life of the handheld battery.

Talk Group (TG)

A way for groups of users to be separated on each time slot, without distracting or disrupting other users, is to use Talk Groups. A commercial example would be a baseball stadium. The ball park might have services like facilities management, guest services, security, first aid, concessions, traffic, and ushers all using the same radio system but the conversations are completely independent. Not all services would be using the frequency at the same time for the entire game. Each radio stays muted until their assigned Talk Group appears on the frequency, then it would unmute or activate for that transmission. Their radios would have the ability to switch over to another Talk Group. Security might need to alert first aid of a guest injury or guest services may need to notify facilities of an issue in one of the suites.

Ham radio Talk Groups can be created for any purpose and usually fall into the categories of wide-area (worldwide), regional (North America, Midwest), or a particular purpose (Ohio Statewide, XYZ club). There can be many Talk Groups available on a repeater time slot. Time slot 1 could have 5 while time slot 2 may have 25. Some c-Bridges organize wide-area Talk Groups on time slot 1 with regional, local, and special use on time slot 2.

Locals are unique and only heard on that repeater, not routed to the network in most cases. Special use includes Parrot and audio test. Parrot repeats received audio by the repeater. Audio test is a Talk Group linked to an online audio meter by the Northern California DMR Group (NorCal DMR). This has been deprecated because Brandmeister Hoseline has an audio meter for each Talk Group. Hoseline lets anyone listen to any Brandmeister Talk Group with a web browser: https://hose.brandmeister.network/. It is the “firehose” of Talk Group traffic.

The larger an area served by a Talk Group, the more repeaters and time slots are tied up simultaneously. Ohio Statewide keys about 60 repeaters at once. Calling and worldwide Talk Groups could be in the thousands and should be thought of as the 146.520 of DMR. Etiquette is to make contact then move to another Talk Group or a reflector. Tactical or TAC Talk Groups are used for longer QSOs and nets as they tie up the least number of repeaters and are selectively linked-up by repeater users.

Repeater configuration includes static Talk Groups – always connected, and dynamic Talk Groups – commonly referred to as PTT (push-to-talk). Dynamic are linked by a user for a period of about 15 minutes. After 15 minutes of no local activity, that Talk Group is dropped and the repeater returns to the static group on that time slot.

C-Bridges and networks tend to keep the same Talk Group numbering (ID) and allow cross-patching to others to keep things consistent. This means Ohio Statewide is the same group and ID on DMR-MARC, DCI, K4USD, Brandmeister, and others.

Brandmeister offers the flexibility for any two radios to key-up on a random Talk Group ID and essentially create their own Talk Group. This can be done using any Brandmeister connected repeater or hotspot. This Talk Group is not hidden or private because it will show up on Hoseline allowing anyone to listen in and any other stations can join in too. A list of known Brandmeister Talk Groups is provided in the links section.

Reflector

As described in the repeaters section, some c-Bridges severely limit the Talk Groups a repeater can access. What happens when you’re traveling to Florida and want to talk to your buddies back in Ohio? Or worse, talk to a buddy in England? Talk Group options become limited to wide-area ones which tie-up a lot of repeaters for a lengthy QSO. Reflectors are a way to solve this problem.

Similar to D-STAR or IRLP reflectors, nodes are connected in a round-table style configuration. When one station transmits, their signal is transmitted by all other connected nodes. So far, these sound like Talk Groups. The difference is reflectors are available worldwide and repeater users have to specifically link and unlink a reflector. This means only repeaters and hotspots connected to that reflector are tied up during transmissions and not thousands of repeaters on world-wide Talk Groups.

Reflectors are a 4-digit ID that begins with a 4, 4xxx. Not every c-Bridge has granted reflector connectivity. DMR-MARC and Brandmeister have this ability. Some reflectors are cross-patched to Talk Groups on Brandmeister so either the reflector or Talk Group ID can be used. Reflectors are seldom used on Brandmeister because of the availability of all Talk Groups to all repeaters and hotspots on the network. However, reflectors still serve the intended purpose if a station isn’t in range of a Brandmeister repeater.

Contacts

There are three call types in DMR: Group Call, Private Call, and All-Call. Each is a contact within the radio. A Group Call is a transmission from one radio to a group of radios. These instantly link-up dynamic Talk Groups when PTT is pressed. When you press PTT on Ohio Statewide (3139), all other radios configured for 3139 unmute. All-Call is a carryover from commercial and is programed into supervisor radios allowing the ability to make a call to all radios on the same time slot regardless of talk group. All-call is not used in ham radio.

Private Call is a call from one radio to another radio using the other radio ID (see Registering). In ham radio, that ID is associated with an individual. To return a private call, that users’ radio ID must be stored and selected in the radio. These calls are routed to a user’s last known location on the network, like D-STAR call routing. If someone keyed a DMR repeater in Dayton, then travels to Cleveland, the private call is still routed to the Dayton repeater. Private calls are generally discouraged and even disabled on some repeaters. They tie up a time slot and could clobber an existing QSO. Other users will have no idea why they cannot access the time slot. Private calls are acceptable between hotspots because they are lower profile with only a few users. The DV4Mini can receive private calls but didn’t seem to know how to handle returning a private call.

A common issue I hear on DMR all the time is ‘I don’t see your name and call sign on my display. I must be doing something wrong!’ This behavior depends on the contacts stored in the receiving radio. To see the transmitting station’s name or call sign on the radio display, that radio ID must be setup as a contact in the receiving radio. When the radio receives a radio ID in the contact list, the Contact Name is displayed in place of the radio ID. If the radio ID is not in the contact list, the radio displays what it knows which is the seven-digit radio ID that comes across as part of the data stream in the transmission.

The MD-380 for example, has room for 1,000 contacts which is a carryover from commercial. Most police departments and businesses don’t have more than 1,000 radios in their fleet. Ohio has 1,400+ registered users so the MD-380 cannot store all registered users. Modified firmware makes this possible or look for a radio with more memory for contacts.

(Digital) RX Group lists

An RX Group List is a list of Talk Groups that will unmute or activate the radio when received on the same time slot as the current channel. RX lists were created as a way to monitor activity on the repeater regardless of channel. Key thing to remember is these lists are time slot specific. A radio is set to Local9 with Ohio Statewide and Local9 (both on time slot 2) included in the same RX Group list. When a conversation starts up on Ohio Statewide, the radio would unmute even though Local9 is selected. One can turn their radio to Ohio Statewide and join in. These can cause confusion if a station was heard on Ohio Statewide but the reply transmission went out over Local9. Be careful and mindful of the selected channel before transmitting.

If the radio was set to Local9 and a conversation started on North America calling on time slot 1, nothing will happen. The radio would remain muted because the time slot is different – even if they are in the same RX Group list.

As the name implies, these lists only include contacts set to Group Call for their Call Type. Private calls are not included in these because a radio will always unmute when a private call for that radio ID comes over the time slot. RX Groups keep users from interrupting conversations on repeater Talk Groups they are not monitoring. While intended to cut down on interruptions, some will quickly realize they are hearing a lot more Talk Group traffic then they care about.

When a radio does not unmute as a signal is received, the frequency-in-use LED would illuminate or some other ‘in use’ indicator would be seen. This indicates a Talk Group is not in the RX Group list for the channel, another time slot is in use, or a private call is occurring. To scan across time slots and channels, see Scan List.

Channels

This is where it all comes together. Channels are like memory settings of a typical ham radio. These tell the radio which modulation type to use (analog or digital), frequency, time-out-timer setting, power level settings, and scan lists. It ties together DMR specific settings like Color Code, time slot, digital contacts, and RX Groups. Analog channels are programmed here too.

Zones

A Zone is a way of organizing channels. Most radios allow a maximum of 16 channels per zone because that’s how many positions are available on the channel selector knob on top. Channels not included in a zone cannot be selected on the radio. There can be one or many zones per repeater or hotspot. There is no limit to how channels are arranged within a zone.

Zones are selected through the radio’s menu. When a new zone is selected, channels assigned to that zone become positions on the channel selection knob.

An un-programmed position will result in a continuous error-sounding tone from the radio until a valid position is selected. This was probably intended as a notification for commercial users to indicate they are on a channel where no transmissions will be heard, so a continuous tone sounds.

Scan Lists

RX Group lists receive Talk Groups on the same time slot. Scan lists scan different channels. These lists are closely related to the scan functionality of a scanner. Lists can include the different time slots, different frequencies, and include analog channels. Scan lists have a limit of about 32 channels per list. These lists are not required for radio operation.

Roam Lists

Roam lists are similar to when a cell phone switches towers automatically. They are useful when mobile. Though not implemented by many manufactures, the same functionality can be accomplished by creating a Scan List. The scan list would contain a single Talk Group across many repeaters. Roam lists only work well for static Talk Groups. Otherwise, the Talk Group has to be activated on each repeater, essentially defeating the purpose.

Hotspots

Hotspots are low powered (20mW or so) transceiver devices that connect to a network over the Internet. The hotspot becomes the gateway to the network. An Internet connection is required. Some hotspots will require a computer (DV4Mini) or Raspberry Pi (DVMega, DV4Mini) while others are standalone (OpenSpot). Lastly, a transceiver capable of that mode is needed. SharkRF OpenSpot, DVMega, and DV4Mini are all capable of operating D-STAR, DMR, and Fusion. A D-STAR DVAP, for example, would not work with DMR or Fusion.

After trying out the DV4Mini in a number of configurations with different users, the device needs a lot more work. As of this writing, I would personally stay away from it. DVMega’s are good for tinkering or finding a working software image, which can be frustrating. The SharkRF OpenSpot is my recommendation for a hotspot because of stability, ease-of-use, features, and updates.

If you’re still here, you made it through the terminology portion of this series, which is the hardest part. The next will bring it all together as I walk through creating a sample code plug for a DMR repeater and hotspot. DMR has come a long way since I jumped into it at Dayton in 2016. Likely in the next year, explanations here may change slightly and improvements in radio technology may make code plugs unnecessary.

Links

About CCS7 ID system: https://register.ham-digital.org/html/ccs7-ENG.html
List of BrandMeister Talk Groups: http://www.dmr-utah.net/talkgroups.php, https://brandmeister.network/?page=talkgroups
Ham Radio 2.0 podcast (DMR 101 (Greater Houston Hamfest Forum)): http://www.livefromthehamshack.tv/2017/04/18/episode-90-dmr-101-greater-houston-hamfest-forum/

References used for this writeup
Ham Radio 2.0 podcast (DMR 101 (Greater Houston Hamfest Forum)): http://www.livefromthehamshack.tv/2017/04/18/episode-90-dmr-101-greater-houston-hamfest-forum/
BrandMeister Getting Started Guide: http://n8noe.us/DMR/files/BrandMeisterGettingStartedGuide.pdf
Connect Systems CS600/CS700 Programming Guidelines: http://www.connectsystems.com/products/manuals/CS600_CS700_Programming_Guidelines.pdf
Amateur Radio Guide to Digital Mobile Radio (DMR) by John S. Burningham, W2XAB: http://www.trbo.org/docs/Amateur_Radio_Guide_to_DMR.pdf

Flmsg Forms Rendered as Web Pages

You can spice up your Flmsg forms and make them look like web pages!  The option in Fldigi to open a received form in the web browser is an option frequently enabled.  It allows the entire form to be displayed or printed from the browser.  In order for the browser to render the form, HTML code is generated.

Many don’t realize that ANY web coding language included in the form is rendered by the browser: HTML, CSS, JavaScript.  This means background colors can be changed, hyperlinks included, images displayed, audio or video files played, redirected to websites or YouTube videos, etc.

Standard disclaimer, this is not a good idea during a real NBEMS event for many of the reasons mentioned below.

Things to keep in mind:

  • The message sender has to be knowledgeable in programming or use W3Schools to learn web programming languages.
  • For the HTML to be rendered, receiving stations must have the “Open in browser” set in Fldigi (as described here in NBEMS settings).  The Flmsg window on the receiving end will look like gibberish (code).
  • Website contents, audio or video file contents are not being sent over or using Flmsg.  They are being linked to over the Internet.   This means any links or URLs included but be accessible on the public Internet (not a private internal intranet where receiving stations may not be on the same network).
  • Not every receiving station may be connected to the Internet.  They could be in a location without Internet access or because they’re in a temporary/portable situation.

I’m not going to even begin to scratch the surface on everything that can be included so use W3Schools for ideas.   A couple simple examples:

Turn the page background light-blue:

<style>
body {
background: #3399ff; /* light blue */
}
</style>

Include a link to my website:

<a href="http://www.k8jtk.org/">Link to K8JTK.org, a totally awesome website with lots of Ham Radio tutorials!</a>

Include my mug (picture):

<img src="https://www.jeffreykopcak.com/wp-content/uploads/2015/09/DSCF5081-K8JTK-300x284.jpg" width="300" height="284" />

To view or test code as a receiving station might see it, in Flmsg click File.

Select View.

Click Html delivery.

One of my favorites is the redirect to a web page.  When received, the web browser will direct their web browser to load a website.

I say this is my favorite because there is a story behind it.  Every sound card digital training class I present or article I write, I preach DO NOT SET YOUR SOUND INTERFACE TO YOUR RADIO AS DEFAULT!!! as instructed.  One reason is noted in that post.  One day, I decided to see who followed instructions.  I sent an Flmsg with a redirect to a YouTube trailer video.  Once the video loaded, one ham (who will remain nameless) started transmitting the trailer video over the air (which included music).  Don’t be that guy.

<meta http-equiv="refresh" content="0;url=http://wcarc.bgsu.edu/" />

To wait a specified number of sections, change 0 to that number of seconds.  0 means immediately load the included URL.

Web site loaded in the browser.

Recovering a Partially Received Flmsg Message

We’ve all been there.  Part of a Flmsg message was missed because the receiving station was off frequency, in the wrong mode, or not paying attention.  The issue is corrected and most of the message is received.  However, Fldigi doesn’t know what to do with the form because most of the headers are missing – meaning it won’t open in the browser or Flmsg.

I will demonstrate how I recover Flmsg messages that I’ve partially missed.  How much of the message can be decoded depends on how long it took to rectify the situation while the other station was transmitting.  The sooner, the better.

The key is to start decoding the message before the form/message type is transmitted.  This is transmitted fairly early on.

NOTE: re-transmitting incomplete forms in a real event is NOT acceptable!  That is, this (or similar) procedure is used to recover a message, then that message is transmitted in a real event.  Ask for a re-transmit, if possible.

Check out my other Fldigi and Flmsg posts.

Example message

Example plaintext form message used for this tutorial:

The entirety of the message as transmitted through Fldigi:

... start
[WRAP:beg][WRAP:lf][WRAP:fn K8JTK_Recovering_a_partially_missed_Flmsg.p2s]<flmsg>4.0.1
:hdr_fm:21
K8JTK 20172603194239
:hdr_ed:21
K8JTK 20172603172413
<plaintext>
:tt:19 Flmsg recovery demo
:to:24 Digital Net Participants
:fm:5 K8JTK
:dt:10 2017-03-25
:tm:5 1612L
:sb:35 Recovering a partially missed Flmsg
:mg:491 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor mi lectus, at ultrices leo suscipit et. In
aliquet semper pulvinar. Phasellus consequat nisi at orci feugiat euismod ac vitae magna. Proin a nisl est. Sed dignissim
faucibus sagittis. Proin a ornare mauris. Maecenas efficitur ante eu mauris tempus congue. Pellentesque at nulla purus.
Morbi nec pharetra nulla, at bibendum lorem. Donec et libero non ex ultricies porta. Aliquam quis mauris aliquet mi
efficitur ullamcorper.
[WRAP:chksum 780E][WRAP:end]
... end

In this message the form type is <plaintext>.  Everything before that tag could be missed and the message will still open in Flmsg using this process.

Recovering the form

In the Fldigi receive pane, part of the message was lost.  Note that <plaintext> form type is still received.

When the transmission is complete, Fldigi won’t open Flmsg or open the message in the web browser because not all headers were received.

Right-click in the receive pane.

Click Select All.  This will highlight the entire contents of the receive pane.

Right-click again and click Copy.  This will copy the entire contents of the receive pane to the clipboard.

Open a plaintext text editor like Notepad, Notepad++, Vim, or Nano.  Do not use Microsoft Word or LibreOffice Writer.

Right-click in the text document and select Paste.

Remove any other unnecessary text or other messages that are not part of the intended message.  In this case, the lines about ‘reading macros’ are removed.

Save the message someplace easy to remember like the Documents folder or Desktop.  I’ll put them in the same directory as messages extracted from Fldigi: C:\Users\USERNAME\NBEMS.files\WRAP\recv.

Enter a File name.

Leave the extension as “.txt

Click Save.

Open Flmsg.

Click File.

Click Open.

Navigate to the location where the file was saved from the text editor.

Next to the file name box, select All Files.

Click the file name.

Click Open.

The recovered message is open in Flmsg!

If the form type was missed, a message will indicate an error in the data file (see Failed to Receive Form Type below).

To open the Flmsg form in the browser, in Flmsg click File.

Select View.

Click Html delivery.

Failed to Receive Form Type

If the message type was not received, there are still ways to recover the message but the form type must be obtained.  This usually means asking the transmitting station for the form type they sent.

Using our previous message example, paste and clean up the text in the editor as described above.

Notice that <plaintext> tag is not seen.

Above the first line, insert the form type tag for the message.  In this case <plaintext>.  Other common form types:
<blankform>
<csvform>
<ics213>
<plaintext>
<radiogram>



Save the message and open in Flmsg as described above.

Notes:

  • Missing data shows up as blank fields in the Flmsg form – including those parts of the form where the field prefixes are missing (“fm,” “tm,” “sb,” or “mg,” etc.).  In the Plaintext form, if the message prefix is missing, since it’s one of the last prefixes transmitted the entire form will appear blank.
  • If the wrong form type is inserted (<plaintext> when it should have been <radiogram>), the file will open in Flmsg but the fields will not be populated.  The field prefixes are generally not the same from form-to-form.

Digital Communications in Amateur Radio: Conversational Digital Modes (PSK, RTTY, MFSK, Olivia)

This article appeared in the The Wood County Amateur Radio Club newsletter CQ Chatter February 2017 edition.

Read the rest of the series in the Digital Communications in Amateur Radio articles category.


Got a new rig for Christmas? How about working digital? The most popular digital modes in ham radio are conversational modes (keyboard-to-keyboard). Best way to describe these is the instant messaging or text messaging of ham radio digital modes. One station sends a message to another station. The other station does the same in return. Conversations can be about anything – the weather, where that person lives, traveling, or life stores – for as long as you want. These modes include (in order of popularity): PSK, RTTY, MFSK, and Olivia. All, except Olivia, are available on the W1AW digital operating schedule. Others will pop up on the bands from time-to-time too or you may choose to play around with a buddy using other modes.

For the popular flavors of these digital modes, I performed a transmit time test. The text was one paragraph of “Lorem Ipsum” with 83 words consisting of 569 characters. I recorded how long it took to transmit the message in minutes and seconds to compare the speed of each flavor. The results were close between equivalent modes. PSK-31 and RTTY-45, for example, took about 2 minutes. This indicates that the advantage is not necessarily in speed but which mode works better in a situation. Popular HF frequencies are also listed. There is a lack of consensus on some of the exact frequencies. It won’t be uncommon to hear these modes in other portions of the data sub-bands. Different flavors tend to operate on the same frequency to stir up activity.

Commonalities among conversational modes include the RSID (Reed-Solomon Identification) tones which universally identify a digital signal at the beginning and, occasionally, the end of a transmission. RSIDs are more popular on rarer and wider modes like PSK-63, MFSK, Olivia, and other rare modes. An RSID tone is about 170 Hz so announcing your PSK-31 signal at 31 Hz will interfere with other conversations.

It is common to give a signal report using the IARU RSQ reporting system. Like the RST system of “59,” RSQ adds an additional number “599.” These numbers stand for:

Readability (percentage of good text received):

  • 5: 95+%, perfectly readable.
  • 4: 80%, little to no difficulty.
  • 3: 40%, considerable difficulty and many missed characters.
  • 2: 20%, occasional words distinguishable.
  • 1: 0%, unreadable.

Strength (measure how strong the signal trace is on the waterfall, there are only 5):

  • 9: Very strong trace.
  • 7: Strong trace.
  • 5: Moderate trace.
  • 3: Weak trace.
  • 1: Barely visible trace.

Quality (measure of unwanted artifacts in the signal: pops, clicks, splattering, harmonics, and unwanted modulation):

  • 9: Clean signal.
  • 7: One barely visible sidebar pair.
  • 5: One clearly visible sidebar pair.
  • 3: Multiple visible sidebar pairs.
  • 1: Splattering over much of the spectrum.

Also brush up on CW shorthand as these are used in exchanges. Commonly used abbreviations: btu (back to you), k (any station may transmit), kn (specific station only may transmit), sk (done transmitting, clear), pse (please), de (this is).

Reminder: review the first two articles in the series for information that will be omitted here including some modes operate your transceiver at 100% duty cycle, use upper sideband (USB), and don’t drive the transmitter with too much audio as the signal will be wider than intended.

PSK

PSK-31 is the most widely used HF digital mode. It’s popular because of its narrow signal. PSK was at the forefront of the digital sound card revolution in 2000. It was discovered that ordinary sound cards and computers had enough power to become digital-to-analog converters. Peter – G3PLX created PSK-31 to perform well with weak signals and operate at a narrow bandwidth. In a perfect world, within 3 kHz you could potentially have nearly 100 individual QSOs happening at once.

PSK stands for Phase Shift Keying, the modulation method used to generate the signal. It’s a common mistake to believe that 31 stands for the amount of bandwidth the signal occupies. It does occupy 31 Hz, however 31 stands for the bit rate of 31.25. There are other flavors of PSK: PSK-63, PSK-125, and PSK-250 each less likely to be seen on the bands than the previous.

It might be observed that software applications may have BPSK and QPSK in their list of operating modes. BPSK stands for Binary Phase Shift Keying and QPSK Quaternary Phase Shift Keying. The differences between these two are significant. When people refer to PSK, 99% of the time they are referring to BPSK. QPSK is a better choice under adverse conditions because it adds a significant amount of error correction ensuring nearly 100% copy of the transmission during signal fade or interference. However, both stations need to be on frequency, within 4 Hz, for error correction to work correctly. It takes a lot more work for two stations to be in sync with each other using QPSK.

Some stations may request an IMD (Inter-Modulation Distortion) report. This metric can only be observed while the other station is in transmit mode but no text is being sent; idle in other words. The station might type a message saying they’re looking for an IMD report and leave it idle for 10, 15 seconds, or more. There will be a measurement on screen in negative dB; lower the negative number the better. Readings in the -25dB to -30dB rage are considered very good, -20dB or greater is considered bad. A bad reading is usually caused by driving the transmitter with too much audio.

Transmit test: PSK-31: 1:58, PSK-63: 1:00
Frequencies: 3580 kHz, 7070 kHz, 10140 kHz, 14070 kHz, 21070 kHz, 28120 kHz.

RTTY

After six decades of use by hams RTTY, known as Radioteletype, is still a very popular mode for contesting and DXing on the low bands. RTTY has a long history and HF digital operators are very comfortable with it. Many transceivers also have RTTY built in. This mode works better in decoding large pileups than other modes. RTTY is efficient in that it works at a speed of about 60 words per minute – which is about the fastest one person can type. Other modes are typically much slower.

RTTY is based off the Baudot digital code which represents each character as a series of bits for telephone or radio communication. W1AW will refer to RTTY as Baudot on their operating schedule. Looking at a RTTY signal on a waterfall, the 1’s and 0’s are represented by twin tones for the mark (1) and space (0) tones. The two data streams are separated by the shift or space between them. When people refer to RTTY, they will most commonly refer to RTTY-45 (baud) but 75 can be seen as well. Inverted RTTY flips the mark and space data streams.

Transmit test: RTTY-45: 1:53, RTTY-75: 1:09.
Frequencies: 3580-3600 kHz, 7040-7100 kHz, 14080-14099 kHz, 21080-21100 kHz, 28080-28100 kHz.

MFSK

Multi-Frequency Shift Keying, known as MFSK, is “super-RTTY” which uses multiple tones instead of the two used in RTTY. The most popular is MFSK-16 using 16 tones. MFSK was developed as a flexible point-to-point solution to combat multipath propagation problems. It is very good at detecting noise and reducing transmit errors with error correction all while utilizing low bandwidth. MFSK is slow to decode so be patient!

An exciting addition to some MFSK flavors is the ability to send small images. MFSK-16 can send images but not MFSK-8. A 320×256 sized color image took 4:26 using MFSK-16. It’s unlike Slow Scan TV where the software will size the image and overlay a template. The image needs to be fully prepared before it can be transmitted.

Transmit test: MFSK-16: 1:45, MFSK-8: 2:48.
Frequencies: 7072 kHz, 14072-14076 kHz.

Olivia

MFSK is good in poor band conditions but Olivia offers even better performance. Developed by Pawel – SP9VRC it is named after his daughter Olivia. It is called the JT65 of conversational modes because it’s incredibly slow but unlike JT65, it’s not a structured exchange.

There are different combinations of bandwidth and number of tones used, such as 500/16 is 500 Hz with 16 tones. Fldigi reverses these numbers for some odd reason and will read “Olivia 16 – 500.” Locking on to an Olivia signal may take 15 seconds. If the software is not decoding after that time, the bandwidth might be correct but the number of tones maybe wrong. For this reason, a call for “CQ” may take a minute or longer so stations can lock on and return a call. Be patient!

Olivia is great for poor band conditions because a trace may not be seen on the waterfall but a signal might be decoded! One example I share is a buddy of mine and I tried operating Olivia. We established contact and had strong traces on the waterfall using only 1.5 watts. We decided to compare it to sideband voice. We couldn’t contact each other on sideband until we were nearly up to 100 watts!

Transmit test: Olivia 500/16: 4:56, Olivia 500/8: 3:20.
Frequencies: 1835-1838 kHz, 3583.25 kHz, 3577 kHz, 7035-7038 kHz, 10141-10144 kHz, 14072-14075.65 kHz, 14106.5 kHz, 18102.65 kHz, 21072 kHz, 24922 kHz, 28122 kHz.

Software

I love and recommend software applications that are capable of operating multiple modes (multimode) using one application. This keeps the clutter down of installing multiple applications for each mode. The two I use are Digital Master 780 (DM780) as part of the Ham Radio Deluxe suite (http://ham-radio-deluxe.com/). This package is not free and only available on Windows. If that is out of your budget, then I recommend Fldigi (http://www.w1hkj.com/). It’s free, open source, and cross platform available on Windows, Mac, and Linux including Raspberry Pi. Both of these support many different modes and are constantly being updated and with newer modes.

MixW (http://mixw.net) and MultiPSK (http://f6cte.free.fr/index_anglais.htm) are alternatives and support most modes. There are specific mode applications like DigiPan (http://www.digipan.net/) for PSK and MMTTY (http://hamsoft.ca/pages/mmtty.php) for RTTY. Both are no longer maintained but are reported to work well with later versions of Windows. Other programs have known issues with versions of Windows later than Vista. Keep that in mind when trying older programs.

The software applications are similar in setup and operation. Exact labeling might be different from application to application. I am going to reference Fldigi, though not going in-depth with settings, it should get you started. Install Fldigi with the default options. A configuration wizard will appear the first time the application is started. Fill out all your station information. Select the sound card interface (USB Audio Codec for SignaLink). If the transceiver is using something other than the SignaLink for keying, select the appropriate radio and COM port for TX control.

There are many parts to the Fldigi window. Standard menu options are seen like “File,” “Op Mode,” “Configure,” etc where operating modes or Fldigi configuration can be changed. Below that is Radio Control and Logging. When using internal logging, you’ll want the frequency to be correct. Rig control will help greately to automatically log the correct frequency as you change the VFO. Below that is the tan box where received messages will be displayed as well as transmitted messages will be copied here. The blue box is the transmit window where messages are composed for transmitting. If you have a white box to the left of the transmit and receive panes, this is the signal browser. This will display all conversations taking place, using the same mode, on the same frequency at once! Below the transmit text box is a line of colored buttons which are macros. Macros are pre-populated and commonly exchanged texts so you don’t have to keep typing them (right-click the button to edit). Below that is the frequency scale in Hz and waterfall. Below the waterfall are the waterfall controls. The line below that are the status messages and readings. To the right of the waterfall are two vertical white and a gray bars which indicate the strength of the decoded digital signal and squelch setting.

Tune your radio to one of the PSK frequencies to get setup. 20 meters is better during the day and 40 at night. The waterfall should start turning blue and yellow. If it is black, check the audio paths between the radio and computer, verify the audio input is set correctly in the Fldigi setup. Radios with a main and sub-band often cause confusion as to which band sends audio to the computer. If there is blue and yellow but a lot of black on the waterfall, check and disable radio filtering. Pro tip: the waterfall is a great educational place to visualize the filtering changes of the radio.

Now from the menu select “Op Mode,” “PSK”, then “BPSK-31.” To select a digital signal on the waterfall, simply click on the waterfall and the cursor will move to that location. Signals under the cursor will be displayed in the receive pane. It’s important to move the cursor on screen and do not adjust the radios VFO. Once a strong PSK signal is selected, you’ll notice the white squelch bar fills with green. The green needs to be above the light gray squelch slider to break squelch and decode. This is the first place to look if the cursor is over a signal but it is not decoding. Having the squelch set too high will miss decoding weaker signals and having the squelch too low will produce a lot of garbage text in the receive window. If a specific signal is strong but not decoding, the signal could also be multipathing, thus confusing the program. Watch conversations a good while to make sure you understand how the program works and for conversation syntax. Many programs have a “Signal Browser” or “Signal Sweeper” (DM780) which will decode multiple conversations at one time! In Fldigi, this can be broken out in a separate window under the “View” menu option.

Someone calling CQ will send CQ two-three times. I am K8JTK and Steve – W8HF will be the other station in these examples.

CQ CQ CQ de K8JTK K8JTK K8JTK
CQ CQ CQ de K8JTK K8JTK K8JTK

Repetition is good for weaker stations that might miss a letter or two. A responding station may respond with: K8JTK K8JTK de W8HF W8HF pse kn.

The two stations might begin the exchange using macros. These are good conversation starters. Macro messages typically include age of the operator, when they were licensed, radio and antenna, digital software program (Fldigi), computer operating system, physical location, etc, etc. This macro is called the “Brag” macro because you brag about your station. Beware though, for slower modes like Olivia, it can take a LONG time to send the same macro that takes seconds using PSK. The two stations could conclude the exchange or go back and forth typing out messages using the keyboard.

When receiving a message from another station, the responding station can begin typing a response in the blue transmit window even before the other station has finished transmitting. Always begin with something like “W8HF de K8JTK” so the other station knows you are responding to them, then continue with your message. If you’re conversing with a station and they don’t respond back after your message, they may have lost your signal, their program crashed, or became distracted. I typically wait 30 seconds – 1 minute and try a quick call back to the other station: W8HF W8HF W8HF de K8JTK K8JTK K8JTK, did I lose you? W8HF de K8JTK pse kn. I’ll try this 2-3 times and if they don’t return, I’ll log the QSO and move on.

End of transmissions should conclude with something like “btu Steve W8HF de K8JTK pse kn” noting the station is turning it back over to the other station. Concluding the conversation will end with something like: thx for QSO Steve, 73, W8HF de K8JTK sk. Other stations will end with a similar macro that includes their QSL information or when they upload their logs.

To transmit CQ, find an open space on the waterfall and click to bring the cursor to that spot. Tones will be generated in the same place as the cursor on the waterfall during transmission. Tune up on frequency and call CQ using the “CQ” macro. Some macros start and/or stop transmitting on their own. The “T/R” button under the waterfall is your best friend to start or stop transmitting. Some of the macros have the sequence “^r” at the end. This is an Fldigi command to change from transmit mode to receive mode aka transmission complete. This can be typed in manually at the end of messages too. PSK Reporter (http://pskreporter.info/) can be used just like JT65 to see how far you’re reaching.

Logging is fairly straight forward. RTTY and Olivia are logged as their respective mode only. BPSK is logged as PSK31, PSK63, etc. QPSK31, MFSK8, and MFSK16 are all logged as listed. If an RSQ was exchanged, log it accordingly. IMDs for either station can be recorded in the comments for future reference.

One idiosyncrasy with Fldigi: the position of the cursor in the transmit pane is critical. Fldigi will remain idle during transmission until the cursor is moved further down or moved to the end of the message. Many people are confused by this behavior and other programs don’t seem to follow this convention. For example if you had a sentence with “this that” and positioned the cursor after “this,” characters before the cursor will be transmitted until the point of the cursor was reached. The word “this” would be transmitted then Fldigi will remain idle in transmit mode until the cursor is moved. When moved, “that” will be transmitted until the program reaches the cursor again. Position the cursor at the end of the message during transmit and all will be well.

That’s it. These conversational modes are very open and very free form. Contesting will have a structure but casual operating is very informal. This outline can lead to operating other modes like Contestia, Thor, Throb, MT63, or Hell. Yes “Hell,” short for Hellschreiber, is a facsimile based mode where there is a reason everything is printed twice.

Find out more information:
“PSK31: A New Radio-Teletype Mode” by G3PLX: http://www.arrl.org/files/file/Technology/tis/info/pdf/x9907003.pdf
“Get on the Air with HF Digital” book: https://www.arrl.org/shop/Get-on-the-Air-with-HF-Digital
“RTTY/PSK31 for Radio Amateurs” book: https://www.arrl.org/shop/RTTY-PSK31-for-Radio-Amateurs-2nd-Edition/
“Nifty E-Z Guide to PSK31 Operation” book: https://www.arrl.org/shop/Nifty-E-Z-Guide-to-PSK31-Operation/
“How to get started with PSK-31 Ham Radio” by K7AGE on YouTube: https://www.youtube.com/playlist?list=PL8D7C6EBD6E2081E2

Digital Communications in Amateur Radio: JT65 and JT9

This article appeared in the The Wood County Amateur Radio Club newsletter CQ Chatter August 2016 edition.

Read the rest of the series in the Digital Communications in Amateur Radio articles category.


My favorite digital mode has to be the “JTs” otherwise known as JT65 and JT9. Many have equated them to watching paint dry. Others call it the musical mode. I call it my ADD mode. Whatever you call ’em, JT65 has become one of the most popular digital modes second only to PSK. I call it my ADD mode because I can browse the web, watch TV, or write this article during the 7-minute exchange. But you better pay attention because it can still keep you on your toes!

JT65 and JT9 began with Nobel Prize Winner Dr. Joe Taylor – K1JT. One of Dr. Taylor’s passions was weak signal communications and moonbounce (EME). A signal is sent toward the moon at about 1.5 kW on VHF using large directional antenna arrays. The signal is reflected off the moon and received by an equally powerful station with large arrays. After the signal makes the 500,000 mile round trip, there wasn’t much left. CW was the only effective mode. In 2001, K1JT came up with JT65 which allowed hams to make Earth-Moon-Earth contacts with 150 W and 11-element beam antennas. Still not exactly easy but it made EME a possibility for many more hams. Years later it was discovered that JT65 works great on the HF bands too. It allows stations to make contacts without high power or gain antennas. This is perfect for hams that cannot have large or visible antennas. Over time, JT9 was added specifically for the LF, MF, and HF bands (“Work the World with JT65 and JT9”).

It’s not my intention to dive into the technicals of any mode but to give hams practical operating information. When talking about JT65 almost all information applies to JT9 as well. Both are highly time-synchronized. The computer’s clock must be as accurate as possible and within 2 seconds of other stations. One minute transmit and receive sequences are utilized. Transmitting happens within a one-minute window then the roles are reversed for the following minute. Stations begin transmitting 1 second after the beginning of the minute and stop 47.7 seconds later. In the remaining 11.3 seconds applications decode received signals, display them on screen, and receiving stations get their message ready to transmit. The total exchange takes about 7 minutes. More if the message is lost or not decoded. Being such a robust protocol doesn’t leave room for long messages meaning it’s not a conversational mode. The maximum message length is 13 characters with the intent of limiting the exchange to call signs and signal reports. Below is an actual exchange. The first column is the time, second is the exchange, third is the exchange translation. Exchange beings at 01:00 UTC and completes at 01:07. In messages with two call signs, the receiving station is to the left and the transmitting station to the right.

0100 CQ K8JTK EN91
I’m calling CQ from grid square EN91.

0101 K8JTK K5ND EM12
K5ND is returning my CQ from grid square EM12.

0102 K5ND K8JTK -01
I reply to K5ND with his signal report of -1 db (RST Sent).

0103 K8JTK K5ND R-05
K5ND responds with my signal report of -5 db (RST “R”eceived).

0104 K5ND K8JTK RRR
I respond with “roger-roger-roger.”

0105 K8JTK K5ND 73
K5ND responds with best wishes.

0106 K5ND K8JTK 73
I respond with best wishes.

Differences between JT65 & JT9 are bandwidth and signal reports. JT65 takes up just under 180 Hz and about 16 Hz for JT9. JT9 is much better for spectrum efficiency and uses less power due to narrower bandwidth. The JT65 sub-band can often be seen with multiple overlapping signals and they usually decode correctly. JT9 can have ten-times the signals but decoding of overlapping signals is much less likely to happen. Signal reports range from -1 to -30 db signal-to-noise in JT65. The lowest I’ve seen is -27. They are capped at a -1 db upper limit to keep somewhat consistent with EME reports. JT9 is extended to give more accurate signal reports with a range from -50 to +49 db. The limits I’ve seen are -27 and +15. Propagation is comparable between the two modes. JT65 is the overwhelming favorite of operators.

JT65 & JT9 have their own sub-bands. Below is a listing of those frequencies. JT9 is typically 2 kHz above the JT65 frequency. USB is the mode regardless of band.

JT65 JT9
1838 1838
3576 3578
7076 7078
10138 10140
14076 14078
18102 18104
21076 21078
24917 24919
28076 28078
50276 50278

Software is available on all major platforms. Ham Radio Deluxe is expected to include JT65 in the very near future.

Windows:
JT65-HF (http://jt65-hf.sourceforge.net/). It’s very reliable and I’ve only noticed one issue where free hand text doesn’t always transmit. This is the old standard but no longer in development.

JT65-HF-HB9HQX-Edition (http://jt65hfhb9hqxedi.sourceforge.net/). This is the replacement for the above. It’s built on the same code-base so look and feel are similar. The developer has implemented many new useful features. I recommend using this one for newcomers.

Windows/Mac/Linux:
WSJT-X (http://physics.princeton.edu/pulsar/k1jt/wsjtx.html). Software released by K1JT. This seems to give the most accurate signal reports. It’s the only program that currently implements JT9. WSJT-X is the program that I use.

WSJT-X Conversation
WSJT-X application showing QSO with XE1SAX

Application setup is fairly straight forward. In the setup, enter your call sign and grid square. If you don’t know your grid square, check QRZ or enter your address on: http://www.levinecentral.com/ham/grid_square.php. Choose the correct sound input/output devices. Configure Rig Control/PTT if needed. Rig Control is not required but helpful when using the internal logging methods.

Before starting any of the applications, ALWAYS sync your computer’s clock with the Internet. In Windows, go to the Control Panel, Date and Time, Internet Time tab, Change settings, click Update now. Most Linux distributions need to invoke ‘ntpdate.’ One feature of the HB9HQX version is automatic time syncing every 15 minutes.

All programs have the same general layout and operate in the same manner. They have a waterfall showing signals received and display markers indicating active transmit and receive windows. These can be moved by clicking on the waterfall.

Conversational buttons and boxes are often labeled Calling CQ and Answering CQ. These buttons automatically generate text during the conversation (following the standard exchange format). Free Text/Message is for free hand text. Other buttons will enable and disable transmitting. Halt will interrupt the transmission midway through. Even/odd indicates which minute you will transmit (only applies to calling CQ). It has no effect when answering a CQ because the software will transmit in the next minute.

The Signal Decoding window is the most important because this is where all conversation exchanges are displayed. A couple labels are seen: UTC – time the signal was decoded, Sync – measurement of the sync signal — higher the better, DT – time difference between decoded station and yours — should be less than 2 seconds, DF – frequency deviation above or below the center point in Hz, and finally the Exchange or Message text. Colors are frequently used to distinguish items of importance. Green is a station calling CQ, red is a message/exchange intended for your station (contains your call sign), gray is exchanges between other stations.

Luckily the software takes care of much of the exchange. It generates response messages by double-clicking a received line. Stations that don’t follow the standard format can easily confuse the software. This is where it will keep you on your toes. If you’re not careful you can end up sending a message twice or not properly advancing to the next message in the exchange. The software does not automatically advance the conversation for you. If things go off the rails, use the appropriate conversational button to get things back on track.

The Free Text field can be used for noting your power, antenna, or sending holiday greetings. These messages are often in place of the 73’s and will not show up in red because no call signs are included. You may see “30W DPL” (I’m running 30 watts into a di-pole antenna), “50W LOOP” (I’m running 50 watts into a loop antenna), “THX 4 NM” (we’ve worked before, thanks for the contact using a new mode from previous contacts), “THX 4NB” (we’ve worked before, thanks for the contact on a new band), “SRY/SRI NO DECODE” (I see a signal on the waterfall but it did not decode) you’ll see this one but it’s not commonly used, “MERRY XMAS” –you get the idea. It’s only 13 characters. Be careful not to baffle the user and you have to be quick. There are some I’ve received that I still have no idea what they mean.

In the JT’s it’s ether a clean decode or nothing at all. No in between. When I see a signal on the waterfall and the message doesn’t decode, I always send my last message again. Some stations will not transmit in the following minute. Other stations (wrongly) move on in the conversation. Then I have to use free hand text to send “SIG RPT?” or similar because I didn’t receive my signal report. At minimum, I make sure RSTs (reliability – strength – tone) have been exchanged and won’t log the contact until “RRR” has been sent/received. Some QSLs I received go as far to log the DF frequency. I’ve only logged the center frequency.

After you feel comfortable monitoring activity, double-click a green “CQ.” The Generated Text field will update with your call sign, their call sign, and your grid square. You’re off! Also, refer back to article two for station/DSP/audio setup. I’ve seen some of the worst over modulated signals on JT65. JT users are really good about uploading spots to PSK Reporter (https://www.pskreporter.info/pskmap.html). You can use it as a ‘reverse beacon’ network to see where your signal is propagating.

PSK Reporter Spots
PSK Reporter application showing received stations worldwide

It’s a lot to take in but an extremely fun mode to work. Find out more information:

Amateur Logic.TV on JT65: https://youtu.be/L7e5NbqhbVU?t=28m10s

QST article: http://www.arrl.org/files/file/Get%20on%20the%20Air%20with%20HF%20Digital/FORD%20JT.pdf

PowerPoint introduction: http://www.arrl.org/files/file/Get%20on%20the%20Air%20with%20HF%20Digital/Getting%20Started%20with%20JT65%20on%20the%20HF%20Bands.pps

“Work the World with JT65 and JT9” book: http://www.arrl.org/shop/Work-the-World-with-JT65-and-JT9/

APRS RX IGate with RTL-SDR and Raspberry Pi

For sometime I wanted to experiment with an APRS IGate. Coverage was spotty at best in my area. There is an IGate in my city but it doesn’t receive so well. Recently there have been more IGates blanketing the area.

APRS stands for Automatic Packet Reporting System and has been developed since the late 1980s by Bob Bruninga – WB4APR. It’s a digital communication mode amateur radio operators use to primarily broadcast location information, though this wasn’t the intended use. It handles text messages, alerts, announcements, bulletins, and information of interest like weather station reports. APRS operates typically on a single frequency.  A system of relay stations and digipeaters repeat messages over a wide area. APRS Internet System (APRS-IS) are Internet connected receivers (IGates).

Any ham can add an icon or information to the APRS map.  The information is available on the Internet or to users on the local RF network.  Data is automatically tracked over time. APRS is frequently used to track mobile stations in a public service event or volunteers in a search and rescue event to visualize locations and track progress.

This project will utilize the Raspberry Pi and RTL-SDR dongle. The Raspberry Pi is a credit-card sized micro-computer intended for teaching computer science to students but became popular with the makers. RTL-SDR dongles are DVB-T (European standard) TV tuner dongles. It was found the signal data could be accessed directly which allowed them to be converted into wide band software defined radio receivers. The Pi costs about $35 and RTL-SDR about $20.

Since the RTL-SDR dongles are meant to receive high power wide bandwidth TV signals, they are not as a sensitive or frequency stable as a ham radio or scanner. Receiver performance will be a little less than an equivalent radio performing the same task but depends on the usual variables: amount of APRS activity, antenna height, antenna gain, propagation, etc, etc. With my antenna about 15 feet high, I get about 5+ miles of coverage. With band openings I’ve heard stations on the opposite side of town and across Lake Erie into Canada.

Even though this IGate will be non-transmitting (cannot relay packets from the Internet), packets are forwarded to APRS-IS. The higher profile – higher power Digitpeaters in the area will relay packets received by your IGate to the local RF network.

Assumptions

This guide is step-by-step in nature, meant for beginners, with brief explanations of the steps. It will help to have an understanding of Linux commands and scripting. Capitalization is important in Linux!

My setup is on my home LAN. The IGate could be installed at a remote site using a shared Internet connection. Be aware that firewalls that might block connection to the APRS-IS network on a shared connection. You may want to request or have port 22 open on your router for SSH to establish a remote connection.

If all wired options fall through, look for a cellular hotspot device such as a MiFi to install along with the Pi. Use the built in WiFi on the Pi 3 or approved WiFi dongles for earlier Pi devices. Associate the MiFi with your Pi (turning on WPA2 so no one else piggybacks on your connection). Test the setup before installing it. Don’t find out after leaving the site that the MiFi times out after a few hours.

Program versions

Applications and versions used in this writeup:

  • Windows 10 64 bit
  • Raspbian Jessie 2016-05-27
  • Win32 Disk Imager 0.9.5
  • PuTTY 0.67
  • SDR Sharp 1.0.0.1444
  • RTL-SDR 0.5.3
  • Multimon-NG ?
  • Pymultimonaprs 1.3.0

Parts list

Listed below are all the parts needed to get this project working. It is noted when items can be left out or substituted.

That’s all the parts needed for this project. Check out the AdaFruit Raspberry Pi page for other hardware that might be useful, like the USB to PS/2 adapter for example. Many of these parts are included in the Raspberry Pi Starter Pack.

Running Fldigi Flmsg and Flwrap on the Raspberry Pi 2

With the popularity of the Raspberry Pi and the growing need of NBEMS, I wondered if it was possible to run NBEMS programs on the Pi. This maybe of interest to those who want to make a Go Kit (box) with digital or a club wants to replace older computers in their operations center with more efficient devices.

Fldigi is the program used and developed for Narrow Band Emergency Messaging System, but it does so much more. It’s also the standard for many Ham Radio operators because of the number of modes the software will operate.

Fldigi stands for Fast Light Digital modem application created by W1HKJ (David Freese, Jr.) and associates. Flmsg is a forms manager with standardized forms like MARS, plaintext messages, Radiograms, Red Cross, and Weather report forms. Flwrap is a file encapsulation and compression tool allowing for reception of a file exactly like the original.

The Fldigi application is open source, public license software meaning it’s free and available for auditing. With the source code available for Linux, I wondered if it was possible to compile the application on the Raspberry Pi.

At first I had some problems with the project. After (wasting) alot of time on it, I had given up. Only to find out the power supply I had been using was the cause of the issues.

Requirements

Work with my SignaLink USB. As a standard with my projects, the Pi can administered through SSH and VNC if needed. On Windows, I use PuTTY and TightVNC.

Assumptions

This guide is step-by-step in nature, meant for beginners, with brief explanations of the steps. It will help to have an understanding of Linux commands and scripting. Capitalization is important in Linux!

Check my other posts for setup guides on using your radio interface (though written for Windows) and Fldigi, Flmsg, and Flwrap.

Program versions

Applications and versions used in this writeup:

  • Windows 7 64 bit
  • Raspbian Jessie 2015-09-24
  • Win32DiskImager 0.9.5
  • PuTTY 0.65
  • TightVNC 2.7.10 64 bit
  • Fldigi 3.23.04
  • Flmsg 2.0.12
  • Flwrap 1.3.4

Build times

I did a face off for build times between the later model Pi versions: B+, 2, and 3. Later iterations will be faster. The results are in the format of the Linux command time, which contrary to it’s name does not set the time. It gives statistics about this program run. They consist of the elapsed real time between invocation and termination, the user CPU time, and the system CPU time. Later versions than listed above were used in this face off: Raspbian Jessie 2016-05-27, Fldigi 3.23.10, Flmsg 3.0.0, Flwrap is the same at 1.3.4.

Raspberry Pi B+

Failed. Apparently there is an issue running the Make command for Fldigi with versions later than the ones I originally used in this writeup. By the error messages this is an internal g++ compiler error. Make does not fail on the Pi 2 and 3 which probably means it’s a hardware issue (out of memory).

The error is “Warning: partial line at end of file ignored” for dialogs/fldigi-confdialog.o.

Raspberry Pi 2

real 21m49.783s
user 72m9.970s
sys 2m39.290s

Raspberry Pi 3

real 12m50.129s
user 42m8.980s
sys 1m19.160s

Parts list

Listed below are all the parts needed to get this project working. It is noted when items can be left out or substituted.

That’s all the parts needed for this project. Check out the AdaFruit Raspberry Pi page for other hardware that might be useful, like the USB to PS/2 adapter for example. Many of these parts are included in the Raspberry Pi Starter Pack.

If the Pi is setup where there may not be Internet, want to consider purchasing a Real Time Clock (RTC) addon. The Pi will keep time after power has been removed. Of course the time would just have to be set each time.

Flmsg custom forms

In order for custom forms to be used in Flmsg, version 2.0.17 or later must be used. There was a bug in previous versions that didn’t allow the forms to be parsed correctly. In addition, another browser needs to be installed as the default is unable to connect to the webserver created by Flmsg. Thanks to Ken – W0KAH for determining this issue and getting it resolved with the program author.

Linux package installer

The version available from the package manager could be installed but that version is several revisions behind which won’t have the latest enhancements. Some repositories don’t have Flmsg and Flwrap which makes it hard for NBEMS operation.

sudo apt-get -y install fldigi

sudo apt-get -y install flmsg flwrap
If it doesn’t work, you’ll get a message like:

E: Unable to locate package flmsg

P25 Trunked Tracking and Decoding with RTL-SDR, Unitrunker, and DSDPlus

The project that got me really into experimenting with the RTL-SDR dongles is using them to decode P25 digital trunked public service radio systems.  I have been a casual scanner listener for years and like to listen to emergency calls nearby.  In college it was great to listen in on a party weekend hearing fights, disturbances, or why my street suddenly filled with cars at 3 AM.

Narrowbanding

That was when most agencies were analog.  To get more use out of the radio spectrum, the FCC decreed a narrowbanding mandate requiring a “maximum of 12.5 kHz bandwidth across the private land mobile bands between 150-174 and 421-512 MHz.”  This means going digital for much of that radio spectrum because traditional FM transmissions are 15 KHz.  Ironically they will “go digital” but move to 700/800 MHz.

As a casual listener, I wasn’t exactly thrilled with spending at least $500 for a scanner capable of digital (P25 mostly) and trunked system tracking (also Radio Reference wiki).

$40 RTL-SDR trunked scanner

Lurking around the Radio Reference forums, I saw references to being able to use the RTL-SDR dongles for trunked digital decoding.  I had to try it.  I had played around with these dongles and read about the many projects people were doing with them.  In actuality this project cost me $65.

About the project

You will need at least two RTL-SDR dongles ($20/each) and a copy of Virtual Audio Cable ($26).  I already had a premium Radio Reference account.  You can do the project with one dongle but you loose many features in Unitrunker like talkgroup priority.  Theoretically, the single dongle listens to the system control channel and then tunes to voice calls, then back to the control channel.  You will miss calls because that notification comes across the control channel while the dongle was tuned to a voice transmission.  I will cover a two dongle setup and do not plan to cover a single dongle setup.

This project is still very complicated but it is MUCH easier than it used to be.  This manly thanks to Rick, the developer of Unitrunker who implemented support for the RTL-SDR chipset in his program.  Previously, there needed to be a plug-in for both Unitrunker and SDRSharp, there were all kinds of “moving parts.”  In one respect, being able to see the signal waveform on a spectrum analyzer made it much easier to fine tune the PPM correction on-the-fly as opposed to guessing on a modulation scope.  This setup is much cleaner and the Unitrunker developer has implemented advanced features like drift correction.  It will take some time and patience to understand, research, and know the types of systems and system specifics.

There are some advantages like cost and being software based.  Changing modulation types is often as easy as changing programs.  As an example, DSDPlus will decode MotoTrbo as opposed to no standalone scanner being able to do so currently.  However, portability of this setup is limited as you have to have many pieces of equipment with you.  You’ll need an Internet connection to find sites to program and a PC to tweak settings.

Two very specific and key things to note about trunked radio systems in general:

  • You cannot tell the tower your’re listening to which talkgroup you want to monitor.  Doing so would require the ability to transmit and IS ILLEGAL because you are not authorized to do so.  If the talkgroup is not transmitted by the tower, you’re out of luck.  You can’t be in Dayton and tell the system you want to listen to a talkgroup originating from Cleveland.
  • Nothing here (and no program I know of) will defeat encryption, even if you own the keys.  Decoding encrypted transmissions is not implemented in any of these programs.  On the flip side, be aware that using this tutorial and feeding the audio to Radio Reference and Broadcastify may not make agencies happy.  You could get a take-down notice or even worse, it is trivial to turn on encryption at the system level and you just blocked reception for all scanner listeners.

Thanks to those whose tutorials I first used getting this setup working: $20 trunking police scanner and RTL-SDR Tutorial: Following Trunked Radio With Unitrunker.

Program versions

I used a Windows 7 64 bit PC. Applications and versions used in this writeup:

  • SDRSharp: 1.0.0.1330
  • Virtual Audio Cable: 4.14
  • DSDPlus: 1.51
  • UniTrunker: 1.0.30.10

Parts list

Listed below are all the parts needed to get this project working.

  • Computer with some processing and memory horse power.  It is recommended to have a computer with a recent Intel Core i5 processor and 8GB of RAM, or better.
  • Receive antenna that covers 700 & 800 MHz where P25 trunked usually resides. For an external antenna, splitters and coax runs maybe needed.  The stock RTL-SDR dongle antennas worked fine for me.
  • Two RTL-SDR Dongles.  To decode more than one voice transmission, increase the number of dongles needed.
  • Virtual Audio Cable.  Not free but trial version available.
  • Radio Reference account.  Premium account.  If you don’t want to fork over the money, become an audio feed provider.
  • Recommend a USB hub.  Couple years ago I picked up a Rosewill RHUB-300 USB 2.0 Hub 7-Port HUB.  I recommend this hub because when the dongle is plugged in, the antenna connector is pointed up.  This makes it easier to connect an adapter and a Pryme RD-98.  If available, connect the hub to an Intel USB chipset on your motherboard.  I’ve had far less issues using Intel based hardware.