Remote Scanner Control Protocol

©Uniden Models BC895XLT and BC245XLT

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

The BC895XLT and BC245XLT radios can both be controlled remotely by just about any device programmed to communicate over an RS-232C style serial port. Control is accomplished by sending a command (usually just two letters) followed by a carriage return. The radio will respond with OK for okay, NG for no good, or some other usually short message which is also almost always followed by a carriage return. The command set for the two radios is very similar but not identical. The most notable differences arise due to the differences in features offered by the two radios. The 245 does not have CTCSS while the 895 does not have an EDACS trunked mode. Both support Motorola I/II trunked modes. Some commands are only relevant in certain modes and will return "OK" in some circumstances and "NG" in others. An "ERR" suggests an invalid command. The following commands are common to both radios: AC DL DS IC ID IL IS KEY LL LO LU MA MD MU PC PM PR QU RF RI RM SB SQ WI. These commands are unique to the BC895: AR CC CD CS CT SG SS ST. These commands are unique to the 245: AF AL AT BT FI LT PI RG SI TB TD VR. Each command will include the following legend to indicate on which model and which modes are valid for the command.
 
BC895 BC245 MAN SCAN Moto EDACS

The BC895XLT's serial port connection operates at 2400, 4800, or 9600 baud (bps) with 8 data bits and no parity. The BC245XLT's serial port settings can be set to even faster baud rates. Both radios' port settings can be changed from the keypad (see manual).

A

AC
Erase/Clear All Memory

BC895 - yep BC245 - yep MAN SCAN Moto EDACS

AC<cr>
no parameters
returns "OK".

Erases all of the radio's memory; factory reset.

AF
Inspect/Select Using AFS Talk Group Notation

BC895 - no BC245 - yep MAN SCAN Moto EDACS

AF<cr>
no parameters
returns "NG"

AFb<cr>
parameter b - letter 'N' to turn feature on or letter 'F' to turn feature off.
returns "OK<cr>"

AFS is Address-Fleet-Subfleet notation for entering and displaying talk group Ids..

AL
Inspect/Set Auto Light

BC895 - no BC245 - yep MAN SCAN Moto EDACS

AL<cr>
no parameters
returns "NG"

ALb<cr>
parameter b - letter 'N' to turn feature on or letter 'F' to turn feature off.
returns "OK<cr>"

When activated, the scanner will automatically turn the light on for 5 seconds whenever a transmission is
found.

AR
To Be Documented

AT
Inspect/Set Attenuator

BC895 - no BC245 - yep MAN SCAN Moto EDACS

AT<cr>
no parameters
returns "ATN<cr>" or "ATF<cr>"

AT<cr>
parameter b - letter 'N' to turn feature on or letter 'F' to turn feature off.
returns "OK<cr>"

B

BT
Inspect/Set Status Bit

BC895 - no BC245 - yep MAN SCAN Moto - yep EDACS - no

BT<cr>
no parameters
returns "NG" or "BTN" or "BTF".

BTb<cr> parameter b - letter 'N' to turn feature on or letter 'F' to turn feature off.
returns "OK" or "NG".

BT is valid for tracking Motorola systems only.

C

CC
To Be Documented

BC895 - yep BC245 - no MAN SCAN Moto EDACS

CD
To Be Documented

BC895 - yep BC245 - no MAN SCAN Moto EDACS

CS
To Be Documented

BC895 - yep BC245 - no MAN SCAN Moto EDACS

CT
To Be Documented

BC895 - yep BC245 - no MAN SCAN Moto EDACS

D

DL
Inspect/Set Delay

BC895 - yep BC245 - yep MAN SCAN Moto EDACS

DL<cr>
no parameters
returns "DLN<cr>" or "DLF<cr>"

DLb<cr>
parameter b - letter 'N' to turn feature on or letter 'F' to turn feature off.
returns "OK<cr>"

DS
Confirm/Set DATA SKIP function

BC895 - yep BC245 - yep MAN SCAN Moto EDACS

DS<cr>
no parameters
returns "DSN" or "DSF".

DSb<cr>
parameter b - letter 'N' to turn feature on or letter 'F' to turn feature off.
returns "OK<cr>"

E

none

F

FI
Set/Inspect Frequency Find Mode

BC895 - no BC245 - yep MAN SCAN Moto - yes EDACS - yes

