2.7.7 Digital - External TNC Support

The Digital Interface will not only work with MMTTY, MMVARI and external TNC's like the PK232, HAL DXP38 but with ANY TNC.
This is because (with the special-case exception of the HL DXP-38) the commands for the TNC are not hard coded into the program. This has to be done by the user of the program :-)

Information about the following external TNCs can be found below but as already stated ANY TNC that uses serial communication can be used with N1MM Logger.

1. The Digital Interface

The Digital Interface can be used with any external TNC.

DigitalInterface TNC

Using a TNC will show an interface like the one above.

2. Setting Up the TNC in the Configurer

  1. Start the N1MM Logger application
  2. On the Logger Main Window select >Config >Configure Ports, Telnet Address, Other >Digital Modes tab
  3. In Digital Setup
    1. Choose Other for Interface (for any TNC except for the HAL DXP-38; for the DXP-38, see separate instructions below)
    2. Set other parameters accordingly (Example settings: Com 4 ,9600 ,8 ,N ,1, RST-Xon)
    3. Save the configuration < OK >
  4. Load the Digital Interface from the Window menu
  5. Program the RX, TX and Abort macros by opening the Digital Setup window (Setup > Settings menu item in the DI window), selecting the Macro Setup tab, selecting the "Other" digital macro set, and then right-clicking on each of the TX, RX and Esc buttons at the right side of the window and programming them with the appropriate codes to put your TNC into transmit, to put it into receive at the end of a message, and to abort a message, respectively. Once you have done this, the {TX} and {RX} macros will work in function-key messages and the other DI button messages, and the Esc key can be used at any time to abort a transmission.

Make sure your interface is set to copy RTTY at 45 baud and 170 Hz shift. If necessary, you can type the TNC command(s) for this in the transmit window so it will be sent to the TNC, or (better) you can program it into one of the DI message buttons.

3. Test Your External TNC

  • Test stand-alone
  • See the separate sections for the PK-232, KAM, HAL etc. If your TNC is not mentioned please set it up like the other mentioned TNC's

Make sure your radio and TNC work on your computer's serial port by testing them with an existing terminal program. Connect your TNC/Radio into your computers serial port. The Hyperterm terminal program is included with Windows and works well. Make sure you note all COM port parameters. You should be able to tune in a RTTY signal and print it using the Hyperterm program. The Windows Hyperterm is geared toward modem communications and is not especially intuitive for direct COM port use. As stated previously, you can use any number of terminal emulator programs. For example, the Tera Term Pro 3.1.3 by Ayera Technologies is a small, open source, free terminal emulator that is available for download.

The interface has been tested with the three mentioned TNC's below and works fine with them. Any other TNC should also work as long as you place the right commands for that TNC in the macros.

4. Additional Macros for the External TNC Interface

The Digital Interface will accept all of the Macro keywords that can be used in the Packet window and other places in the Logger and will also accept the following:

Ctrl+A Ctrl+B Ctrl+C Ctrl+D Ctrl+E Ctrl+F Ctrl+G
Ctrl+H Ctrl+I Ctrl+J Ctrl+K Ctrl+L Ctrl+M Ctrl+N
Ctrl+O Ctrl+P Ctrl+Q Ctrl+R Ctrl+S Ctrl+T Ctrl+U
Ctrl+V Ctrl+W Ctrl+X Ctrl+Y Ctrl+Z Esc Enter

These macro keywords can be used in any of the DI message buttons or the Logger function keys in the Entry window.

The TX window will accept all control key commands except for the Esc key, which must be sent as a Shift+Escape combination.

Remember that when setting up a message key that is not a TNC command you will need to include the {TX} macro (or the equivalent TNC command) to key the TNC before it sends. If a message does not start with the {TX} macro, your TNC will think it is a command being sent to it instead of message text, and it will not know how to process it. Before using the {TX} and {RX} macros in messages, you need to initialize them with the correct commands for your TNC, by opening the Digital Setup window, selecting the Macro Setup tab, selecting the "Other" Digital Macro Set, and then programming the TX, RX and Esc buttons with the correct command sequences for your TNC.

To use free form typing in the TX window you need to first key your TNC (e.g. using the TX button after it has been programmed correctly for your TNC). Click the TX button to start transmitting and then click in the TX window. Whatever you type in the TX window now will be sent out. After you have finished typing, click on the RX button to return to receive mode.

