Getting Started

Thank you for using JJRadio. This program is used to monitor and control amateur radio equipment. It is primarily designed for use by blind amateur radio operators.

JJRadio is optimized for use with a braille display, preferably one with at least 40 cells. I originally wrote this program because I do not like listening to a speech synthecizer while trying to listen to the radio! With the program, I am able to turn my synthecizer off, and just use the braille display to monitor the rig and do the logging.

Note that JJRadio does not use braille or speech directly, rather it relies on your screen reader to manage those devices.

The Pan Adapter function of JJRadio really requires a braille display, and will not work well with speech.

Also, when used with an Elecraft rig, a braille display makes it much handier to read the VFOA and B displays while accessing memories, for example. In fact, if using an Elecraft rig, and you don't use a braille display, I recommend using the Ham Pod instead of JJRadio.

When JJRadio starts up for the first time, you'll see a welcome screen. From here you can either read the documentation, configure JJRadio, or exit. If you exit JJRadio without configuring it, you'll see the Welcome screen again when you next run the program. It is recommended that you read the documentation first, but then you're doing that now.

When you configure JJRadio, you will be asked to enter some information about yourself, the path to your log file, and your rigs.

The first screen asks for your full name, handle, QTH, and log file. For your QTH, something like "City, ST" is recommended, e.g. "Austin, TX", without the quotes.

You are then asked for your license class. This may be none, novice, technition, general, advanced or extra.

Following this is a button entitled "Log Characteristics". You can press this to specify a log file and its characteristics, or you can elect to wait til later. Log characteristics is discussed later in the section on log characteristics.

Following this, you can specify your braille display size in cells. The default is 40.

Leave the "Default Operator button checked, and press the Add button. You will be taken to the Rig Information dialogue.

Here you are asked for information about the radio you'll be using.

The Rig Name is just a name used to reference the radio.

The Model is selected from a list box. The model selection determines the communication parameters you can specify. For most models, such as TS-590, you can only select a com port and baud rate. The other communication parameter values, such as the number of data bits, are fixed. For the TS-930, even the baud rate is fixed.

The generic rig model should only be used if you wish to use JJRadio to investigate an unsupported radio. The only thing you can do with a generic rig is send commands to the radio and observe the raw output from the rig. The generic type is not intended for general use.

You next select a com port from a list of ports available on your system. Thus the Com port you intend to use should already be set up. If not, you can cancel out of here and come back to this setup dialogue later from the Actions menu.

The baud rate is configurable for most radios. Unless you've changed the baud rate at the rig, you should accept the default value shown.

You'll likely want the first rig you enter to be the default rig, but that's not required. However, you are required to provide a default rig. You may now click the "Add Another" button or the "Last one" Button. In any case, you must have defined a default rig when finished.

You're now ready to start enjoying JJRadio.

Port COMx didn't open

If the serial port isn't connected, you'll get a message telling you that the port didn't open. You have three choices, abort, retry, or ignore. If you click "abort", JJRadio terminates immediately.

If you click "ignore", JJRadio keeps running, but checks periodically to see if the port has become available, and if so, you'll see the meter and frequency displayed. You might do this if you just haven't plugged the serial or USB cable in yet, but plan to soon, or perhaps you don't have the cable plugged in, but just want to look at the log.

If you click "retry", JJRadio tries to connect again. You will probably do this if you've now plugged in the cable.

The main window

The main window is composed of several fields. These vary according to the operating mode. There are however 5 main fields. The first is the meter and frequency display. The second is the operating mode, (e.g.) USB. This is followed by several fields which largely depend upon the mode, although some are always there. These are discussed in somewhat more detail in the Other screen fields section. Finally there are always three fields present at the bottom, "receive text", "sent text", and "status". The "received text" field is currently only used to display direct command output discussed later. When in CW mode, typing text into the "sent text" field will send the characters if your rig supports it. The last field is a "status" field. Upon startup, JJRadio reads some information from your radio, and this will display the progress. It also shows "Power on" or "Power off".

