2.5.1 Serial Parallel and Sound Card Interfacing

1. Ports Used for Interfacing

The program can interface with your radio using several ports from the computer. These ports are:

  • Serial port - A serial port can send CW, control PTT or communicate with your radio; with some radios you may be able to do all three on one port. Hardware serial ports are rapidly disappearing from most computers, but if the computer has open PCI bus slots. inexpensive serial and serial/parallel port cards are available. Alternatively, USB-to-serial adapters may be used.
  • Parallel port - Parallel (LPT) port interfacing is quite flexible. In addition to controlling CW and PTT, N1MM Logger uses the LPT port to control popular SO2R control boxes, and to send band information to a band decoder for automatic antenna or bandpass filter switching. With one exception, USB-to-parallel adapters will not work here. Note also that you will still need a separate virtual or hardware serial port for radio control, because radio control cannot be done from a parallel port.
  • USB port - Most computers now have multiple USB ports. USB-to-serial adapters can be used to provide full serial port capabilities, but be aware that not all such adapters (or their drivers) work well with N1MM Logger+. See USB Interface Devices for specifics. There are also many different interface devices available that use USB port control for a full gamut of capabilities. See the chapter Supported Hardware for more information.
  • Sound card - N1MM Logger+ can use your computer's sound card to record your contest QSOs, and also to send stored audio messages to your transmitter in response to function key presses. The sound card may be on the computer's motherboard, or a separate card internal to the computer, or an external sound card interfaced to the computer with a USB cable. For these purposes, it is best to find a computer or sound card that has separate microphone and line input jacks, as well as a line out jack. Some sound cards (particularly in laptops) now come with only two jacks, or even with only one "combo" jack, and the input jack may not be switchable between microphone and line levels. If this is the case, you will not be able to run your microphone through your sound card and record QSOs at the same time.

2. Radio interfacing

Radio manufacturers have supplied various means for interfacing radios with computers for radio control functions. All of these interfaces appear to the computer software like a standard RS-232 serial port, but the hardware actually used varies considerably. At a minimum, the features supported by radio control interfaces include reading and setting operating frequencies and modes. Most but not all radios that support radio control from a computer also supply commands for the computer to control TX/RX switching (PTT). Newer radios support control of a wide variety of other features, such as RIT/XIT control, switching of filters, and other functions.

The earliest radio control interfaces generally used TTL voltage levels on the radio connector which were not compatible with RS-232 signal levels, and therefore required external radio control interface boxes to perform the level switching between TTL (0 and +5V) and RS-232 (-12V and +12V) logic levels. These interfaces use the RS-232 TxD and RxD signal lines for data communication, and some of them also require RTS/CTS handshaking, which can often be simulated by simply setting the RTS line always on. These external radio control interfaces require DC power, which can either be supplied separately, or in some cases from one of the RS-232 control lines (usually DTR or RTS), in which case the control line supplying the DC power must be configured to be always on. At the computer end or the hardware connection, if the computer does not have serial ports a USB-to-serial adapter can usually be substituted.

Some newer radios have true RS-232 serial ports, in which case an external level switching interface is not needed, but otherwise these are configured similarly to the earlier TTL-level radio control ports. For the most part, these serial ports still only support radio control data over the RxD and TxD lines, possibly supplemented by RTS/CTS handshaking, but in at least one case (the Elecraft K3), the radio's RS-232 port also supports direct keying of CW and PTT inputs using the DTR and RTS control lines. Again, either a true serial port or a USB-to-serial adapter can be used at the computer end of the connection.

More recently, as serial ports on computers have become increasingly rare, some newer radios have incorporated a USB-to-serial adapter internally, so that the hardware connection to the radio is a simple USB cable. Nevertheless, the drivers for these USB ports still appear to the software to be standard RS-232 serial ports. In many cases, the same USB connection is also used to drive a CODEC ("sound card") internal to the radio, which eliminates the need for audio connections between the computer and the radio, but from the point of view of the software, that single USB connection appears to be two separate devices: an RS-232 serial port, and a standard computer sound card. These two devices must be configured separately, regardless of the fact that they share a single cable.

3. Interfacing for PTT and CW Keying

3.1. Choosing Your PTT Method

