Posted by admin

Features of the XRF

Transmission range on whip antenna of easily 300+ meters L.O.S. (570m in our tests)
Transmission range with external SMA antennas of Km’s (figures yet to be published)
Varaible: baud rate, over the air rate & frequency.
Repeater mode (mirrors data over 2 PANID’s).
Low power consumption 19ma RX, 32ma TX @full power (to be selectable)
Serially (RX/TX) updateable firmware, no CTS/DTR required.
Can be used as CC1110 micro with IAR C compiler software.

Features of the CC1110 as used in the XRF

High-performance RF transceiver based on the market-leading TI CC1101
Excellent receiver selectivity and blocking performance
High sensitivity (–110 dBm at 1.2 kBaud)
Programmable over the air data rate up to 500 kBaud
Programmable output power up to 10 dBm for all supported frequencies
Frequency range: 300 – 348 MHz, 391 – 464 MHz and 782 – 928 MHz
Digital RSSI/LQI support
Low Power
Lowest current consumption (RX: 16.2 mA @ 1.2 kBaud, TX: 15.2 mA @ –6 dBm output power)
High speed, full power consumption (RX:19mA @ 250kBaud, TX:32mA @ +10 dBm output power)
0.3 µA in PM3 (operating mode with the lowest power consumption, only external interrupt wakeup)
0.5 µA in PM2 (operating mode with the second lowest power consumption, timer or external interrupt wakeup)
MCU, Memory, and Peripherals
High performance and low power 8051 microcontroller core.
Powerful DMA functionality
8/16/32 KB in-system programmable flash, and 1/2/4 KB RAM
128-bit AES security coprocessor
7 – 12 bit ADC with up to eight inputs
I2S interface

XRF pinouts for transparent serial mode

01 - +3V3                   20 - Future use
02 - Data Out               19 - Future use
03 - Data IN                18 - Future use
04 - Future use             17 - Future use
05 - Reset                  16 - Future use
06 - Heart Beat             15 - Future use
07 - Future use             14 - Future use
08 - Future use             13 - Future use
09 - Sleep             12 - Future use
10 - GND                    11 - Future use

CC1110 datasheet, webpage & errata


XRF pinouts, physical connections to the TI CC1110 transciever ports

01 - +3V3                   20 - P2_4
02 - P0_3                   19 - P2_3
03 - P0_2                   18 - P2_2
04 - P0_4                   17 - P2_1
05 - Reset                  16 - P2_0
06- P1_7                    15 - P0_7
07- P1_6                    14 - P0_6
08- P1_5                    13 - P0_5
09- P1_4                    12 - P0_0
10 - GND                    11 - P0_1

CC Debugger connections

Antenna Lengths

Calculated antenna lengths.

433 1/4 wave = 164.7mm
433 1/2 wave = 329.4mm
433 full wave = 692.7mm

868 1/4 wave = 82.2mm
868 1/2 wave = 164.3mm
868 full wave = 345.5mm

915 1/4 wave = 77.9mm
915 1/2 wave = 155.9mm
915 full wave = 327.8mm

Useful site for calculation http://www.csgnetwork.com/antennaevcalc.html

TI uses slightly longer on CC1110 reference, unknown why. Chipcon/TI primer paper on antenna design with calculations http://www.ti.com/litv/pdf/swra088

Configuring your XRF

Attach the XRF to a PC using either the Cisceo FTDI USB interface or something similar. The baud rate by default is 9600

Note [ret] represents a carriage return character (enter key)

To enter command mode:(hyperterm/xctu etc)
Do nothing for at least 1 second
type in +++ (press nothing else)
then wait 1 second
XRF will reply OK, you are now in config mode, the wireless is suspended
General format of commands:
Command without parameter (usually used to query a configuration)

Command with parameter (up to 32 bytes of data)
ATxx [space] dddddd[ret] (versions after and inc. v0.11 the space is optional)

The XRF will reply ERR[ret] for any command that is not recognised.

AT command list

Command  Meaning                           XRFResponse        XRFResponse
                                           without parameter  with Parameter
                                           Actions the        Sets the value
                                           command or reads
                                           the value
AT       Null command                      OK[ret]            OK[ret]
ATAC     Apply Changes                     OK[ret]            N/A
         Returns OK and then
         applies changes to baud           