There are some predefined keyboard commands that make it easier to navigate the main window.

Function key 1 is used to list all the keyboard commands. Press escape to exit this display.
This takes you to the main frequency display from any field in the main window.
F3 takes you to the "received text" field from any field in the main window.
This takes you to the "sent text" field from any field in the main window.
In general, the escape key exits a window, except for the main window.
Exit JJRadio from the main window.

The Meter and Frequency Display

The meter and frequency display is the first item on the main window, and where you'll want to be focused on for most operation. It is actually one text box, so it shows up as one field, and works very well with a 40-cell braille display. It is good to learn this display, as information is maximized, and there are no field prompts or headers.

I'll begin by just showing some typical output from my TS-590, and describing the information shown. Then I'll go into detail about the various fields.

Note that the left-most 2 characters are rig dependent, and are blank for the TS-590.

   7   A  7.028.420

This shows the rig on 7.028.420, using VFO A. The meter is reading s-7, so I've got a pretty good noise level.

Also, if I hit the tab key, I'll show the mode as CW.

   7   A  7.028.420  +r40

This is the same as above, except now the RIT is on, and set to +40 hz.

   7   A  7.028.420         -x40

Here the XIT is on and set to -40.

  10   m  1  7.200.000

Here we have an "M" in place of the VFO, which indicates a memory channel is active. In fact, it's channel 1, at 7.2 MHZ.

Also note the s-10, which means s9 plus 10.

   8  VA  7.200.000

Now we've set VFO A to the memory channel, but we've turned on the Vox! It's very important to note when the Vox is on, especially on LSB, which is our mode as I can tell by tabbing to the mode.

   7 SVA  7.200.000

Now here, not only is the Vox enabled, but the VFOs are Split! Ok, I'll admit it, I've accidentally transmitted on an unintended frequency, because I didn't pay enough attention to whether or not my VFOs were split.

Finally, notice that the frequency is shown in the form mm.kkk.hhh, MHZ, KHZ, HZ.

Now let's turn off Vox and Split.

   7   A  7.200.000

As I turn the dial I can watch the frequency change.

NOTE: If you're using JAWS 14 and above, you will need to uncheck "Enhanced Edit Support" to get the continuous frequency display to work. Versions prior to 14 don't have this problem. To uncheck this, use JAWSKEY-F2 and select "Settings Center". Search for the word "Enhanced", and uncheck "Enhanced Edit Mode".

Now for the cool stuff you can do from the keyboard. I'll admit this is easier with a braille display. I can use the cursor routing with my Pacmate 40 display.

First, place the cursor on a digit of the frequency, and use the up and down arrow keys to change it. For example, if you place your cursor on the right-most KHZ digit, and cursor down 5 times, you'll be on 7.195. If you place your cursor on the 7, the MHZ digit, and cursor up once, you'll be on 8.200.

Ok, go back to 7.200 please.

Now place your cursor on the A, for VFO A. Press the space bar, and notice you switch to the next VFO. Assuming you have two VFOs, you'll get back to VFO A on the next press. You can also change with the up and down arrow keys.

Now press the "M". You should now be in memory mode. In my case, it'll be on memory 1 at 7.200.

Now place your cursor on the memory number, and go through the memories with your arrow keys. You'll note that only the active memories are shown. Empty ones are not.

Now place your cursor back on the "M", and hit the "V" key. This will switch the last-used VFO to the memory you were at, and you're back in VFO mode.

Here's the list of fields that have associated key functions:

TS-2000 PTT Icon function or K3 subreceiver
For the TS-2000 and K3, this is the left-most character on the frequency display. For the TS-2000, it is either an "m" or "s", depending upon the position of the PTT icon. If "m", You'll be transmitting on the main frequency; if "s", you'll be transmitting on the sub-receiver frequency. Note that if you change this value with the up or down arrow, the next field to the right matches the new value.

For the K3, this value is either an "m" or "s" depending on whether the K3 subreceiver is active.

