IC-9700

The IC-9700 program turns the RFzero into a 49,152 MHz GPSDO. But there is also a development version of the program, with many more features, that is work-in-progress. Please see Development version below for more information.

A display can be connected showing the time and GPS status. This way you will have a nice and accurate lab or shack clock too.

The configuration is done via the USB port. When the RFzero generates the GPSDO signal the TX LED is lit.

When GPS signals are received the PPS LED flashes ones per second, and when the status of the GPS signal is valid, the Valid LED is lit.

If you don’t have a solution to feed the 49,152 MHz signal into your IC-9700 the RFzero IC-9700 coupler board, is just what you are looking for.


Display

To setup the type of display used please use the “wr display” command. If you want to change what is shown on the display please edit the display.cpp file.

Please see the display page for more information.

LCD 16×2

The display shows the UTC, the GPS status, the number of satellites and the HDOP.

Example of an LCD 16×2.

LCD 20×4

The display is a LCD (20×4) that shows the GPS status, the UTC and the local time where D is for daylight saving time and N is for normal time.

Example of an LCD 20×4.

Graphical displays

The graphical displays show the GPS status, the UTC and the local time where DST is for daylight saving time.


Configuration

The configuration of the program is done via the USB port, 9600 Baud, 8 bits, no parity and one stop bit, using a terminal program (e.g. Arduino IDE Serial Monitor, Termite Terminal (Windows), CuteCom (Linux) or Terminal (Mac OS) or the RFzero Manager (Windows)). Please connect the RFzero via a USB data cable to your computer and connect the terminal program to the right COM port in the terminal program. The RFzero identifies itself as an Arduino Zero (Windows Device Manager).

If you don’t see the RFzero> or RFzero config> prompts please press the enter key. When you want to execute a command you don’t have to enter the prompt but only the command and parameters after the >.

Changes to the configuration does not take effect before leaving the configuration mode.

All input to the RFzero must be in lowercase.

To enter the configuration mode please enter   config   at the RFzero> prompt, i.e.

RFzero> config

To see the available commands please enter   ?   at the RFzero config> prompt, i.e.

RFzero config> ?

To leave the configuration mode please enter   exit   at the RFzero config> prompt, i.e.

RFzero config> exit

When in configuration mode, i.e. when you see the RFzero config> prompt, the most frequent commands are

rd cfg

to see the configuration that will be used after exiting the configuration mode.

wr defaults

to set most of parameters to their default values. Please see the actual program for the specific default values.

wr t1 MODE

to set the T1 H/W mode where MODE is

  • 0: Transformer (default)
  • 1: Combiner
  • 2: None

wr display MODE

to set the display mode where MODE is

  • 0: None
  • 1: LCD 16 characters and two lines, HD44780 interface
  • 2: LCD 20 characters and four lines, HD44780 interface
  • 3: LCD 16 characters and two lines, HD44780 via I2C PCF8574 interface
  • 4: LCD 20 characters and four lines, HD44780 via I2C PCF8574 interface
  • 5: Graphics display, ILI9341 SPI interface
  • 6: Graphics display, ILI9488 SPI interface

wr pcf8574 ADDR

to set the I2C address of a PCF8574 series, if used, where ADDR is

  • 0: if not used
  • PCF8574 and PCK8574T: 0x20-0x27
  • PCF8574A: 0x38-0x3F

wr level LEVEL

where LEVEL is the drive strength current in the output stages. This effectively changes the output power by up to 10 dB, but varies somewhat with frequency. Valid LEVEL values are

  • 0: 2 mA
  • 1: 4 mA
  • 2: 6 mA
  • 3: 8 mA, default level

To read more about the drive strength current please consult the Si5351A datasheet.

wr offset HOURS MINUTES

where HOURS is the number of hours the local time is offset relative to UTC and where west is negative and where MINUTES is the number of minutes relative to UTC, e.g.

wr offset 8 15

wr dst ONOFF

to turn on/off local daylight saving time where ONOFF is 0: normal, 1: daylight saving time (DST).

wr ampm ONOFF

