preloader

Search on AEQ-WEB

AEQ-WEB | Blog

Arduino CC1101 433Mhz Data Transfer ISM

Arduino CC1101 Transceiver

5 Jahre AEQ-WEB - Zeig dein Projekt

There is also a video on YouTube for this article: Arduino CC1101 Transceiver

The CC1101 433 mhz wireless module is a good transceiver for the Arduino board. There are different modules with different frequencies. The frequencies can also be modified. The most popular and also the most used band is the 70 cm band. With the SMA antenna connector it is also possible to use larger and more profitable antennas. The module is wired via the SPI interface. On other websites you will often read that the module can not be connected directly to the SPI pins because of the 3.3 Volt operating voltage. Basically this is true, however, during our test we connected the module directly to the Arduino for a few days and we could not detect any problems.

Arduino CC1101 Wiring

The module is connected via the SPI pins and powered with 3.3 volts. Therefore the pins are not changeable.


Range test

The module has a better range than the combination of RF-5V & FS1000A modules. Outside you can reach with the supplied antenna a range of 300 meters without problems. With better antennas you can reach ranges of up to 5 kilometers. There are also small power amplifiers that can be used to increase the transmission power by up to 5 watts. With power amplifiers, you can bridge distances of over 15 kilometers. If you want to operate the module with better antennas and amplifiers, you must have an amateur license and comply with the legal requirements.

Code for the Transmitter:

#include <ELECHOUSE_CC1101.h>
int i;

void setup() {
  Serial.begin(9600);
  ELECHOUSE_cc1101.Init(F_433);
}

void loop() {
  i++;
  delay(500);
  String tx_message = "Nr. of TX attempts: " + String(i);
  int m_length = tx_message.length();
  byte txbyte[m_length];
  tx_message.getBytes(txbyte, m_length + 1);
  Serial.println((char *)txbyte);
  ELECHOUSE_cc1101.SendData(txbyte, m_length);
}

Code for the Receiver:

#include <ELECHOUSE_CC1101.h>
byte buffer[100] = {0};

void setup()
{
  Serial.begin(9600);
  Serial.println("Rx");
  ELECHOUSE_cc1101.Init(F_433);
  ELECHOUSE_cc1101.SetReceive();
}

void loop()
{
  if (ELECHOUSE_cc1101.CheckReceiveFlag()) {
    ELECHOUSE_cc1101.ReceiveData(buffer);
    String str((char*) buffer);
    Serial.println(str);
    ELECHOUSE_cc1101.SetReceive();
  }
}


Info: This page was automatically translated and may contain errors
Share:
thumbnail
07.06.2018
Arduino CC1101 Transceiver

On this page we will show you how to make a data transfer with the CC1101 and an Arduino. Wiring plan and libraries are available on AEQ-WEB

Alex @ AEQ-WEB
thumbnail
05.01.2017
SIM800 Arduino GPRS

On this page, we will show you how to use the SIM800 GSM module to make an HTTP post request via GPRS. You can find more information at AEQ-WEB

Alex @ AEQ-WEB