FI<cr>
no parameters
returns "FIN" or "FIF".

FIb<cr>
parameter b - letter 'N' to turn feature on or letter 'F' to turn feature off.
returns "OK<cr>"

When set in trunk mode, FI causes the scanner display to alternately flash the trunk id and trunk frequency.

G

none

H

none

I

IC
Get ID channel from talk group bank.
- or -
Confirm/Set ID memory number

BC895 BC245 - yep MAN SCAN Moto EDACS

IC <cr>
no parameters.
returns the currently selected ID in the current talkgroup bank if there is one or "NG" if no such thing exists.

IC bn<cr>
parameter b - a talk group bank letter 'A' through 'J'
parameter n - a bank memory slot digit '1' through '9' for the first nine slots and '0' for slot ten.
returns "IC bn tttttt" where b and n are as before and tttttt is a six digits talk group or "------" if the slot is empty.

examples:
"IC" RETURNS "NG"
"IC A1" RETURNS "IC A1 022000"
"IC A2" RETURNS "IC A2 016112"
"IC B0" RETURNS "IC B0 ------"
"IC D4" RETURNS "IC D4 ------"
"IC E2" RETURNS "IC E2 ------"
"IC E0" RETURNS "IC E0 ------"

ID
Trunk ID Mode Inspect/Select

BC895 - yep BC245 - yep MAN SCAN Moto EDACS

ID<cr>
no parameters.
returns the current ID mode setting, either "IDN" for on for "IDF" for off.

IDb<cr>
parameter b - letter 'N' to turn feature on or letter 'F' to turn feature off.
returns the current ID mode setting, either "IDN" for on for "IDF" for off or returns "OK" or "NG".

when turned on, the radio begins streaming talk group ID numbers with 'S' for start of conversation and 'E' for end of conversation. S/E pairs do not appear to overlap so radio may miss some IDs in this mode.

example output:
ID S 016048
ID E 016048

IL
Inspect Lockout Memory Registers

BC895 - yep BC245 - yep MAN SCAN Moto EDACS

IL<cr>
no parameters.
returns unknown.

This command reads all IDs in L/O memory; registers an ID into L/O memory or deletes an ID from L/O memory.

IS
Confirm/select ID scan lists

BC895 - yep BC245 - yep MAN SCAN Moto EDACS

IS<cr>
no parameters.
returns unknown.

ISb<cr>
parameter b - "b" is one of the selected bank letters 'A' through 'J'.
returns unknown.

J

none

K

KEY

BC895 - yep BC245 - yep MAN SCAN Moto EDACS

KEYnn<cr>
parameter nn - two digit number
returns "OK" or "ERR" or "NG".

Has the same effect as a user pressing the corresponding key on the radio.

KEYnnH<cr>
parameter nn - two digit number
returns "OK" or "ERR" or "NG".

Has the same effect as a user pressing and holding the corresponding key on the radio to about two or three seconds.

The following is a table of known two digit codes and their keypad equivalent.

00 SCAN
01 MAN (manual)
02 numeric keypad key (see details below).
03 "." (decimal point) or ATT (attenuator)
04 E (enter)
05 PRI (priority)
06 L/O (lockout)
07 HOLD/UP (arrow)
08 LIMIT/DOWN (arrow)
09 SRCH (search)
10 SVC (service)
11 DATA
12 DLY (delay)
13 TRUNK
14 * (lightbulb)

KEY02 d<cr>
parameter d - one digit number.
returns "OK" or "ERR" or "NG".

Has the same effect as a user pressing the corresponding numeric key '0' through '9' on the keypad.

L

LL
Search Lower Limit

BC895 - yep BC245 - yep MAN SCAN Moto EDACS

LL<cr>
no parameters.
returns the scanner limit search lower bounding frequency in the form "LLnnnnnnnn" where nnnnnnnn is an eight digit frequency in hundreds of hertz,

LLnnnnnnnn<cr>
parameter nnnnnnnn - eight digit frequency in hundreds of hertz (divide by ten for kilohertz or 10,000 for megahertz).

LO
Channel Lockout Set/Inspect
- or -
Talk Group ID Lockout Set/Inspect

BC895 - yep BC245 - yep MAN SCAN Moto EDACS