to turn on/off local AM/PM time where ONOFF is 0: normal, 1: AM/PM.

wr gps MODE

  • 0: hide all NMEA strings
  • 1: show the $GPGGA and $GPZDA NMEA strings
  • 2: show the $GPGGA, $GPGLL, $GPGRS, $GPGSA, $GPGST, $GPGSV, $GPRMC, $GPVTG and $GPZDA NMEA strings

More commands are available so please enter a question mark (?) at the RFzero config> prompt to see them.


Development version

Besides the GPSDO functionality the idea is to develop

  • 49,152 MHz – done
  • Time update from GPS – done
  • CI-V communication – done
  • Band detection – done
  • Mode detection – done
  • Location update from GPS – done
  • Three band sequencer – done
  • Three band identification control lines – done
  • The IC-9700 or the RFzero can be the sequence controller – done
  • Two control lines per band, e.g. LNA and PA relays – done
  • Individual time delay for each sequencer step – done
  • Individual active high/low for each control line – done
  • On air LED – done
  • Optional SSB Apollo beep – done
  • ALC – partially done
  • Four SSB voice messages – partially done
  • Four CW messages
  • Display – awaiting the core development has been completed

Since this is work-in-progress the above list is subject to change.

The use of a display is pending until the core functionality of the sequencer has been fully developed.

The TX LED on the RFzero is lit when talking/sending. However, if the TX LED flashes, the IC-9700 has not yet been initialized by the RFzero, e.g. if the IC-9700 is not yet ready for accepting commands.

If power is applied to both the RFzero and IC-9700, but the IC-9700 is still turned off, then the RFzero turns the IC-9700 on.

For initial testing purposes it is recommended to set the time delay between each step to a high value e.g. 5000 ms, so you can follow each sequencer step taking place. Once confirmed you may tailor the time delays to match your station.

Please note that when you have a requirement for a sequencer, you cannot use VOX/break-in because VUSHF relays are generally slow and costly to replace.

The sequence controller

The sequence controller has two generic modes

  1. The PTT goes to the IC-9700, that initiates the sequence by setting A3/PTT-in on the RFzero low, and then the control is taken over by the RFzero
    • Pros
      • Trivial PTT connection
    • Cons
      • The IC-9700 transmits immediately
      • Power can go into open connections until the LNA relay changes, if an ALC controlled by the RFzero is not used
      • Less safe relay changeover than when the RFzero is the controller
  2. The PTT goes directly to A3/PTT-in on the RFzero, that initiates the sequence
    • Pros
      • The IC-9700 is the last to go into transmit mode and the first to go into receive mode
      • Best protection of relays
      • No transmission into open connections
    • Cons
      • The PTT line has to be intercepted, as it goes to the RFzero and not the IC-9700
      • The Transmit button on the IC-9700 cannot be used

The main difference between the two modes are the way the sequencing takes place going from receive to transmit, and back, and how the PTT-in is connected.

Control lines, active high, and time delays when the IC-9700 is the sequence controller.

Control lines, active high, and time delays when the RFzero is the sequence controller.

IC-9700 configuration

To release the full potential of the IC-9700 and RFzero, the configuration of the IC-9700 must be changed, so that CI-V Transceive is set to “ON”.

The below IC-9700 configuration is know to work, and is accessible from Menu | Set | Connectors | CI-V

  • CI-V Baud Rate: 19200
  • CI-V Address: A2h
  • CI-V Transceive: ON
  • USB/LAN… -> REMOTE Transceive Address: 00h
  • CI-V USB Port: Unlink from [REMOTE]
  • CI-V USB Baud Rate: Auto
  • CI-V USB Echo Back: ON
  • CI-V DATA Baud Rate: 19200
  • CI-V DATA Echo Back: OFF

Connections and circuits

Since there may be plenty of RF in the air around the radio station, all connections between the RFzero, IC-9700, LNA and PA relays should be properly shielded and decoupled.

Please note that D0 to D5 on the ULN2803A input, may also mean D0 to D5 on the ULN2083A outputs, respectively. Which one depends on the actual requirement. PTT-in is always on A3. The PTT-out is always on D7.

