Table of contents
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
- 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
- Pros
- 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
- Pros
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 pin | Function | In/out | Interface | IC-9700 |
---|---|---|---|---|
A0 | ALC control, active high | Output | ALC circuit | ACC1-8 |
A1 | Message select | Input | Push buttons circuit | |
A2 | PTT-in from foot switch etc. | Input | ||
A3 | PTT-in, active low | Input | ACC1-3 in IC-9700 seq. controller mode | |
A4 | CI-V TX | Output | CI-V interface | To the CI-V jack |
A5 | CI-V RX | Input | CI-V interface | To the CI-V jack |
D0 | 2 m LNA control line | Output | Direct/D0 ULN2803A | |
D1 | 2 m PA control line | Output | Direct/D1 ULN2803A | |
D2 | 70 cm LNA control line | Output | Direct/D2 ULN2803A | |
D3 | 70 cm PA control line | Output | Direct/D3 ULN2803A | |
D4 | 23 cm LNA control line | Output | Direct/D4 ULN2803A | |
D5 | 23 cm PA control line | Output | Direct/D5 ULN2803A | |
D6 | Apollo beep | Output | Apollo beep circuit | ACC1-4 |
D7 | PTT-out, active high | Output | D7 ULN2803A | ACC1-3 in RFzero seq. controller mode |
D16 | 2 m band bit, active high | Output | ||
D17 | 70 cm band bit, active high | Output | ||
D18 | 23 cm band bit, active high | Output | ||
RF out | GPSDO 49,152 MHz | Output | SMA-SMA cable | REF 10MHZ IN |
GND | Ground | - | ACC1-2 |
Please note that the currently unused pins could be assigned later on when new ideas surface 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 (pending) is only used, when the sequence controller mode is set to IC-9700, and the ALC mode is set to 2.
The ALC control voltage is found on pin A0. 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 msg MODE
to select which modes the IC-9700 built-in messages can be invoked, where MODE is
- 0: all disabled
- 1: CW only
- 2: SSB only
- 3: all modes
To be able to use the messages the message push button circuit has to be connected.
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.
Z1 | Z2 | Z3 | Z4 | Z5 | Z6 | Z7 | Z8 | Z9 | Z10 |
---|---|---|---|---|---|---|---|---|---|
47 pF | 2,2 pF | 100 pF | 12 pF | 100 pF | 8,2 pF | 47 pF | 180 nH | 180 nH | 180 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).