Articles

News

inde


Contact Information
Articles
Links

Using RS-232 with Icom Radios

Interface Unit: CT-17 (converts 5V TTL to RS-232 polar)
Note: Using the CT-17, up to 4 CI-V radios can be connected to one CT-17 at the same time and controlled independently.

Standard Connections Used: TXD, RXD, GND

Flow Control: None (for the equipment featured here); Carrier Sense Multiple Access with Collision Detection (CSMA/CD)

Type of RS-232 Command Set: Binary; variable length with binary delimiters and specific address byte value for each radio;

Data Parameters: 1200 bps (standard, but can be increased with some radios), 1 start, 8 data + 1 stop bit

Overview of RS-232 Command Set

The RS-232 command set used by the Icom range of radios is not ASCII text, so it is not possible to use a text-based terminal to type commands directly into the radio. Instead, variable length binary command format is used of the following format:

FE FE ra E0 cn sc dt FD

Generic format of Icom RS-232 commands

The data bytes must be sent from left to right (the preamble codes sent first).

A selection of default address values by model

Consult your radio's manual if you do not see the model number of your radio listed here.

ra Model   ra Model
04 IC-735   22 IC-471
08 IC-R7000   24 IC-1271
10 IC-275   26 IC-781
12 IC-375   28 IC-725
14 IC-475   2A IC-R9000
16 IC-575   2C IC-765
18 IC-1275   2E IC-970
1A IC-R71 (CI-V)   30 IC-726
1C IC-751 (CI-V)   32 IC-R72
1E IC-761   34 IC-R7100
20 IC-271   E0 Controller

Sending data to the radio (via the controller)

Byte
value
Function Comment
FE Preamble code FE must be sent twice for data
ra Receive Address Specifies the target radio's address
E0 Transmit Address Specifies the controllers adress
(E0 is the standard address for the
controller)
cn Command Number Specifies a command number
sc Sub-command Number Specifies a sub command number
(used in association with cn)
dt Data Area Optional data area
FD End of message code FD must be sent once to terminate the
command

Receiving data from the radio (via the controller)

Byte
value
Function Comment
FE Preamble code FE must be sent twice for data
E0 Transmit Address Specifies the controllers adress
(E0 is the standard address for the
controller)
ra Receive Address Specifies the target radio's address
cn Command Number Specifies a command number
sc Sub-command Number Specifies a sub command number
(used in association with cn)
dt Data Area Optional data area
FD End of message code FD must be sent once to terminate the
command

Data sent from the radio has the position of the address bytes reversed when compared with data sent to the radio. This makes logocal sense.

In addition to these formats, the following acknowledgement messages may also be sent from the radio in response to commands

OK message

Command acknowledgment (FB=OK)

FE FE E0 ra FB FD

NG message

Command was received but could not be executed (usually owing to an error or incorrect specification) (FA=NG)

FE FE E0 ra FA FD

Eample conditions that can generate an NG message:

  • Command 00 or 01 has been received
  • Undefined command or subcommand is received
  • Specified frequency or mode is not supported by the radio
  • The radio is not equiped with the specified function
  • The radio is not equiped with the specified memory function
  • A blank channel has been specified for command message 0A

Frequency data format (BCD)

Frequency data must be formatted in binary coded decimal (BCD) format. Five bytes are used to represent the frequency value.

For Example: If the operating frequency is 145.123450 MHz, the following data bytes represent this frequency

fd
=
50 34 12 45 01
1's Hz 1's kHz 10's kHz 1's MHz 100's MHz

Note: not all radios support tuning resolutions down to 1's Hz - consult your radio's manual

Mode values

Mode Mode byte value
LSB 00
USB 01
AM 02
CW 03
FSK 04
FM 05
Wide FM 06
SSB (R-7000 only) 0500

Common Commands

The following commands are commonly used