5. HAL DXP38 Setup

The HAL DXP-38 is supported as one of the possible interfaces. Setup for the DXP-38 is different from setup for other TNCs.

There is a selection for the DXP-38 interface type in the Configurer under the Digital Modes tab, TU type.

5.1. Hardware Setup

It is a good idea to get the DXP38 running with WF1B, HAL or another known software package before trying to set it up for the first time in N1MM Logger. Doing this eliminates the need to troubleshoot both hardware and software simultaneously when configuring N1MM Logger. Hardware setup:

  1. Connect the PTT and FSK lines to the rig
  2. Connect the COM port (1 for HAL software) to the TNC
  3. Connect audio input to the DXP-38
  4. Connect the power
  5. Connect AFSK output to the rig (AFSK only)
  6. Consult the DXP-38 manuals for the details. The rig must be setto FSK RTTY (LSB) or LSB for AFSK

5.2. Software Setup in N1MM Logger

Port configuration - The COM port used for the DXP38 port should have a check mark in the Digital check box in the Configurer.

Configurer Hardware DXP38

Under the port settings (Set button), DTR/RTS should be set to Always On. Set the DigWNdNr to the digital window number that the DXP38 will be used with (1 or 2, for DI window #1 or #2).

Configurer SetDialog DXP38

Digital configuration - In the Configurer under the Digital Modes tab, in the left side for the digital interface window that the DXP38 will be used with (Digital Interface 1 or 2), the port settings should be 9600 baud, N,8,1 and no handshaking:

Configurer DigitalModes DXP38

Command macros to control the DXP38

Most of the useful DXP38 features can be controlled from the DI Setup window under the Dxp-38 Setup tab. However, you may also use DXP38 macros in the DI window buttons (but NOT in the Entry window function keys). To program one or more of these buttons, you can right-click on one of the buttons to open the editing screen. The HAL command set is documented in the DSP4100 technical documentation at the HAL website. The HAL macros are in the form of two hexadecimal bytes, the first of which is a hex 80. To program a command whose second byte is xy (where x and y are hexadecimal digits), include a macro in the form {H80xy} in the message button. You miust follow this exact template: the macro is surrounded by curly braces and starts with an H, followed by four hexadecimal digits (8, 0 and the two digits corresponding to the desired HAL command). Once you have edited one of more of the message buttons, you can save the entire file in the Dxp38 macro button set using the Save Macros button in the edit window.

RTTY messages

Your contesting and other RTTY messages can be either in the Entry window function keys (F1-F12, e.g. for use from the keyboard or with ESM) or in some of the DI window buttons (for auxiliary messages that are only used occasionally, by clicking on them with the mouse). These messages work the same way with the DXP38 as for other digital interfaces. Start each message with {TX} and end it with {RX}. Note that message buttons that are programmed in the DI window set with Dxp38 selected as the interface type will be stored in the Dxp38 macro set, i.e. they will be saved separately from message buttons that you set up for MMTTY or for MMVARI.

First time startup

  • Start up N1MM logger first
    • After the program loads, make sure focus is on the TNC received text screen. Then turn on the DXP38. If the data link is OK , an @ will be printed on the screen. It takes about 20-30 seconds for the DXP to initialize after the @ appears in the RX window.
  • Subsequent startups
    • Turn on the DXP38. Start N1MM logger. After the DXP38 initializes, you should see a text rendition of the initialization process on the screen. The following screen shot is from the classic (pre-Logger+) version of the Logger, so yours may look slightly different, but you should see the same initialization messages in the RX window (the DXP-38 tuning indicator has been enabled in this screen shot, but none of the 24 message buttons in the DI window has been programmed yet):

DigitalInterface DXP38

5.3. Configuring a DXP-38 in one of the additional RX windows

The DXP-38 can be configured to be used in one of the additional RX-only windows. To do so, use the Setup > Open Add. RX Window menu item in the Digital Interface window. If this is the first time this window has been opened, the Setup window will open, otherwise you may have to use the Setup menu item in the RX window:

Digital AdditionalRXWindow DXP38Setup

Select Dxp38 as the window type. The MMTTY Setup section is not used for the DXP-38. Under TNC Setup, select the COM port used for the DXP-38 and set the other parameters to 9600, N, 8, 1, no flow control, DTR and RTS both Always On. Once you click the Save button to save the configuration, close and reopen the RX window. The following screen shot is from an older version of the Logger, so yours may not look exactly like this, but you should see the same initialization messages on startup:

Digital AdditionalRXWindow DXP38

6. HAL ST-8000 Setup (not supported)

The HAL ST-8000 TNC is not supported and will not work with N1MM Logger as the baud rate used by the HAL is 45 baud and the serial port control in N1MM will only go as low as 110 baud...

7. KAM Setup

  • Launch Hyperterm and set its parameters to 9600 bps, 8 databits, no-parity, 1 stopbit and no flow control
  • Connect the KAM to the port configured in Hyperterm
  • Turn on the KAM
  • When you see the message 'Press (*) to set Baud Rate, press the "*" button'
  • Then set your callsign as prompted
  • To place the unit into RTTY mode type "RTTY"
  • Also make sure the unit is set up for software handshaking XFLOW = ON
  • Once you are communicating with the KAM and have it in the RTTY mode, you can also tune in a RTTY signal and it will decode and print on the Hyperterm window
  • Now try to transmit by typing a Ctrl+C and a "T" on the keyboard followed by several characters that you wish to transmit. To get back to receive, type a Ctrl+C and a "R"
  • If you have problems, consult your KAM manual
  • Now exit the Hyperterm program and start Logger

Below are sample RTTY settings for the KAM TNC


There are three parts in setting up N1MM logger to work with the KAM.

1. Port configuration in the Configurer under the Hardware tab:

    • The serial port used by the KAM should have a checkmark in the Digital check box

2. Digital configuration (Configurer, Digital Modes tab)

    • Set the TU Type to "Other" and configure the port for 9600 baud, N,8,1 and none

3. Macro Creation required to control the KAM (Digital Interface Setup window, Message Setup tab)

    • Select the "Other" Digital Message Set
    • Set the TX macro to: {Ctrl-C}T
      • this programs the {TX} macro to put the KAM into transmit
    • Set the RX macro to: {Ctrl-C}E
      • programs the {RX} macro to return to receive after the message is completed
    • Set the ESC macro to: {Ctrl-C}R
      • Use the Esc key to immediately return the system to receive without sending unsent text that may still be in the transmit buffer
    • You can now program your messages with the {TX} and {RX} macros, for example
      • CQ message: {TX} CQ CQ CQ DE W3PP W3PP W3PP KKK {RX}

8. PK-232 Setup

  • Make sure the PK-232 autobaud is set and the unit is set to RTTY mode
  • Launch Hyperterm and set its parameters to 1200 baud, 8-data, no-parity, 2 stop bits, and no flow control
  • Connect the PK-232 to the port configured in Hyperterm
  • Turn on the PK-232
  • Type a few "*" characters so your PK-232 will autobaud to the 1200 baud rate
  • Now place the PK-232 in the RTTY mode by typing the command "BAUDOT". It should respond OPMODE now BAUDOT
  • Turn the threshold pot full clockwise and make sure the LED is on
  • Also make sure the unit is set up for software handshaking XFLOW = ON
  • Once you are communicating with the PK-232 and have it in the BAUDOT mode, you can also tune in a RTTY signal and it will decode and print on the Hyperterm window
  • Now try a transmit by typing a "X" on the keyboard followed by several characters that you wish to transmit. To get back to receive, type a Ctrl+C and a "R"
  • If you have problems, consult your PK-232 manual
  • Now exit the Hyperterm program and start Logger. In the DI Setup window under the Macro Setup tab, select the "Other" Digital Macro Set, and program the TX, RX and Esc buttons as follows:
    • TX: X{ENTER}
    • RX: {CTRL-D}
  • If this has been done correctly, the {TX} and {RX} macros in your messages should now work correctly, and the Esc key should be able to interrupt (abort) an outgoing message immediately when it is pressed

8.1. Setting up the PK-232


Setting up the PK-232 for RTTY is very simple and straightforward.

  • First, open the 'Configurer' (On the main logging window click Config, Configure Ports, Telnet addresses, Other)
  • Click the Hardware tab
    • Click in the box adjacent to the COM port that you have your PK-232 connected to in the column labeled 'Digital'
    • See picture below, the example here shows the PK-232 on COM-2

Configurer Hardware PK232

  • Next, click on the Digital Modes tab and set up the Digital Interface 1 parameters
    • The example in the picture below shows that the PK-232 is set for 9600 baud, no parity and 8 data bits

Configurer DigitalModes

Setting up macros and the main logging window "F" keys for the PK-232 is also really very simple.

  • Modify any existing macros that came pre-configured by replacing every instance of ' {TX} ' with ' {Ctrl-C}Xmit{ENTER} '
    • I found that the command did not work every time unless it was followed by the {ENTER}
    • or, if the macro does not have {TX} or {RX} in it and you want it to start transmitting or go to receive, add those commands and, replace every instance of {RX} with {Ctrl-D}
  • Example: F1 "CQ" macro would therefore be " {Ctrl-C}Xmit{ENTER}CQ CQ CQ DE * * * K{Ctrl-D} "
  • Example: F5 macro "Hiscall" would be " {Ctrl-C}Xmit{ENTER}! "
    • Which would leave the rig in transmit mode so that you could type more info in the transmit window
    • To return to receive, press Ctrl+D (hold down the Ctrl key and press D)

9. SCS PTC Setup

  • Take the PTC as you use it for other digimode programs e.g. ALPHA (by DH7RG), XPWIN (By KF7XP), LOGGER (by K4CY)
  • Set the PTC to SERBAUD 19200 (not AUTO ! ) > switch the PTC OFF
  • Start N1MMLogger and go to 'Config | Configure Ports, Telnet Address, Other', Select the tab 'Digital Modes'. Set 'Digital Interface 1 TU Type' to 'CW/Other', set the used serial port to 19200 Baud, N-8-1-none. Set the 'Digital Interface 2 TU Type' to 'None'. Save with 'OK'
  • Click on Windows and select Digital Interface
  • Be sure that the PTC is connected to the right serial port and switch it ON and the start info will appear in the upper window finished by the prompt cmd: If you can't see anything check serial port and settings
  • Click in the lower window, enter with the keyboard 'Escape+Shift bau 45 ENTER' the PTC will switch to RTTY (look at the PTC mode display). Add 'Escape+Shift term 1 ENTER' to switch the PTC to echo the transmitted signs in the upper window. Note : Escape without Shift will switch the cursor to the main window
  • In the open Digital Interface select 'File | Settings' and select Tab: 'Macro Setup'. Select behind 'Digital Macro Set' 'Other 1'. Now three buttons appear with TX, RX and ESC on it. These buttons have to filled with the sequence to put the PTC in TX and RX and to get a correct function for canceling the AUTO-CQ function or make a break with the ESC-key on the keyboard
    • Digital Macro Set: Other 1
    • TX button: {Ctrl-Y} NB. in capital letters
      • Now the macro {TX} can be used to switch the TX ON
    • RX button: {Ctrl-Y} NB. in capital letters
      • Now the macro {RX} can be used to switch the TX OFF
    • ESC button: {ESC}CLR{ENTER}{Ctrl-D}{ENTER}
      • The macro will reset the PTC-2 to PACTOR, clear the TX buffer and switch the PTC-2 back to RTTY
  • There are a maximum of 24 extra functionkeys. One of them may be configured to switch the PTC-2 from the default state PACTOR to RTTY
    • Name button: RTTY
    • Contents button: {ESC}clear{ENTER}{ESC}bau 45{ENTER}{ESC}term 1{ENTER}
      • Every time you start the PTC-2 you may click on this key to start the RTTY-mode. You need 'term 1' to get a delayed echo on the RX-window when your text is transmitted
  • You may generate more macros with simple QSO texts using the installed N1MMLogger macros as !, *, DATE, TIME etc
  • Don't forget to start a functionkey with {TX} and at the end place {RX} to switch back to receive
  • See for some macro examples at macros page

10. TinyFSK by Andy Flowers, K0SM

TinyFSK is a software program written for the Arduino hardware platform that produces FSK RTTY by emulating a traditional TNC for transmitting. TinyFSK does not have a receive capability, so you use one of the sound card interface choices to receive with.

 Preparing to use TinyFSK

These instructions assume that you have connected your Arduino to your computer, uploaded the TinyFSK "sketch" to the Arduino, installed the hardware keying interface for PTT and FSK from the Arduino to your radio, and that you know the COM port number that Windows has assigned to the Arduino. For information on how to perform these preliminary tasks, visit K0SM's website HERE or google "TinyFSK." There are many helpful TinyFSK tutorials on the Internet.

 TinyFSK and 2Tone

The instructions in the next two sections should work with any of the sound card digital engines, including 2Tone. However, if you are using 2Tone as your primary digital engine for receiving in the main Digital Interface window, there is an alternative method available as well. Unlike the other digital engine programs, 2Tone can support TinyFSK directly. To use this feature, you would configure the N1MM+ Configurer and Digital Setup windows the same as if you were using AFSK, except that in 2Tone's own setup window you tell 2Tone to use TinyFSK, and in the N1MM+ Configurer under the Mode Control tab, Mode sent to radio, you tell the program you want to put the radio into RTTY (FSK) mode, not AFSK or SSB mode. Do not configure the FSK serial port in the Configurer under the Hardware tab, and do not select TinyFSK as the TU type under the Digital Modes tab. Let 2Tone take care of all of that. Of course, if you then decide to switch from 2Tone to MMTTY as your primary digital engine, you will have to change the setup in the Configurer as described in the next two sections.

10.1. In the N1MM Configurer

From the N1MM Logger Entry Window, select >Config >Configure Ports, Mode Control...

  • In the Configurer Dialog Window, select the >Hardware tab
    • In the Port column, identify the serial port connected to the Arduino
    • In the Digi column, check the box adjacent to the Arduino port number
    • In the Details column, press the adjacent Set button and set DTR = Always On and RTS = Always OFF
    • Set the Radio Nr to the radio number (1 in SO1R and SO2V, either 1 or 2 in SO2R depending on which radio the TinyFSK will be keying)
    • Set the Dig Wnd Nr to correspond with the Digital Interface window the TinyFSK will be associated with and transmitting from

Configurer TinyFSK

  • In the Configurer Dialog Window, select the >Digital Modes tab
    • Under Digital Interface 1, TU Type
      • Select TinyFSK, and enter the serial port settings as 9600, N, 8, 1, None
    • If planning to operate SO2V, under Digital Interface 2, TU Type
      • Select TinyFSK, and enter the serial port settings as 9600, N, 8, 1, None

Configurer TinyFSK2

    • Note that when you use TinyFSK, you are in effect using a TNC to transmit, but a sound card program such as MMTTY to receive. Therefore, in addition to configuring the TinyFSK serial port on the left side of this window, you also need to configure the sound card interface you will be using to receive with on the right side of the window. Since you are only using the sound card interface to receive, you should configure it for AFSK (even though you are actually transmitting using FSK), in order to prevent the sound card interface from trying to key FSK in parallel with the TinyFSK. You can configure the sound card program to use a sound card output that is otherwise unused. Do not configure the sound card program (e.g. MMTTY) to transmit using FSK, as that could conflict with N1MM+'s use of the TinyFSK for FSK keying.

  • In the Configurer Dialog Window, select the >Mode Control tab
    • On the right side, under Mode sent to Radio, in the row for RTTY set the "Mode sent to radio" to RTTY (to put the radio into FSK mode when the program is in RTTY mode)

10.2. In the Digital Interface (DI)

From the N1MM Logger Digital Interface (DI) Window, select >Setup >Settings

  • In the Digital Setup Window
    • Under the General/MMTTY Setup tab, at the right side, set the Preferred RTTY Interface to whichever sound card program you are using to receive with (if you are using 2Tone, select the MMTTY setting)
    • Under the Message Setup tab, Digital Message Set, select Other, TinyFSK
    • Press, in sequence, the three buttons labeled TX, RX, ESC. For each of these verify the following settings
      • Press TX: Message Text = [{ENTER} , Message Caption = TX
      • Press RX: Message Text = ]{ENTER} , Message Caption = RX
      • Press ESC: Message Text = \ , Message Caption = ESC

DigitalInterface TinyFSK

Last Modification: 30 August 2018 13:31:51 EDT by VE3KI.