SDR Programming

Product sheet + Datasheet links


VCC +-----+ VCC
 SI +     + SCK
 SO +     + GD2
CSN +     + GD0
GND +-----+ GND
Pin Label Description
VCC DVDD 1.8 - 3.6 V digital power supply for digital I/O’s and for the digital core voltage regulator
SI Serial configuration interface, data input
SO Serial configuration interface, data output

Optional general output pin when CSn is high
CSN Serial configuration interface, chip select
SCK SCLK Serial configuration interface, clock input
GD2 Digital output pin for general use:
* Test signals
* FIFO status signals
* Clear channel indicator
* Clock output, down-divided from XOSC
* Serial output RX data
GD0 Digital output pin for general use:
* Test signals
* FIFO status signals
* Clear channel indicator
* Clock output, down-divided from XOSC
* Serial output RX data
* Serial input TX data
Also used as analog test I/O for prototype/production testing
GND Ground connection for digital noise isolation

Source: Page 21 of TI CC1101 datasheet
See also: Page 66 29 Configuration Registers

Wiring the CC1101 1GHz LSS Low Power, SPI interface, Spring Coil Transceiver



  • driver library for Ti CC1100 / CC1101.
  • Contains Lib for Arduino and Raspberry Pi.

Note: Raspi need wiringPi


This is an Arduino library for interfacing with CC1101 transceivers.

This project is a fork of the panStamp arduino_avr project, with only the minimum requirements to interface with CC1101 transceivers.


An Arduino library for TI CC1101, a very capable and flexible sub GHz transceiver.

It is based on Panstamp library and has the same license : LGPLv3 or later.

It has many simplifications and some additions, compared to the original panStamp library. However an Arduino board using mCC1101 can communicate without problems with a module using the Panstamp library.

arduinoPAGERcc1101 (Ben Biles)
Ben has 5 videos about this.

A Arduino UNO 80 character pager project with 80 character screen using cc1101 RF module to transmit message.

wiring up the RF module. Generally the CC1101 RF modules are 3.3v NOT 5V so logic level translator is needed with arduino UNO

I got wiring info here:


It's finally here, tested code to use the CC1101 wireless transceiver, adapted for CCS compiler.
Now we can use those cheap yet powerful modules from ebay (search for CC1101 and suitable frequency allowed in your country).
The frequency in the example is tuned to 433.92MHz and 1.2Kbaud (optimal range, compromise on data rate and power consumption).
I achieved >100m range in town, not quite breathtaking but definitely good value for money…
To change the settings I suggest to use SmartRF Studio, then Export Registers in HAL format, copy & paste into the code. You can also consult the CC1101 data sheet tables on section 4.2 RF Receive Section for other settings.

The code is based on several examples put together. SPI is done in software which gives more pin flexibility (I always end up unhappy with the built-in HW so I directly turned to SW).
The Main section is very straightforward. Program one module with the TX loop and one with the RX loop. The packet is 10 bytes (0x10 to 0x19).
The watchdog timer in the receiver will reset every 2 seconds approx. if no packet is received (longer flash) and every 1 second for every packet correctly received (short flash).
TIP: Use a strong LED if you go outdoors Very Happy



433MHz RF Transceiver CC1101 Module

Blog Articles

2FSK vs 4FSK

Difference between 2FSK modulation and 4FSK modulation

Symbol Input Coding
0 carrier-deviation(some offset)
1 carrier+deviation
Symbol Input Coding (carrier+Δf value used to map input dibits)
01 carrier-deviation
00 carrier-(1/3)*deviation
10 carrier+(1/3)*deviation
11 carrier+deviation

Hacking garage door remote controllers – notes and ramblings

CC1101 RSSI and LQI Test - ElectroDragon

CC1101 Archives - tronixstuff



Conferences (Samy Kamkar)

Radio Hacking: Cars, Hardware, and more! - Samy Kamkar - AppSec California 2016
by OWASP - Published on Mar 21, 2016

DEF CON 23 - Samy Kamkar - Drive it like you Hacked it: New Attacks and Tools to Wireles
by DEFCONConference - Published on Dec 2, 2015

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License