TI CC1312 is designed for very low-power and short range wireless MCU transceiver.
N531BS module based on TI CC1312R1. The transceiver module is mainly used for the ISM (Scientific, car, Industrial, and Medical) and SRD (Short Range Device). The frequency bands support 315, 433, 868, and 915 MHz. And can changed the register easily be used for other frequencies in the 300-348 MHz, 410-510 MHz and 860-960 MHz bands. The radio module edicated software controlled radio controller (Arm® Cortex®-M0) providing flexible low-power RF transceiver capability to support multiple physical layers and RF standards.
The CC1312R1 module support WMBUS. The range of the module can reach 800 meters at 10kbps. Freertos supsssssssport.
CC1101 Model: N531BS-CC11312R-868M ( 860-960 MHz)
N531BS-CC1312R-433M ( 410-510 MHz )
Operating voltage :2.0-3.6V
Cortex®-M0 RF transceiver rate: 0.3- 4000kbps, support 2-FSK, GFSK, and MSK modulation
RF parameters such as baud rate, transmission power and radio frequency can be modified through software
Sensitivity (<50kbps -110dBm, 1% packet error rate)
CRC error detection and built-in hardware address multipoint communication control
Lower RX current consumption (RX, 6.9mA; 50 kbps, 868 MHz)
Sleep current consumption (0.1 uA)
Programmable control of RF output power, maximum output power of +14dBm
SMD package for SMT
Separate 128-byte RX and TX data FIFO
Transmission range: 10 - 800 meters (Depending on the specific situation of the environment and RF baud rate, etc.)
| Pin | Description |
| 1 | GND |
| 2 | GND |
| 3 | VDD |
| 4 | MOSI |
| 5 | CLK |
| 6 | MISO |
| 7 | GDO2 |
| 8 | GDO0 |
| 9 | CSN |
| 10 | GND |
| 11 | RF |


1. CC1312 module schematic, Hardware connection
1. CC1101 module hardware test
Download the TX code below into the Arduino (transmit) — This code will drive RF Transceiver CC1312 module used 868MHz to send out data form 0 to 10.
#include <CC1101.h>
#define size 11
byte TX_buffer[size]={0};
byte i;
void setup()
{
Serial.begin(9600);
cc1101.Init();
for(i=0;i<size;i++)
{
TX_buffer[i]=i;
}
}
void loop()
{
cc1101.SendData(TX_buffer,size);
delay(1);
}4.Download the RX code below into the Arduino (receive) – This code will drive the 868MHz CC1101 RF Transceiver module to receive the data that form the TX module and print it to serial port.
#include <CC1101.h>
void setup()
{
Serial.begin(9600);
cc1101.Init();
cc1101.SetReceive();
}
byte RX_buffer[11]={0};
byte size,i,flag;
void loop()
{
if(cc1101.CheckReceiveFlag())
{
size=cc1101.ReceiveData(RX_buffer);
for(i=0;i<size;i++)
{
Serial.print(RX_buffer[i],DEC);
Serial.print(" ");
}
Serial.println("");
cc1101.SetReceive();
}
}4.Power on TX and RX Arduino board, and connect the RX borad to PC USB port. Open the IDE serial port monitor , change the serial baud rate to 9600 bps , and you can see the received data in display.