N1MM Logger+ offers multiple methods for controlling PTT on your radio. Unless you use VOX, or QSK on CW, you will need to select one of these methods, and your choice may vary depending on the mode you want to operate, your radio's capabilities and how you choose to use them, any existing interfaces or other PTT wiring done for use with other programs, and so on.

The available methods are:

  • Hardware PTT - uses serial (COM) or parallel (LPT) ports. Software controls the state of individual lines on the port for PTT and CW (and in the case of the LPT port, additional SO2R-related functions). This requires a driver (INPOUT32) - see Installing the Software for specifics. Works with USB-to-serial adapters, but will not work with USB-to-LPT adapters except for the Piexx SO2RXLAT.
  • Software PTT - uses PTT (TX/RX) commands sent to the radio through the radio control port. For certain radios that incorporate a radio CODEC (effectively, a sound card inside the radio), if you wish to use it either for AFSK (digital modes) or as a voice keyer for SSB, you will need to use Software PTT. Check the Supported Radios section for your radio setup instructions. Software PTT is great with some radios, such as the TS-590, but with others, which require a longer delay between CAT commands, it will be slower than hardware or Winkey PTT. In the case of Icom radios, when a data collision is detected, the PTT may fail to actuate or hang in transmit, requiring an ESC to return to receiving. Also, please note that N1MM Logger+ cannot control PTT for a built-in DVK, as compared to a CODEC, because if the recorded message is not sent from the computer, the program cannot know when the recorded message has finished. Such DVKs must use VOX, for this reason.
  • Winkeyer PTT - uses PTT provided by the Winkeyer USB series of CW keyers, but also works for SSB and digital modes. If a port is set up to control a Winkeyer, and PTT is set as the Pin 5 function on the Winkeyer tab in the Configurer, PTT is automatically active on the real-panel jacks of the Winkeyer, and it needs only to be cabled to the appropriate jack on your radio. Winkeyer PTT is the most flexible of the PTT options, particularly on CW, because you can set the inter-character "Hang Time" separately from the end-of-message Tail Time. The settings are on on the Winkeyer tab in the Configurer. If you chose to use one of the other methods for PTT control, simply omit this cable.
  • Digital Modes PTT - If using FSK, configure MMTTY to a COM port or EXTFSK/EXTFSK64 for FSK keying, and also configure it for PTT on the same port. To use a radio CODEC for AFSK in digital modes, PTT must be handled by N1MM Logger+ using Software PTT (see above). For AFSK not using a built-in radio CODEC, use the Logger's PTT options for other modes, or configure PTT in MMTTY. If you want to use the same COM port for PTT in digital and non-digital modes, then you must check "Digital" on that port in the Hardware tab of the Configurer, and configure MMTTY for PTT. This tells the Logger to close the port and hand it over to MMTTY when you switch to a digital mode.

For SSB or digital modes, use any of the options above. Remember, if you are using your radio's audio CODEC, you will need to use Software PTT and omit COM or LPT hardware PTT control.

For CW, if you have a Winkeyer, Winkeyer PTT is recommended, because it gives you the most flexibility in setting hang and tail time. If you do not have one, but have a serial or USB port, Hardware PTT is probably the simplest. You can do this with a simple transistor switch off the appropriate line of a serial port or a USB-to-serial adapter. CW and PTT can be handled on a single port, and with some radios it may even be possible to do radio control on that port as well if the radio does not need the RTS and DTR lines to be set in a particular way (since these lines are used for CW and PTT).

3.2. Choosing Your CW Method

N1MM Logger+ offers multiple methods for keying CW on your radio.

The available methods are:

  • Hardware CW - uses serial (COM) or parallel (LPT) ports (usually separate from the radio control port). Software controls the state of individual lines on the port for PTT and CW (and in the case of the LPT port, additional SO2R-related functions). This requires a driver (INPOUT32) which is installed by the Full Installer. Works with USB-to-serial adapters, but will not work with USB-to-LPT adapters except for the Piexx SO2RXLAT.
  • Winkeyer CW - uses a K1EL Winkeyer or equivalent. This is the most-recommended method, because it is virtually immune to timing problems that might be caused by unexpected events in the computer (such as a Windows Update, virus checker update, or other resource-intensive activity that might be taking place behind the scenes). CW timing with a Winkeyer is controlled externally to the computer. The Winkeyer can also be used with a paddle as a regular CW keyer, with the advantage (over a separate keyer or the built-in keyer in some radios) that paddle and computer keying are integrated, e.g. touching the paddle interrupts computer keying without any doubling up or garble, and paddle and computer speeds are the same).