The active high/low state is, by definition, always as seen on the D0 to D5 inputs to the ULN2803A.

The connections to and from the RFzero.

RFzero pinFunctionIn/outInterfaceIC-9700
A2Message selectInputPush buttons circuit
A3PTT-in, active lowInputACC1-3 in IC-9700 seq. controller mode
A4CI-V TXOutputCI-V interfaceTo the CI-V jack
A5CI-V RXInputCI-V interfaceTo the CI-V jack
D02 m LNA control lineOutputDirect/D0 ULN2803A
D12 m PA control lineOutputDirect/D1 ULN2803A
D270 cm LNA control lineOutputDirect/D2 ULN2803A
D370 cm PA control lineOutputDirect/D3 ULN2803A
D423 cm LNA control lineOutputDirect/D4 ULN2803A
D523 cm PA control lineOutputDirect/D5 ULN2803A
D6Apollo beepOutputApollo beep circuitACC1-4
D7PTT-out, active highOutputD7 ULN2803AACC1-3 in RFzero seq. controller mode
D8ALC control, active highOutputALC circuitACC1-8
D162 m band bit, active highOutput
D1770 cm band bit, active highOutput
D1823 cm band bit, active highOutput
RF outGPSDO 49,152 MHzOutputSMA-SMA cableREF 10MHZ IN
GNDGround-ACC1-2

Currently the A0, A1, D9 and D19 pins are not used, but could be for future ideas. The D10 to D15 pins are reserved for LCD use.

PTT, antennas and PAs

Below are the connections for the two different sequence controller modes. The GPSDO RF connection is not shown but is the same in both modes.

Connections when sequence controller mode is set to the IC-9700.

Connections when sequence controller mode is set to the RFzero.

Control lines directly, sink or source

Each of the control lines D0 to D5 has to be adapted to the station’s requirements. If a 3,3 V and max 5 mA signal is sufficient for the control line, then it can be controlled by the relevant D0 to D5.

On-board the RFzero is an ULN2803A Darlington driver IC with eight open collector control lines. Each of the control lines D0 to D5 goes through the ULN2803A where they also become D0 to D5.

Most PAs are active when their PTT is connected to ground (sink). In this case D# can be used directly. Some LNA relays have to be sourced with 12 V during receive (source). In this case D# can be used together with a PNP transistor as shown below. The reason for sourcing the LNA relay is because, if the relay voltage disappears due to an error, the relay will be in transmission position, thus protecting itself and the PA. The error will then be discovered during receive, because signals will be attenuated a lot. If a 3,3 V to 50 V sink or source control line is needed, then the circuits below show how to make the connection.

ULN2803A circuit for a sink control line.

ULN2803A circuit for a source control line.

D: 1N4001 or similar if an inductive load like a relay is connected, R: 10 kΩ, Q: PNP transistor capable of handling the source current.

The ULN2803A Darlington driver inputs and outputs.

CI-V interface

Since the RFzero runs on 3,3 V you probably cannot use the below interface in parallel with a 5 V solution, even if the CI-V bus is designed for up to four radios. The interface clamps all voltages above 4 V.

The IC-9700 CI-V interface. The values are not critical.

R1: 10 Ω to 100 Ω, R2: 4,7 kΩ to 10 kΩ, D1-D3: 1N5817 or similar small signal Schottky diode, L1: 1 µH.

ALC circuit

The ALC circuit is only used, when the sequence controller mode is set to IC-9700, and the ALC mode is set to 2.

The ALC circuit negative voltage circuit.

R1: 100 Ω, C1 and C2: 100 µF, D1 and D2: 1N5817 or similar small signal Schottky diode.

The voltage on “RFzero D8” has to be replaced with an AC voltage from an NE555, SE555 or similar timer IC. The “ACC1-8” has to be switched by the RFzero D8 pin instead. More information to follow.

Status LEDs

Optional LEDs that show the status of each of the control lines may be connected. When you connect the LED to the control lines, it is important whether the specific control line is active high or active low.