cn sc Operation Comment
00 - Transfers operating frequency data Transfer the operating frequency
among several radios
01
md pd
Transfers operating mode data md = mode number
pd = passband data
02 - Reads upper/lower frequency data  
03 - Reads operating frequency data Frequency is in BCD format
(5 bytes)
04 - Reads operating mode data See mode table for valid
values
05 - Writes operating frequency data Frequency is in BCD format
(5 bytes)
06
md pd
Writes operating mode data md = mode number
pd = passband data
07
- Selects VFO Mode
00 Selects VFO A
01 Selects VFO B
A0 VFO A = VFO B
B0 VFO A <-> VFO B
C0 Turns off dual watch
C1 Turns on dual watch
D0 Accesses main band
D1 Accesses SUB band
E0 wn
Selects the front window
VFO operations wn = window no.
08 - Selects memory mode  
08 mc Selects memory channel mc = channel number (in BCD)
09 - Memory write Write displayed contents into
selected memory channel
0A - Memory channel -> VFO Copy the selected memory
contents into a VFO
0B - Memory clear Clears selected memory
channel contents
0C - Reads offset frequency Frequency is in BCD format
(3 bytes)
0D - Writes offset frequency Frequency is in BCD format
(3 bytes)
0E
00 Stops scan or window scan
01 Start programmed scan
or memory scan
02 Start programmed scan
03 Delta-f scan starts
04 Start auto memory-write
scan
12 Start fine programed scan
13 Start fine delta-f scan
22 Start memory scan
23 Start selected memory scan
24 Start selected mode scan
42 Start priority or window scan
A0 Unfix centre frequency for
delta-f scan
AA Fix centre frequency for
delta-f scan
A1 Sets delta-f = +/- 2.5kHz
A2 Sets delta-f = +/- 5kHz
A3 Sets delta-f = +/- 10kHz
A4 Sets delta-f = +/- 20kHz
A5 Sets delta-f = +/- 50kHz
B0 Set the selected memory
number as non-effective
B1 Set the selected memory
number as effective
B2 Set the scan number for
the selected memory channel
C0 Turns off VSC
C2 Turns on VSC
D0 Select scan resume (infinite)
D1 Select scan resume (off)
D2 Select scan resume
(condition A)
D3 Selects scan resume
(condition B)
Scan operations Start or stop a scan function
0F
00 Cancel split frequency
operation
01 Select split frequency
operation
10 Cancel duplex operation
11 Select -ve duplex operation
12 Select +ve duplex operation
Split frequency and duplex
operations
 
10
00 Select minimum tuning step
01 Select tuning step 1
02 Select tuning step 2
03 Select tuning step 3
04 Select tuning step 4
05 Select tuning step 5
06 Select tuning step 6
07 Select tuning step 7
08 Select tuning step 8
09 Select tuning step 9
10 Select tuning step 10
Step operations Select a tuning step (TS)
11
00 Attenuator off
10 Select 10dB attenuator
20 Select 20dB attenuator
30 Select 30dB attenuator
Attenuator operations Select an attenuator level
12
00 Turn off antenna input
01 Turn on antenna input
Antenna operation Turns the antenna switch on/off
13
00 Announce all data
01 Announce frequency data
Voice unit operation Requires optiona voice unit
14
sc gd
Selects the AF, RF gain and
squelch
sc Operation
01 Select AF gain
02 Select RF gain
03 Select squelch

gd is a BCD value

15
01 Reads squelch status
02 Read signal level
S-meter and squelch reading Value returned is in BCD format

Specific details of the commands listed here are in the manual for your radio (if a recent model), otherwise the commands are described in the Icom publication: Icom Communication Interface -V Reference Manual, which is available from Icom. You must consult the relevant manual for your radio for the extra detail needed to implement your software.

Here are some comments on the IC-756 from:

> From: Ekkehard Plicht <100315.3351@compuserve.com>
> To: Simon Collings <simon.collings@cableinet.co.uk>
> Subject: ICOM CI-V on IC756
> Date: 24 December 1997 22:33
>
> Hello Simon,
>
> recently i found your webpage when looking for the CI-V protocol. Thanks
> for providing this information on the web. I used to have the written doc
> from ICOM but borrowed it to someone and never got it back :-(
>
> To provide you with more information on this topic here is something from
> my new IC-756 rig:
>
> Default adress is $50
>
> Command $12 is extended. To understand this: the IC756 has two anntenna
> connectors for transmit/receive and a third (aux) one for receive only.
You
> can select four combinations
> TX/RX on ant1 (cmd $12 $00; $12 $00 $00 is also valid)
> TX/RX on ant2 (cmd $12 $01; $12 $01 $00 is also valid)
> TX on ant1, RX on aux-rx (cmd $12 $00 $01)
> TX on ant2, RX on aux-rx (cmd $12 $01 $01)
>
> Cmds $11, $14 and 15$ don't work on the IC756.
>
> I have written some software for the ICOM rigs, just for the fun of it. In
> my opinion the CI-V protocol is the best there is, my othere experiences
> are with the AR3030A and a Kenwood rig.
>
> That's all for now, thanks again and have a great holiday.
>
> 73, Ekkehard, DF4OR
> :

Basics | Kenwood | Icom | Yaesu | AOR | At a glance

This document maintained by simon.collings@cableinet.co.uk.
Material Copyright © 2000 Simon Collings