There are a few radios (Kenwood, Elecraft, recent Yaesu, Flex) that support sending CW via "KY" radio command messages. This method is not supported by the Logger. You can program such radio command messages into function key messages using {CAT1ASC} macros, but apart from the fact that it only works with certain radios, there are several other limitations to this method:

  • You can only put one of these CAT1ASC macro commands in each function key message.
  • The number of characters that can be sent in such a message is limited (e.g. no more than 24 characters with Elecraft radios - other radios may have a different numerical limit). Note that this is the number of Morse code characters, including spaces, that the message is converted to, not a count of the number of characters in the N1MM Logger+ command. Therefore you need to design your messages so that they will take no more than 24 characters with the longest call sign and exchange you are likely to need during the contest.
  • Once the function key containing one of these messages has been pressed, you cannot use the Esc key to interrupt the message from N1MM Logger+. You can interrupt a message in progress from the radio's front panel controls.
  • The CW speed using this method is controlled from the radio's CW Speed control, not from N1MM Logger+. The Logger's CW speed control macros and the PgUp/PgDn keys will not work with this method.
  • If you like to use auto CQ repeat in N1MM Logger+, the repeat interval is measured from the start of one message to the start of the next one, i.e. it includes the message as well as the time between messages. Therefore it has to be longer than the duration of your CQ message at the slowest CW speed you use. If you change CW speeds, a repeat interval that is appropriate for the slowest CW speed will likely be longer than you would like at higher speeds.
  • The "send corrected call sign" feature does not work with this method.
  • The "CW autosend" feature does not work with this method.
  • You cannot send ad lib Morse code this way, i.e. the Ctrl+K command to send keyboard CW does not work with this method.

 N1MM Logger+ Does Not Support CW Keying by Audio Tone

Almost daily, we get queries about why the Logger's CW won't work with software or interface units that feed audio tones to a transceiver. Typically, this involves the Signalink USB interface or the software program FLDIGI.

N1MM Logger+ does not and will not support this way of generating CW. There are a couple of reasons. First, on many transceivers, when they are in USB or LSB mode, you are precluded from using CW filters and other CW receiving aids. Second, sound-card CW is fraught with problems, including audio noise in your CW, RF interference to the CW tones, and the possibility of generating two or three separate CW signals due to audio harmonics. It's just a bad idea!

The simple interfaces described below are easily constructed at minimal cost with readily available components.

3.3. Parallel (LPT) Port for CW and PTT

This is a typical simple interface that can be used for parallel port CW and PTT keying. Separate circuits (transistors) are used for CW and PTT.

Interface ParallelPort CwPtt

PTT output
CW output


For hints on diagnosing problems with a parallel port, see the note under Addtional Parallel Port Interfacing just a bit further on.

3.4. Serial (COM) Port

When a serial port is used for CW and/or PTT keying, it is the RTS and DTR lines that are used.

PTT output (RTS)
CW output (DTR)


The CW and PTT lines for a radio must be on the same serial/parallel port. Example: When COM4 is the CW Port and Radio 1 or Both is selected, PTT control for Radio 1 must also be on COM4. USB-to-serial converters are supported, but USB-to-LPT (parallel) converters are not.

3.5. Using a transistor

The keying circuit for serial port CW or PTT keying is similar to the circuit used with a parallel port.

Interface BasicCwCircuit

  • Equivalents for the 2N2222 are 2N3904, BC547 or BC548.
  • NB. It isn't a bad idea to add a 1 kOhm resistor from base to ground, also adding a shunt capacitor of 10 nF is highly recommended at the collector output to ground in order to prevent RF feedback to base and subsequent blocking.

3.6. Using an opto-Isolator (opto-coupler)