ATBD     Baud rate                         nnnnn[ret]         OK[ret]
         not set until ATAC command        OK[ret]
         Common baud rates in HEX:
          1200            4b0              Where nnnnn is      Parameter is the
          2400            960              the baud rate       baud rate in HEX
          4800            12c0             in HEX
          9600 (default)  2580
          19200           4b00
          31250 (MIDI)    7a12
          38400           9600
          57600           e100
          115200          1c200
ATCC     Change AT guard character         +[ret]            OK[ret]
         Example change to "///"           /[ret]
ATCH     Radio frequency                   n[ret]            OK[ret]
         Not set until ATCH command        OK[ret]
          1 – 915MHz
          2 – 903MHz                       Where n is the    Parameter is the
          3 – 868MHz                       frequency number  frequency to set
          4 – 433.5MHz                                       to.
          5 – 868.3MHz (default)
          6 – 315MHz
ATDN     Done                              OK[ret]           N/A
         exit AT command mode
ATDR     Radio data rate                   n[ret]            OK[ret]
         Not set until ATCH command        OK[ret]
          1 – 250Kbaud (default)
          2 – 38.4Kbaud                    Where n is the   Parameter is the
          3 – 1.2KBaud                     data rate (0-5)  data rate (0-5)
          4 – 100KBaud
          5 – 500KBaud
ATID     PANID (aka network name)          nnnn[ret]         OK[ret]
         Four hex characters               OK[ret]
         Default – 0000
         Max value FFEF                    Where nnnn is    Parameter is the
         (last 256 PANIds reserved for     the PANID        PANID
         internal use)
ATI2     PANID2 – for repeater function    nnnn[ret]        OK[ret]
         Four hex characters               OK[ret]
         Default – 0000
         Max value FFEF                    Where nnnn is    Parameter is the
         (last 256 PANIds reserved for     the PANID2       PANID2
         internal use)
ATNT     Node type                         n[ret]           OK[ret]
          0 – Serial pass through mode     OK[ret]
          1 – reserved
          2 – Repeater mode                Where n is the   Parameter is the
                                           current mode     mode to set

         NOTE: In repeater mode you cannot use the normal serial. What
               happens instead is that RF data on PANID and PANID2 are
               mirrored in both directions. This is useful for merging
               separate PANID networks or for extending the whole network
               by one node.
ATPC     Reprogram                          OK[ret]        N/A
         Chip will reprogram itself and reset
         Will return ERR if an image has not
         been downloaded into memory
ATPG     Enter program download mode        OK[ret]        N/A
ATPK     Radio packet length (in hex)       nn[ret]        OK[ret]
         Inc. 2 byte PANID, so min. is 3    OK[ret]
         Parameter is 3 to FC (3 to 250 decimal)
         Default is OE (14 - i.e. 12 data bytes)
ATPL     Radio TX power level               n[ret]         OK[ret]
          0  -30dBm                         OK[ret]
          1  -20dBm
          2  -15dBm
          3  -10dBm
          4   -5dBm
          5    0dBm
          6   +5dBm
          7   +7dBm
          8  +10dBm (default)
ATRE     Restore factory defaults           OK[ret]        N/A
         Note this loads the config from the
         default settings, baud rate, radio data
         rate and radio freq will be actioned
         when changes are applied.
ATRO     Packet timeout                     nnnn[ret]      OK[ret]
         The time in milliseconds before    OK[ret]
         a packet is sent if packet is
         not complete (hex)
         Range 1 to FFFF (65535)
         Default is 64 (100 mS)
ATVR     Software revision number           n.n[ret]       OK[ret]
ATWR     Save config changes to flash       OK[ret]        N/A
         The config changes will be preserved
         for the next startup.

Using CCFlashProg to serially program XRF

1. Attach the XRF to a PC using either the Cisceo FTDI USB interface or something similar (eg sparkfun xbee explorer, AXE210), CCFlashProg assumes the XRF baud rate is 9600bps.
2. Start CCFlashProg.exe
3. Select the serial port that XRF is connected to
4. Select the hex file to program to the XRF
5. Press program – if it fails to start try again, the serial timing could be a little different between the PC and XRF
6. After it programmed, press verify – if it fails to start, try again
7. If all is reported OK press commit.
8. XRF will restart with the new firmware
9. (Optional) Using a terminal emulator app (XCTU, Hyperterm etc) issue +++ to the XRF and then using the ATVR command check the new software revision number.

Restoring factory defaults

Short pins 19 and 20 during startup and the XRF will load in factory configuration (not firmware). If you wish to retain this configuration then you need to issue an ATWR command to save the config, otherwise at next power up the previous configuration will be used.
This is useful for recovering from unknown configurations.