TS-2000 CTRL Icon function
For the TS-2000, this specifies whether the control is on the main receiver or sub-receiver. This will change independently of the PTT Icon.
Two spaces to the left of the VFO.
One space left of the VFO.
Usually an "A", "B", or "M".
Shown as mmm.kkk.hhh.
offset direction (TS-2000)
Immediately to the right of the frequency. Active when in FM mode on the TS-2000 only.

Hopefully this has given you a good sense of the main frequency display. I find it very useful, and it has really improved my radio's usability!

Other screen fields

If you tab to the field following the main frequency display, you'll be at the Mode field. This shows the operating mode, and the mode can be changed with the arrow keys. Many of the following fields are modified using the arrow keys. I won't discuss each field in detail here, because they're somewhat rig dependent. It is certainly worth mentioning though that many of the fields that follow the mode are themselves mode dependent, and only fields relevant to the current mode are shown. Also, it is possible to access most of these fields using the Screen Fields menu.

K3 Screen Fields

The K3 relies more heavily on its VFO-A and VFO-B fields than do other radios. The screen fields that follow the main frequency display, for the K3, are largely binary values, such as switch settings, followed by the VFO-A and B displays.

To set the electronic keyer speed, for example, you should focus on the VFO-B display, and then rotate the knob that changes the speed. The same is true with other numeric settings such as the power and compression levels.

The Rig's Memories

Memories for Kenwood Rigs

When you start JJRadio, the Kenwood rig's memories are loaded into your computer's memory from your radio. This allows JJRadio to know what they are without having to query every time. The memories are loaded in numerical order with one noteable exception. If you, using your radio's controls, go to a memory, or are in memory mode at poweron, that memory is loaded immediately. If you then change to another channel, that new memory is immediately loaded. Thus the memories are loaded sequentially or on demand as needed.

JJRadio has a memories dialogue accessed with the ctrl-M key sequence by default. This dialogue cannot be accessed until all the memories are loaded. The status field, the last field on the screen, displays "memories are all loaded" when that is the case. If however, you try to use the memories dialogue beforehand, you just see a message telling you the memories aren't loaded.

This dialogue displays a list on the left and a bunch of memory fields on the right. You are initially placed in the memories list, at the memory your radio is set to, or was last set to.

At the top of the screen is a button that initially says "Include empty memories". You can get there easily with a back-tab. By default though, only used memories are shown. If you click this button though, it'll then say "Only used memories", and all memories, used and empty, are displayed. If you plan to add a new memory, it is necessary to have the display include empty memories.

You can navigate the memory list with the arrow keys or the page up/down keys. Each list item shows the memory number and either the memory's name, or the frequency if it has no name, or the word "empty" if it's empty. The fields displayed to the right reflect what's in the currently selected memory, and you can tab through them. For example, that memory 1 on my rig, mentioned above, will show 7.200 as the frequency, LSB as the mode, etc. The list item for it shows "001 7.200.000", since it has no name.

On the bottom of the screen are some buttons.

If you've modified data in the memory's fields, click Change to make the change. If you go to another memory or exit the dialogue without pressing the "change button, no change is made.
Set from VFO
As the name implies, this sets the selected memory from the VFO(s). If the memory is not empty, you'll be asked if you want to overwrite it.
This deletes, or emptys, the selected memory.
This exits the dialogue as if you'd pressed Escape.

Also, if your focused on a list item, just press enter to go to that memory. You'll leave the dialogue, and the rig is in memory mode at the selected memory.

Memories for Elecraft Rigs

To use the Elecraft memories, you'll need to read the manual and look at the VFOA and VFOB displays. In other words, you select and set the memories just as it's done by looking at the rig's displays. JJRadio only provides you with the rig monitoring capability.

The Rig's Menus

One of the handiest features of JJRadio is the rig's menus dialogue. As of this writing, I have the TS-590, TS-2000, and Elecraft K3 menus implemented. By default, you access this dialogue with ctrl-U.

The Kenwood Menus