Some users prefer to use an opto-isolator rather than a transistor, in order to provide more protection for the serial port in the event of something going wrong downstream. In that case, however, two special considerations may apply:

  • You may need to place a diode in series with the input of the opto-isolator, to protect it from negative voltage swings on a standard serial port. Check the specifications of the opto-isolator you use to determine whether this is necessary.

  • Some opto-isolators may not pull their output "low" enough (close enough to zero volts) to switch PTT or CW on a given transceiver. In that case, appropriate "pull-down" measures must be applied.

4. Via USB port

Not all computers have serial ports any more, or even if they do, there are not enough to control transceivers, packet, serial CW keying etc. In this case consider a USB-to-serial port adapter. Most of them do nicely for basic radio control functions and/or for CW and PTT keying. These devices require drivers within the computer; make sure that drivers for your operating system are available before trying to use one of these adapters.

The timing of serial port or parallel port keying can be subject to "stuttering" caused by the CPU being unavailable to control the port while it is busy with other tasks. For perfect CW not dependent on Windows processes the usual answer is to use a Winkeyer by K1EL. The computer communicates with the Winkeyer using normal ASCII characters via the serial port, which are buffered inside the Winkeyer and converted to CW there. The CW timing is thus independent of computer processing delays. A USB/serial adapter will work fine with a Winkeyer; in fact, most Winkeyers delivered today are WKUSB keyers with a USB-to-serial adapter built in to the keyer. Check the Winkeyer manual for more information.

In some cases PTT and CW keying may unexpectedly stop working when using a USB-to-serial converter, because Windows has shut down the USB port to save power. Check this Windows setting:

  • Control Panel; System Icon,
  • Hardware Device Manager Tab or button.
  • Expand USB Serial Bus Controllers
  • Highlight each USB Root Hub or Generic USB Hub in turn
  • Double click for Properties settings, Power Management tab
  • Remove the check mark from 'Allow the computer to turn off this device to save power'
    • The box is checked by default in most cases
  • Repeat for every USB Root Hub and Generic USB Hub
  • Reboot the computer

A table giving evaluations by N1MM users of various USB-to-serial converters is in this section of the manual. Another overview of serial- to-USB converters can be found at the RTTY contesting page by AA5AU at: http://www.rttycontesting.com .

5. Additional Parallel Port Interfacing

If the type of CW port chosen is LPT1, LPT2 or LPT3, and a hardware LPT port is used, additional information will be present on the chosen parallel port. In the Configurer, select the radio that corresponds with the selected port (Radio 1 or Radio 2). The BCD data on the LPT is that of the current active radio/VFO. The band data is available on multiple LPT ports — Radio 1 on LPT1, Radio 2 on LPT2 and so on. USB-to-LPT converters are not supported.