LED connection for active high (left) and active low (right ) D#.

Message buttons circuit

Even if the messages have not yet been implemented, you should mount R1 to avoid random detection of a push button.

Message push button interface. The resistor values should be 5% or better.

Apollo beep circuit

If you don’t use the Apollo beep there is no need for the circuit.

Apollo beep circuit.

If the level of harmonics is to high for your setup a 100 μF capacitor connected to the point between the 1 kΩ and 1 μF capacitor and ground should help.

Configuration

wr ctrl ADDR

to set the CI-V address of the RFzero, where ADDR is 0x00 to 0xFF.

wr ic9700 ADDR

to set the CI-V address of the IC-9700, where ADDR is 0x00 to 0xFF.

wr speed BAUD

to set the CI-V speed between the IC-9700 and the RFzero, where BAUD is either

  • 4800
  • 9600
  • 19200

wr civ ECHO

to enable echoing the CI-V communication between the IC-9700 and the RFzero, where ECHO is

  • 0: disabled
  • 1: enabled

Echoing only done when the RFzero is in run mode.

wr upd MODE

to update the time and location of the IC-9700 with data from the GPS, where MODE is

  • 0: disabled
  • 1: enabled

wr beep ONOFF

to use an Apollo beep, in SSB mode only, when stopping to transmit, where ONOFF is

  • 0: disabled
  • 1: enabled

wr seq MODE

to select which device initiates the sequence, where MODE is

  • 0: the IC-9700 initiates the sequence
  • 1: the RFzero initiates the sequence

The command is not possible to use while transmitting.

wr alc MODE

to set the ALC mode used when the sequence controller is set to the IC-9700

  • 0: not used
  • 1: the RFzero manages the power level vs. the sequence
  • 2: external hardware, please see the ALC hardware description

The command is not possible to use while transmitting.

wr pol BAND ANT PA

to set the active polarity of the ANT and PA lines, i.e. D0 to D5, where band is

  • 0: 2 m
  • 1: 70 cm
  • 2: 23 cm

and ANT and PA polarities are

  • 0: low
  • 1: high

The active high/low state is, by definition, always as seen on the D0 to D5 inputs to the ULN2803A.

The command is not possible to use while transmitting.

wr time BAND T1 T3 T4

to set the time delays T1, T3 and T4 in ms, where T1, T3 and T4 values are 0-250, 300, 400, 500, 1000, 5000, where BAND is

  • 0: 2 m
  • 1: 70 cm
  • 2: 23 cm

The command is only available when the sequence controller is set to the IC-9700.

wr time BAND T0 T1 T2 T3 T4

to set the time delays T0, T1, T2, T3 and T4 in ms, where T1, T3 and T4 values are 0-250, 300, 400, 500, 1000, 5000, where BAND is

  • 0: 2 m
  • 1: 70 cm
  • 2: 23 cm

The command is only available when the sequence controller is set to the RFzero.

wr cmd VAL0 [-VAL9]

to manually enter a CI-V command, without the FD FD … FE bytes. The CI-V echoing, if enabled, is possible even in configuration mode. The number of VAL# arguments may range from one to ten, depending on the actual CI-V command.

The command is only available when the sequence controller is set to the RFzero.

Please also see the help in the program itself.


Output low pass filter

Since the output signal from the RFzero is a square wave. It is a good idea to filter the output signal with a low pass filter, if the cable from the RFzero to the IC-9700 is long. This will make the output signal sinusoidal, which will reduce  ringing or reflections on the distributed signal.

The Z1 to Z10 pads for a custom on-board filter.

Components values for a suitable MHz low pass filter.

Z1Z2Z3Z4Z5Z6Z7Z8Z9Z10
47 pF2,2 pF100 pF12 pF100 pF8,2 pF47 pF180 nH180 nH180 nH

Filter characteristics of a suitable low pass filter from 1 MHz to 400 MHz. The insertion loss is 0,7 dB at 52 MHz. Red is transfer function (10 dB/div), blue is input return loss (10 dB/div) and green is input SWR (At 1 MHz it is 1:1).