This menus dialogue, like the memories dialogue, puts up a list of menu items on the left which you can navigate with cursoring keys. When an item is selected, it's possible values are shown on the right. For example, the first menu item for the 590 is "Display Brightness". When selected, you can tab to a box where you can select a value of "off", or values 1 to 6. The second menu item, item 1, is "Display Backlight Color". If you select this one, you'll see the possible values of "amber" and "green", not just 0 or 1.

In fact, for the PF-key items, you're shown the possible values along with their descriptions. For example, selecting menu 79 on the 590, "Front panel PF A assignment", shows you all the values starting with 000, "display brightness", and continuing on through 208, "Emergency frequency", and 255, "No function". This is menu 51 on the TS-2000.

Note that in prior versions of JJRadio, you needed to hit Enter or click the OK button for a menu change to take effect. Now the change occurs as soon as you change the item. The exception to this is text items, those where you must enter text. In this case, you must click the OK button, or just hit enter, for the change to occur. Presently the only such item is the power on message on the TS-590.

The Elecraft Menus

I took a different approach with the Elecraft menus. When you get into the list of menus, you select the menu you want. A menu item that contains "(tech)" is a tech mode menu item as described in the manual. If you want to select a "(tech)" menu item, the "tech md" menu item must be turned on. If not, the "(tech)" menu items don't show up.

Once you've selected the item you want, hit the tab key to see the item's value. In most cases, you change the value with the main tuning knob on the radio.

If you hit "tab" again, you'll go to a description of the item. For example, the "ALARM" item says that the alarm is turned on and off by pressing the (1) key, and the (2) and (3) keys are used to select the hour and minute values. You then change these values with the main tuning knob.

Also, select the menu using the menu selection list provided. Do not select a menu using the VFOB knob.


JJRadio allows you to do your logging with the same program you use to monitor your rig. It is good to become familiar with the keystrokes used to log information, and the behavior of the log window in general, before attempting to use it. Once you're familiar with the logging, you can just turn off the speech from your screen reader and use the braille display.

It should be noted that JJRadio's logging facility is intended for casual QSO logging. There are some fine logging programs out there that do a good job of contest logging, and this isn't one of them. If you're a contester, you'll want to use a different logging scheme.

The Log Characteristics Dialogue

This dialogue is used to specify the log file and its properties. The first thing is the log file name. You can specify a log pathname, or use the Browse button that follows the name. The default file extention for the log file is .jrl. While the log file format is unique to JJRadio, the log can be exported to, and imported from, an .adif file.

Once you've specified the name, you can select one of four types of duplicate checking. The types are none, justCall, callAndBand, or callAndBandAndMode. If you specify something other than none, the information in the current log entry is checked for a previous duplicate entry containing the fields mentioned. If, for example, the duplicate method is justCall, and you enter the call of a station you've worked previously, a beep sounds when you leave the call field. The #QSOs field in the log entry shows the number of prior contacts you've made with that station. This is not only useful for contesting, but also lets you know when you've contacted a station you've worked before.

Next is a field where you can specify the first serial number in the log. The default is 1.

Some general Information About the Log Window

The log window can be brought up with key sequences, and brought down immediately with either the Enter or Escape key. If you exit the window with the escape key, any new information you entered is discarded. If you use the Enter key, the new information is remembered, but not logged yet. The exception to this is the Comments field, where the Enter key adds a new line. It is important to note that an entry isn't logged until you use the "Write Log Entry" key, set by default to ctrl-W.

For example, if you've just come to the log form to enter the QTH, and you know it's wrong and want to start over, you can hit Escape, and come back to it when the station is repeating it. However, if you've entered other information and use Escape, that will need to be re-entered too, so be careful here. Remember, unless in the Comments field, pressing enter leaves the form, remembers the information, but doesn't log it. If you're in the Comments field, hit Tab to leave the field and then press Enter.

Field formats aren't checked, so you can enter anything into any field, except for Tab and Enter. Enter behaves as described, and Tab takes you to the next field. You can also enter the key sequences to go to other log fields, or perform some log actions. For example, you can jump from the Callsign field to the Comment field if you wish.