Parallel port pin layout
1 Return for PTT and CW output. This pin has limited sink capability, so you may need to buffer it
2 Band output (Least Significant Bit) set by Antenna tab in Configurer. This pin is also used to stop the message sent on the hardware DVK.
3 NA-compatible TX focus. - Radio 1/2 Pin 3 will go to a logic LOW level (0V) when Radio 1 has TX focus and to a logic HIGH level (5V) when Radio 2 has TX focus. (NB. LPT pin 3 is the complement of Pin 14). Set ONLY if no hardware DVK output is selected (msg# 1).
4 NA-compatible RX focus. LPT Pin 4 will go to a logic LOW level when Radio 1 has RX focus and to a logic HIGH level when Radio 2 has RX focus. Set ONLY if no hardware DVK output is selected (msg# 2).
5 (Shift+singlequote) to toggle for Stereo mono. LPT Pin 5 will go to a logic LOW level for mono audio and to a logic HIGH level for stereo audio. Set ONLY if no hardware DVK output is selected (msg# 3).
6 Set ONLY if no hardware DVK output is selected (msg# 4).
7 Band output set by Antenna tab in Configurer
8 Band output set by Antenna tab in Configurer
9 Band output (Most Significant Bit) set by Antenna tab in Configurer
14 Radio select A/B (transmit focus) for DX Doubler compatibility. LPT Pin 14 will go to a HIGH level when Radio 1 has TX focus and to a LOW level when Radio 2 has TX focus. (NB. LPT pin 14 is the complement of Pin 3)
15 Footswitch input port
16 PTT output, high = transmit mode
17 CW output
18-25 Return for Band output

5.1. Diagnosing Parallel Port Problems

 Will all PCI-e Parallel Port Cards Work?

As fast as technology moves, it is difficult to be categorical about this, and there has been some traffic on the reflector suggesting that some families of LPT port chips are not compatible with the software components used by N1MM Logger+ to control individual lines on an LPT port. Experimental results show, however, that two families of chips do work, as of February 2013: These chips are used both in single-port cards and in combination cards (2 serial and one parallel, for example), but have only been systematically tested in the one LPT port variant.
  • MOSChip Semiconductors series MCS9900. This company is now owned by Asix Electronics Corporation,. and the very latest driver can be downloaded here. Specify PCIe Bridge for the product family. These chips are used in the SYBA SD-PEX10005 1 Port Parallel Card, available from the usual online sources.
  • Oxford Semiconductor OX16PC952-954. This company's chips are used in several 1-port LPT cards, including the StarTech.com PEX1P, which also is widely available. Originally, they were thought to be incompatible with parallel port switching, but this does not appear to be the case (contact N4ZR for details).

 Diagnosing LPT Port Issues

Recently, a number of users have encountered difficulty using PCI-e LPT ports to control band decoders, SO2R controllers, and other devices. After a great deal of experimentation, here are a few things to try if you have trouble.

1. Make sure you have the correct address specified in N1MM's Configurer. Typically, PCI-e add-in cards seem to have I/O addresses that are not the standard ones for a given port number. For example, built-in LPT1 ports typically have an address of 0378 for our purposes, which is the lower of the two I/O addresses given for the port in Device Manager. On the other hand, 3 different PCI-e cards tested all have fixed I/O addresses at D000 and D010, regardless of the LPT port number, and the correct address is the higher one - D010. When in doubt, try them both.

2. The first time you run N1MM Logger+ after a new installation, don't run it from a shortcut. Instead, go into the N1MM Logger+ program directory, right-click on the executable (.exe) file, and select "Run as Administrator". It has been suggested that this step may be necessary in some cases, in order for the component that drives the parallel port to be registered properly, and it can't hurt. This is a one-time only step.

K8UT discovered a nifty parallel port test utility at here. The crucial thing it does is totell you-- if it cannot find a port at a given address. It's freeware, and can be used with a voltmeter or something controlled by the LPT port (like a band decoder), with N1MM Logger+ settings put aside for the moment it will quickly establish whether the port is working properly.

5.2. External DVK Interfacing

When you select DVK on a parallel port, antenna selection via that port is disabled, because the DVK pins and the antenna pins on the LPT port overlap. Following is the table of pin-outs for external DVK control:
F1 pin 3
F2 pin 4
F3 pin 5
F4 pin 6
F5 pins 4 and 6
F6 pins 4 and 5
F7 pins 4, 5, and 6.

When F1-F7 are pressed, a 100 ms. pulse is sent to the relevant pins for external DVK control.

In order to record messages on an external DVK, you will need to connect your microphone to it directly, and follow the procedure outlined in the DVK manual; N1MM Logger+ support is limited to triggering the first 7 memories when the corresponding Function Key (F1-7) is pressed, and stopping stored message playback when the ESC key is pressed. Some external DVKs have as few as 4 memories, in which case only F1-F4 will trigger playback.

6. Band decoder output

Pins 9, 8, 7 and 2 can be set using the Antenna tab in the Configurer. The output on the pins will follow the selected code which is being set up by the selected antenna.

Interface ParallelPort Antennas

6.1. Sample configs

Interfacing AntennaExample

To replicate the default Top-Ten Devices behavior, you would need to set up the Antenna tab in Configurer as shown above to the left|
It is possible to use more than one antenna per band with N1MM Logger+. With Alt+F9 it is possible to toggle between these antennas. List the bands for each antenna with a comma separating them - e.g. 3.5,7

6.2. Sample Config > Antenna for two stacked antennas

Configurer Antennas StackExample

You will need to make appropriate provision with a diode matrix on the output of your band decoder to select the appropriate antenna or antennas when a given code is sent from the program to the decoder. For example, if your band decoder outputs positive voltage and you use a tri-band beam with a single coax feedline, you will need diodes to sum the three signals from your band decoder into the one feedline.

7. Bearing data

Bearing data for rotator control is currently not available on the LPT port.

8. Sound card interfacing

Of course, you can always use one of the many commercial audio interfaces designed primarily for digital modes. However, if you have a sound card that permits feeding microphone input through it to the line output (most do), and has a mixer that will allow you to independently set the level of the microphone, .wav playback and internally-generated audio (such as for AFSK), you really don't need an interface at all. On SSB, simply plug your microphone into the sound card mike input. Cable the sound card's Line Out to the Line In or Phone Patch input of your transceiver, and you're done.

You may encounter hum, resulting from difference in AC potential between the chassis of your computer and that of your transceiver. In that case, a 600-ohm isolation transformer in the cable between sound card and transceiver is the cure. Another approach is to bond the transceiver and computer chassis together with a heavy wire. Many people do both.

If you absolutely must feed the audio output of your sound card into the microphone jack of your transceiver, the level will be far too high. In that case, a simple 10:1 resistive voltage divider is the solution, placed in the audio cable before the microphone jack.

9. Serial and Parallel port interfacing under Windows 2000/XP/Vista/Windows 7/Windows 8

Windows 2000, XP, Vista and Windows 7 and 8 require a special dll which will be installed automatically by N1MM Logger+ to use the parallel ports.

9.1. Exposing and Deleting Phantom Serial Ports

Unlike N1MM Logger Classic, N1MM Logger+ can support serial ports numbers up to 99. The following procedure is not likely to be necessary, but you may still wish to use it to eliminate "phantom" (not used, but unavailable) serial ports from your system,

Here is how to have Device Manager expose and remove invisible serial port assignments:

  1. Click on the Start button and select All Programs > Accessories.
  2. In Windows XP, Click on Command Prompt; in Windows Vista, 7 or 8, Right-click on Command Prompt and select the Run as administrator menu item.
  3. Type set devmgr_show_nonpresent_devices=1 and hit the Enter key.
  4. Start Device Manager. There are many different ways to do this; one is to right-click on Computer (or My Computer), select Properties, and then click on Device Manager. Another is to find Device Manager in the Control Panel.
  5. In the Device Manager window, select the View > Show Hidden Devices menu item.
  6. Click on the + sign next to Ports to see the full list of COM ports that have been assigned in your computer.
  7. Highlight an unused port number you wish to remove from the list and then press the Delete key. Accept when asked to confirm and continue with any more port numbers that you wish to delete.

Thanks to KK1L and N7WY for this tip.

10. Hooking up a Footswitch

A footswitch can be hooked up to a serial port or a parallel port. The footswitch program action is the same for both LPT and COM ports, i.e. footswitch closure causes the action selected in the Configurer for that port.

10.1. Parallel port

If pin 14 is not used to switch radios using an external SO2R box (for example, by using the Pause key), then hooking up a footswitch to LPT1 can be done by connecting a 10k resistor from pin 14 to pin 15. Pin 14 is normally +5V and provides pull-up voltage for pin 15.. Then connect a normally open footswitch between pin 15 and pin 18 of LPT1. Closing the footswitch pulls pin 15 low and performs the function selected in the configurer.

If pin 14 is being used for Radio A/Radio B control of an external SO2R box, a 5V supply with a 10k series resistor can be used to provide the pull-up voltage for pin 15.

10.2. Serial port footswitch information (using the 9 pin connector numbers)

Connect a 10k resistor between pin 6 and pin 7. Set DTR, pin 4 to "Always On" and RTS, pin 7 to "Always Off". Connect the footswitch between pins 4 and pin 6.
The program action will be on footswitch closure. The footswitch wires can not be referenced or connected to ground.

11. Avoiding RFI and Other Common Interfacing Maladies

More often than not, reports of quirky, intermittent issues with radio control, CW and PTT interfacing, as well as hum and distortion in sound card audio, wind up being traced back to RFI - your own signal turning up where it doesn't belong, or to improper grounding.

While we can't afford the space to deal exhaustively with this topic, there are several good resources - the RFI reflector (RFI@contesting.com), this paper by Chuck Counselman, W1HIS, and these papers by Jim Brown, K9YC

Last Modification: 13 September 2016 16:56:58 EDT by VE3KI.