LO<cr>
no parameters.
returns "NG" while scanning in conventional mode and in both trunked scan-ID mode and trunked search-ID mode; returns "LON" or "LOF" in conventional manual mode.

LOb<cr>
parameter b - letter 'N' to turn feature on or letter 'F' to turn feature off.
returns "NG" or "OK".

This may just be an alias for the L/O key (KEY06). Not sure, probably not.

LT
Scanner LCD Display Backlight Set/Inspect

BC895 - no BC245 - yep MAN SCAN Moto EDACS

LT<cr>
no parameters.
returns "LTN" or "LTF".

LTb<cr>
parameter b - letter 'N' to turn feature on or letter 'F' to turn feature off.
returns "OK" or "ERR" or "NG".

Turns the light on or off.

LU
Search Upper Limit

BC895 - yep BC245 - yep MAN SCAN Moto EDACS

LU<cr>
no parameters.
returns the scanner limit search upper bounding frequency in the form "LLnnnnnnnn" where nnnnnnnn is an eight digit frequency in hundreds of hertz,

LUnnnnnnnn<cr>
parameter nnnnnnnn - eight digit frequency in hundreds of hertz (divide by ten for kilohertz or 10,000 for megahertz).

M

MA
Inspect/Set Memory Channel

BC895 - yep BC245 - yep MAN SCAN Moto EDACS

MAccc<cr>
parameter ccc - three digit numeric memory channel number in range of 001 to 300.
returns the channel number, frequency, a trunked channel indicator, a delay indicator, a lock-out indicator, a channel attenuator indicator (not used on 245), an auto record indicator (also not used on 245), and a two digit CTCSS tone number (again not used on 245); format for this is "Cccc Fffffffff Tb Db Lb Ab Rb Nzz<cr>" where ccc is the channel number in range of 001 to 300, ffffffff is eight digit frequenct in hundred hertz units, b is either "N" if the setting is on and "F" if the setting is off; and zz is the two digit CTCSS squelch tone.

See also PM command.

MD
Inspect Scanner Mode

BC895- yep BC245 - yep MAN SCAN Moto EDACS

MD<cr>
no paramters.
returns "MDmm<cr>" where mm is a two digit mode number; the table below interprets...