Going to Log Fields

You use a key sequence to go to a log field or perform selected log actions. If you're at the main window, the log window is brought up and you're positioned in the desired field. If you're already in the log window, you simply jump to the desired field.

You can also perform selected logging actions such as to write the current entry.

Let's go through a typical QSO, showing the default keys used to log information. You can change these key sequences if you wish.

Searching the Log

You can search for information in the log with ctrl-shift-F by default. You are placed in a blank log form, and you need to enter the information in the appropriate field. For example, if you want to look up a callsign, put it in the callsign field, which you can jump to with alt-C by default. The results are displayed in a list form, and you can select the desired item. You are then placed in the log form for that QSO.

The JJRadio Menus

These are the program's menus, not the rig's menus. Currently there are two menus, the Actions and Help menus.

The Actions menu

The Actions menu currently consists of the following items:

The Screen Fields Menu

Most of the fields on the main screen are rig dependent fields. This menu allows you to easily navigate to those fields without having to hit the tab key several times to get where you want to go. For example, if in CW or CWR mode, and you want to change the keyer speed, hit Alt-F to go to the Screen Fields menu, then hit "k", and you'll go to the keyer speed field. Note that like other menus, if more than one field has the same access key, you're positioned in the menu at the first such field.

The fields shown are mode dependent, so, for example, if the mode is USB the keyer speed won't show up.

The Help menu

This currently has three items:

The Scanning Feature

JJRadio provides a primative scanning feature that allows you to scan between a start and end frequency. By default, it is access with ctrl-S. You can specify the scan step size, in KHZ, and the scan speed. The speed is the number of tenths of a second to spend on each frequency. Thus to scan from 7.2 to 7.299 in steps of 1 KHZ, spending half a second on each frequency, you'd specify 7.2, 7.299, 1, and 5 (5 tenths of a second).

While scanning, if you hear something you want to investigate, pressing the "Pause/Continue scan" key will pause the scan, you may then investigate with the VFO, and then resume the scan where you left off, using the same key. That key is F2 by default. Stop the scan with ctrl-Z by default.

You can also save your scan for later use. This is done from the dialogue where you entered the scan parameters. When saving a scan, you are asked to name the scan for future reference. There is a function to list and select the saved scans, ctrl-shift-U by default.

The Pan Adapter

This is essentially a band scanner. It is intended to work with a braille display with routing keys. It will work best with a 40 cell display. Unfortunately, panning is not currently supported for the K3.

The pan adapter dialogue is as follows:

Band Panner
Start (KHZ): 14000   End (KHZ): 14350   Increment (KHZ): 1


This shows a sample initial dialogue where the rig is tuned to 20 meters. You may at this point change any of the values shown. For example, you may well change the End point to 14080 to pan the first 80 khz of 20 meters. When you click the Start button, the rig starts panning.

It pans using the operating mode the rig is currently set to. It does, however, use the rig's fastest AGC setting, restoring it when finished.

After the panner has made a few minimal passes, currently two, the braille display shows the results of the pan in that blank area between the Start, End, and Increment settings and the Start button. The display shows each frequency that corresponds to a cell on the display, and uses the 6 dots in that cell to indicate the signal strength. Here is the panning dialogue showing a sample result:

Band Panner
Start (KHZ): 14000   End (KHZ): 14080   Increment (KHZ): 1

The signal strength at the corresponding frequency is indicated by the number of dots displayed. The displayed values are, from low to high, "a", "b", "l", "p", "q", and "=". Note that this is a 40 cell display, so each cell corresponds to 2 KHZ. Thus the display shows the strongest signals around 14044 and 14068. Note that the "a" character indicates the noise floor. I've elected to show the noise floor with a single dot for clarity; so there aren't blank areas in the display.

You may stop panning in one of two ways. First, you can click a routing button on the braille display to go to the corresponding frequency for that cell. Note however that you may need to tune a bit to find the signal, since one cell may correspond to a frequency range. You may also click the Stop button, or press escape, to end panning and return to the frequency the radio was on when you brought up the dialogue.