Firmware change history

v0.11 – Added ATRO/ATPL/ATPK/ATCC commands
v0.10 – Baud rate command changed to provide even more flexibility in baud rates.
v0.09 – First commercial release.

Category : Uncategorized

14 Responses to “XRF”

Samanpriya February 22, 2011


Please give m details on,

01. What is the maximum RF out put power of the device @900 Mhz?
02. Does it supporting RS232 5V directly (as I see in the manual there are two pins with named,02 – Data Out and 03 – Data IN will support directly COM port in PCs ) or do I need any other adapters?
03. How we change RF output in the device?


admin February 22, 2011


Good questions,

1. +10dB (see TI manual for all the tech specs as it’s variable)

2. Running either the device or the serial lines at 5v will cause damage. The module runs nominally at 3.3 volts although 2.8 – 3.6v is fine also (see TI manual for all the tech specs) . Like most microcontoller equipment, serial is TTL 0 to operating voltage, idle high. Standard PC RS232 is -12v to +12v idle low. Ether use our USB interface or you can utilise chips such as the MAX232 as we do on the XINO pro boards. This then does level conversion and inverts the signals.

3. Via AT commands (listed in the table above)



Samanpriya February 28, 2011

Thanks, for Answers,
In the PC com ports I just thought about Laptops running on 5V(with USB dongles)and I assumed module has level convertor itself .
Any way I got the full answers. One more question about 128-bit AES security coprocessor
Can we apply 128 AES on wireless end? Otherwise what would be way to add security on Wireless end?

Thanks agene

admin March 1, 2011


Encryption is to be enabled in later revisions of the firmware.



Samanpriya March 2, 2011

OK, Thanks Reply
However today I made payment for two modules and I am expecting you will be releasing that AES enabled revisions of the firmware ASAP.
Please update me .

Proggy March 2, 2011

Is it possible to programm my own firmware on it?
Are there any connections for the CC-Debugger from TI?

admin March 2, 2011

Yes you can use your own firmware.

We are releasing an Arduino shaped based board for it tommorow that has a 2×5 way CC debugger connection and breaks out the various pins to there rough equivalents so you can use arduino shields with an xrf. It is £3.99 retail.

admin March 2, 2011

The AES we expect to be 3-4 weeks, an interim release will add a CTS control.

Samanpriya March 11, 2011



Thank for the module. Now I am waiting for my USB-TTL converter. BTW, please give me instruction how to make these two devices as a pair. (Usually with Xbee we need set unique Network IDs (VIDs) using the Xbee utility.) What is the way to do that, keep running multiple device pairs in same location.


Samanpriya March 11, 2011


Thank for the module. Now I am waiting for my USB-TTL converter. BTW, please give me instruction how to make these two devices as a pair. (Usually with Xbee we need set unique Network IDs (VIDs) using the Xbee utility.) What is the way to do that, keep running multiple device pairs in same location.


Mike Meakin June 1, 2011

Do you have the Certificates of Conformance to EN300-220 for EMC & Radio Compatability for the XRF modules ?

admin June 1, 2011

Hi Mike,

The item is a component part for prototyping, like the TI CC chip it is based on, functions and commands are available to tune the RF to locale specific requirements to ensure compliance. We are discussing if “locked down” and “pre-certified” modules are something we would produce as a manufacturer. If you are looking to buy such a device then currently we do not have a choice for you. Perhaps the XBee could suffice, I’m sure they do an 868 module.


Mike Meakin June 1, 2011

Hmm ! – there are strict regulations on selling and using RF ‘Modules’ in Europe !

EN300-220 for EMC & Radio Compatability requires that products meet this standard if placed on the market.



admin June 1, 2011

The Radiometrix link is a good example. Below is an excerpt from one of their data sheets on their 868 module. As they state, if you manufacture a finished product, this may require any relevant compliance. Just as TI market the CC development kits, we do also.The XRF is their reference design and our software. We see no difference in approach. We know at our prices people “from the industry” might be unhappy. To suggest that the TI product might not meet “this standard” makes me wonder of your motives in posting your comments. People should decide for themselves based on all the facts.

After 7 April 2001 the manufacturer can only place finished product on the market under the provisions of the R&TTE Directive. Equipment within the scope of the R&TTE Directive may demonstrate compliance to the essential requirements specified in Article 3 of the Directive, as
appropriate to the particular equipment.