00 - conventional channel scan.
01 - manual mode.
02 - limit search.
03 - *paused* limit search (hold button pressed).
04 - SVC(service) search mode.
05 - *paused * SVC search (hold button pressed).
06 - program trunk frequency mode
07 - unknown
08 - program trunk frequency mode
09 - trunked ID search mode
(either the ID search where you get audio or the mode where only ID's pop up)
10 - unknown.
11 - scan ID list (different from 895?!); occurs when in the trunk scan mode and the selected ID is not present
12 - *paused* trunked mode scan (manually sitting on one trunk ID ie. don't scan Ids).
?? - others yet unknown.

MU
Inspect/Set Speaker Muting

BC895 - yep BC245 - yep MAN SCAN Moto EDACS

MU<cr>
no parameters.
returns "MUA" (default) for automatic squelch based on squelch knob, "MUN" for a muted speaker, and "MUF" for speaker always on regardless of squelch setting.

MUb<cr>
parameter b - letter 'N' to turn feature on or letter 'F' to turn feature off or letter "A" for automatic.
returns "OK" or "NG".

N

none

O

none

P

PC
Inspect/Set Priority Channel

BC895 - yep BC245 - yep MAN SCAN Moto EDACS

PC b<cr>
parameter b - a channel bank letter 'A' through 'J'
returns "PC bccc" where b is the same as parameter b above and cc is the channel number within the bank.

PC bccc<cr>
parameter b - a channel bank letter 'A' through 'J'
parameter ccc - the channel number within the bank above.
returns "OK" or "NG".

Examines or sets the priority channel within a given channel bank; any one of the thirty channels in a bank may be designated as the priority channel.

PI
Inspect/Set Priority Talk Group

BC895 - no BC245 - yep MAN SCAN Moto EDACS

PI b<cr>
parameter b - a talk group bank letter 'A' through 'J'
returns "PI bc tttttt<cr>" where b is parameter b above, c is the single digit talk group bank memory slot number 1 through 9 for the first nine slots, or 0 for slot ten; and tttttt is the talk group ID value stored in that slot.

PI bc<cr>
parameter b - a talk group bank letter 'A' through 'J'
parameter c - single digit talk group bank memory slot number 1 through 9 for the first nine slots, or 0 for slot ten.
returns "OK" or "NG".

Examines or sets the priority talk group within a given talk group bank; any one of the ten talk groups in a talk group bank may be designated as the priority talk group.

PM
Read/Write Memory Channel Frequency

BC895 - yep BC245 - yep MAN SCAN Moto EDACS

PMccc<cr>
parameter ccc - three digit numeric memory channel number in range of 001 to 300.
returns the channel number, frequency, a trunked channel indicator, a delay indicator, a lock-out indicator, a channel attenuator indicator (not used on 245), an auto record indicator (also not used on 245), and a two digit CTCSS tone number (again not used on 245); format for this is "Cccc Fffffffff Tb Db Lb Ab Rb Nzz<cr>" where ccc is the channel number in range of 001 to 300, ffffffff is eight digit frequenct in hundred hertz units, b is either "N" if the setting is on and "F" if the setting is off; and zz is the two digit CTCSS squelch tone.

PMccc ffffffff<cr>
parameter ccc - three digit numeric memory channel number in range of 001 to 300.
parameter ffffffff - eight digit radio frequency as expressed in hundreds of hertz.
Nore: even though you can inspect the trunked channel indicator, delay indicator, lock-out indicator, attenuator indicator, auto record indicator, and CTCSS tone number using this command - you cannot set them using this command! You must use other commands to set each of these.

PR
Inspect/Set Priority Scan

BC895 - yep BC245 - yep MAN SCAN Moto EDACS

PR<cr>
no paramters
returns "PRN" or "PRF".

PRb<cr>
parameter b - letter 'N' to turn feature on or letter 'F' to turn feature off.
returns "OK" or "NG".

Q

QU
Inspect/Set Squelch Notify Mode

BC895 - yep BC245 - yep MAN SCAN Moto EDACS

QU<cr>
no parameters
returns "QUb<cr>" where b is letter 'N' when feature is on or letter 'F' when feature is off.

QUb<cr>
parameter b - letter 'N' to turn feature on or letter 'F' to turn feature off.
returns "OK" or "ERR".

Scanner will send a plus sign ("+<cr>") when the squelch opens and a minus ("-<cr>") when squelch closes. Could be nice for activating a tape recorder, etc.

R

RF
Set/Confirm Radio Frequency

BC895 - yes BC245 - yep MAN SCAN Moto EDACS

RF<cr>
no parameters
returns "RFbbbbbbbb<cr>" if a frequency has been tuned or "NG" if not.

RFbbbbbbbb<cr>
parameter b - frequency digits from 1 GHz digit to 100 Hz digit.
Tunes radio to designated frequency without storing the frequency in memory.

RFbbbbbbbb?<cr>
parameter b - frequency digits from 1 GHz digit to 100 Hz digit.
Tunes radio to designated frequency without storing the frequency in memory.
returns "RFbbbbbbbb<cr>"

This command was listed as "TN" in the BC895 protocol although "TN" is not valid for either the BC895 or
BC245. It was changed to "RF" for both radios. This command is valid in MANUAL mode only.
 

RG
Confirm/Set Radio Group?

BC895 - no BC245 - yep MAN SCAN Moto EDACS

RG<cr>
no parameters
returns "RGN" if this feature is on and returns "RGF" if it is not.

RGb<cr>
parameter b - letter 'N' to turn feature on or letter 'F' to turn feature off.
returns "OK<cr>" or "NG<cr>"

This command is valid in trunk mode and in Edacs mode RGN sets the display to 00-00-. It appears to have
something to do with talk groups (radio groups), but it is not known exactly what.

RI
Confirm/Set Priority Indicator

BC895 - yep BC245 - yep MAN SCAN Moto EDACS

RI<cr>
no parameters
returns "RIN" if this is the priority channel and returns "RIF" if it is not.

RIb<cr>
parameter b - letter 'N' to turn feature on or letter 'F' to turn feature off.
returns "OK<cr>" or "NG<cr>"

RM
Inspect Reciever Modulation

BC895 - yep BC245 - no MAN SCAN Moto EDACS

RM<cr>
no parameters
returns "NG" for the 245; on the 895 returns "RM AM<cr>" or "RM NFM<cr>"

S

SB
Set/Inspect Channel Bank Selections

BC895 - yep BC245 - yep MAN SCAN Moto EDACS

SB<cr>
no parameters.
returns "SB bbbbb<cr>" where bbbbb is one or more channel bank letters 'A' through 'J' up to and including all ten (ie. "ABCDEFGHIJ").

SB bbbbb<cr>
parameter bbbbb - one or more channel bank letters 'A' through 'J' up to and including all ten (ie. "ABCDEFGHIJ").
returns an echo of the command above.

This command determines what channel banks have been selected for scanning and can also change the selection.

SG
To Be Documented

BC895 - yep BC245 - no MAN SCAN Moto EDACS

SS
To Be Documented

BC895 - yep BC245 - no MAN SCAN Moto EDACS

SI
Inspect Radio System Information

BC895 - no BC245 - yep MAN SCAN Moto EDACS

SI<cr>
no parameters.
returns information about the scanner; more specifically it returns "SI BC245XLT,000000000,102" which appears to be the scanner model and firmware version Information. Another owner's radio  reports "SI BC245XLT,000000228,102". Your mileage may vary.

SQ
Inspect Squelch

BC895 - yep BC245 - yep MAN SCAN Moto EDACS

SQ<cr>
no parameters
returns "+" or "-" where "+" indicates squelch is open, and "-" indicates squelch is closed (muted).

ST
Set or Inspect Step Size

BC895 - yep BC245 - no MAN SCAN Moto EDACS

ST<cr>
no parameters
returns "ST0000000<cr>".

STffffffff<cr>
parameter ffffffff - frequency step size in hundreds of hertz.
returns "OK" or "NG".

example:
"ST00000500" specifies a 50 kilohertz step size.

The ST command is ignored by the BC245XLT which uses an internal table to determine step size based on the radio band of the current frequency when doing a limit search.

T

TB
Inspect Current Trunked Mode

BC895 - no BC245 - yep MAN SCAN Moto EDACS

TB<cr>
no parameters
returns "TD b tttttt<cr>" where b is channel bank letter 'A' through 'J' and tttttt is a six character (or so) text description of the trunking mode; known values are "E2-800", "E2-900", "E2-Hi", "E2-Lo", "ED", "E1".
returns "NG" in conventional mode...

Tells what trunk mode the radio is in (EDACS, Type 2-800, Type 1, etc.).

TD
Set/Inspect Slash Data Mode

BC895 - no BC245 - yep MAN SCAN Moto EDACS

TD<cr>
no parameters
returns "TDN" or "TDF".

TDb<cr>
parameter b - letter 'N' to turn feature on or letter 'F' to turn feature off.
returns "OK<cr>"

Turns the TD/Slash data option on or off.

U

none

V

VR
Inspect Firmware Version

BC895 - no BC245 - yep MAN SCAN Moto EDACS

VR<cr>
no parameters.
returns "VR1.00<cr>"

W

WI
Inspect Currently Monitored Channel

BC895 - yep BC245 - yep MAN SCAN Moto EDACS

WI<cr>
no parameters.
returns Wsss Fffffffff where sss is the window voltage and ffffffff is the currently monitored channel's eight digit
radio frequency as expressed in hundreds of hertz.

examples:
W107 F08680875<cr>
W108 F04601500<cr>

Window voltage shows how well centered on frequency a received signal is. The nominal value is around 100
and the value changes about 7.5 counts per kilohertz. The scanner uses ths information to keep search from
stopping off channel. It could be used to drive a center tuning meter in software.

X

none

Y

none

Z

none

References

Credits go to the following:
 
  • Trunkcom mailing list members Dave McCormick, Gary Hahn, Phil Smalley, Rich Wells and others.
  • Thanks to Bill Petrowski for proofreading and suggestions.
  • G. Sellani's list found at http://www.accesscom.com/~gsellani/
  • A. Giammarino's list found at http://wp.com/108101/bctrunk.html and http://wp.com/108101/895info.txt
  • Uniden BC895XLT Control Codes (scanned in JPEG format) from http://www.uniden.com
  • Others
  • Errata

  • Need to fill out the remaining BC895XLT specific commands.
  • Expand the KEY command to include a separate table for both the BC895 and BC245 specific key codes.

  •