Note that panning doesn't work well if you have a high noise level, or signals are not well differentiated, that is, they're mostly down in the noise. Also note that JJRadio can't distinguish a signal from, let's say, a carrier or a TV birdy.

JJRadio Commands

With the exception of the logging commands, all JJRadio commands must be entered from the main screen. You may change the key assignments as discussed in the Actions Menu section. The logging commands are discussed in somewhat more detail in the section on logging.

F1 - Show keys help
Use F1 to list the functions and their key assignments.
F2 - Show frequency or pause/continue scan
This either focuses on the main frequency display, or pauses the scan if you're scanning. It is very handy if you're on a field other than the frequency, and need to jump to it quickly.
F3 takes you to the "received text" field from any field in the main window.
This takes you to the "sent text" field from any field in the main window.
Control-F - Enter frequency
Use this to enter a frequency manually. The frequency is entered in the same format as frequencies are displayed, (i.e.) mmm.kkk.hhh. For example, 14.2, 14.255 or 14.255.6.
Control-M - Bring up the memory dialogue
See The Rig's Memories.
Shift, Control-Z - Toggle continuous frequency display
You'll likely never use this; it turns off continuous rig monitoring.
Control-C - Enter a radio's control command
This allows you to directly enter a control command to your rig. Most radios are controled using ASCII commands. For example, on the Kenwood and Elecraft rigs, you can enter "fa;" or "FA;", without the quotes, but you need the semi-colons, to display the frequency for VFO A. The results are shown in the "Receive Text" field on the main screen. Note that you may see other stuff in there too, since the rig may be sending back a command in addition to responding to your command.
Alt-L - Bring up log
This brings up the log form, placing you in the field you were last in.
Alt-D - Set log date/time
This function will set the date and time of the current log entry, or just take you to the date field if you're currently in a log entry. You might use this if you hear a DX station, and use ctrl-N to bring up a new log entry, and log his call, but then you work him after spending ten minutes in the pile-up, and want your log entry to reflect the date and time you actually worked.
Control-W - Write log entry
This writes a log entry. Note that the entry is not written when you leave the form, but you must use this function to write it to the log.
Shift, Control-L - Enter log file properties
This is the same as the "Log Characteristics" menu item. See the section on entering log file characteristics.
Alt-O - Log the mode
Bring up the log form and go to the mode field.
Alt-C - Log callsign
Bring up the log form and go to the callsign field.
Ctrl-H - Log his RST
Bring up the log form and go to the hisRST field. Note this is Ctrl-H, not Alt-H, which brings up the Help menu.
Alt-M - Log my RST
Bring up the log form and go to the myRST field.
Alt-Q - Log QTH
Bring up the log form and go to the QTH field.
Alt-S - Log state/province
Bring up the log form and go to the State/Province field.
Alt-N - Log name
Bring up the log form and go to the Handle field.
Alt-R - Log rig
Bring up the log form and go to the Rig field.
Ctrl-A - Log antenna.
Bring up the log form and go to the Antenna field. Here again, Ctrl-A is used instead of Alt-A.
Alt-E - Log comments
Bring up the log form and go to the Comments field.
Control-N - New log entry
Bring up a new log entry. The date/time, mode, and frequencies will be set.
Shift, Control-F - Find a log entry
Search for a log entry, see Searching the Log.
Control-S - Start/stop scan
See the section on scanning.
Shift, Control-S - Memory scan
This is not supported as of this writing.
Shift, Control-U - Use a saved scan
See the section on scanning.
Control-Z - Stop the current scan
See the section on scanning.
Control-P Bring up the pan adapter dialogue
see the section on the pan adapter.
Control-U - Show the rig's menus.
See The Rig's Menus.
Shift, Control-D - Toggle rig raw data output.
This will show the rig's output in the Receive window. Use this to see what your radio is sending to JJRadio.

Known Bugs and Limitations