CC2500 Low-Cost Low-Power 2.4 GHz RF Transceiver driver for esp-idf

esp-idf-cc2500

CC2500 Low-Cost Low-Power 2.4 GHz RF Transceiver driver for esp-idf.

I ported from this.

  • 2.00mm pitch External Antena CC2500-2mm-EXT-Antena-2

  • 1.27mm pitch PCB Antena CC2500-1 27mm-PCB-Antena Pin out is here.

Software requirements

esp-idf v4.4 or later.
This is because this version supports ESP32-C3.

Installation

git clone https://github.com/nopnop2002/esp-idf-cc2500
cd esp-idf-cc2500/basic
idf.py set-target {esp32/esp32s2/esp32s3/esp32c3}
idf.py menuconfig
idf.py flash

Note for ESP32C3
For some reason, there are development boards that cannot use GPIO06, GPIO08, GPIO09, GPIO19 for SPI clock pins.
According to the ESP32C3 specifications, these pins can also be used as SPI clocks.
I used a raw ESP-C3-13 to verify that these pins could be used as SPI clocks.

Configuration for Transceiver

config-cc2500-1 config-cc2500-2

SPI BUS selection

config-cc2500-3

The ESP32 series has three SPI BUSs.
SPI1_HOST is used for communication with Flash memory.
You can use SPI2_HOST and SPI3_HOST freely.
When you use SDSPI(SD Card via SPI), SDSPI uses SPI2_HOST BUS.
When using this module at the same time as SDSPI or other SPI device using SPI2_HOST, it needs to be changed to SPI3_HOST.
When you don't use SDSPI, both SPI2_HOST and SPI3_HOST will work.
Previously it was called HSPI_HOST / VSPI_HOST, but now it is called SPI2_HOST / SPI3_HOST.

Wirering

CC2500 ESP32 ESP32-S2/S3 ESP32-C3
MISO -- GPIO19 GPIO37 GPIO18
SCK -- GPIO18 GPIO36 GPIO10
MOSI -- GPIO23 GPIO35 GPIO19
CSN -- GPIO5 GPIO34 GPIO9
GDO0 -- N/C N/C N/C
GDO2 -- N/C N/C N/C
GND -- GND GND GND
VCC -- 3.3V 3.3V 3.3V

You can change it to any pin using menuconfig.

Some modules do not have GOD0 and GOD2.

Comparison of cc2500 and cc1101

cc2500 cc1101
Manufacturer Texas Instrument Texas Instrument
Frequency 2.4GHz 315/433/868/915MHz
Maximum Payload 64Byte 64Byte
FiFo for reception 64Byte*1 64Byte*1
FiFo for transmission 64Byte*1 64Byte*1
CRC Length 16bits 16bits
Acknowledgement Payload No No
Modulation format 2-FSK/GFSK/OOK/MSK 2-FSK/4-FSK/GFSK/ASK/OOK/MSK

Comparison of cc2500 and nRF24L01

cc2500 nRF24L01
Manufacturer Texas Instrument Nordic Semiconductor
Frequency 2.4GHz 2.4GHz
Maximum Payload 64Byte 32Byte
FiFo for reception 64Byte*1 32Byte*3
FiFo for transmission 64Byte*1 32Byte*3
CRC Length 16bits 8/16bits
Acknowledgement Payload No Yes
Modulation format 2-FSK/GFSK/OOK/MSK GFSK

cc2500 cannot tell whether the transmission was successful or unsuccessful on the transmitting side.
nRF24L01 can tell whether the transmission was successful or unsuccessful on the transmitting side.

  • GFSK : Gaussian shaped Frequency Shift Keying
  • FSK : Frequency Shift Keying
  • 2-FSK : Binary Frequency Shift Keying
  • 4-FSK : Quaternary Frequency Shift Keying
  • ASK : Amplitude Shift Keying
  • OSK : On-Off Keying
  • MSI : Minimum Shift Keying
Similar Resources

使用ESP-IDF、ESP-ADF、LVGL等库,基于ESP32S2实现简单的网络收音机和FM收音机功能。

使用ESP-IDF、ESP-ADF、LVGL等库,基于ESP32S2实现简单的网络收音机和FM收音机功能。

【电子森林项目】网络收音机/FM收音机 这个项目是报名《硬禾“暑期一起练”第3个平台 - 基于ESP32-S2模块的网络收音机和音频信号处理》所做的。 基本功能: 可以连接WiFi收听HLS协议的网络电台节目 收听空中的FM电台88MHz~108MHz OLED0.96寸显示 四个独立按键控制两种模

Feb 13, 2022

LVGL8 for ESP-IDF

X-UI LVGL8 for ESP-IDF 移植自X-TRACK项目的页面栈框架,新增支持异步通信的订阅发布数据中心 特点 使用C语言重构,方便继承复用 核心文件 ui_page_manager.h、ui_page_manager.c 实现页面栈、订阅发布数据中心 完整页面生命周期 MVC架构 数

Apr 19, 2022

Additional components for ESP-IDF, maintained by Espressif

Espressif IDF Extra Components This repository aims to store ESP-IDF extra components which have been seperated and uploaded into IDF Component Manage

Apr 11, 2022

Add tensilica esp32 cpu and a board to qemu and dump the rom to learn more about esp-idf

qemu_esp32 Add tensilica esp32 cpu and a board to qemu and dump the rom to learn more about esp-idf ESP32 in QEMU. This documents how to add an esp32

May 6, 2022

This FreeRTOS example builds a simple Timer application for Linux using the ESP-IDF

Supported Targets Linux This FreeRTOS example builds a simple Timer application for Linux using the ESP-IDF. Build Source the IDF environment as usual

Apr 4, 2022

WireGuard Implementation for ESP-IDF

esp_wireguard, WireGuard Implementation for ESP-IDF This is an implementation of the WireGuard® for ESP-IDF, based on WireGuard Implementation for lwI

May 1, 2022

Trial port of the rtf_433 Library for use with OpenMQTTGateway on a ESP32 and a CC1101 Transceiver

This is an attempt at creating an Arduino library for use on ESP32 boards with a CC1101 transceiver with the device decoders from the rtl_433 package.

Apr 29, 2022

Loads a signed kernel driver which allows you to map any driver to kernel mode without any traces of the signed / mapped driver.

Loads a signed kernel driver which allows you to map any driver to kernel mode without any traces of the signed / mapped driver.

CosMapper Loads a signed kernel driver (signed with leaked cert) which allows you to map any driver to kernel mode without any traces of the signed /

May 4, 2022

ESP Insights is a remote diagnostics solution that allows users to remotely monitor the health of ESP devices in the field.

ESP Insights is a remote diagnostics solution that allows users to remotely monitor the health of ESP devices in the field.

ESP Insights is a remote diagnostics solution that allows users to remotely monitor the health of ESP devices in the field.

Apr 25, 2022
SX1262//68 Low Power Long Range Transceiver driver for esp-idf
SX1262//68 Low Power Long Range Transceiver driver for esp-idf

esp-idf-sx126x SX1262//68 Low Power Long Range Transceiver driver for esp-idf. I ported from here. Ai-Thinker offers several LoRa modules. You can get

May 9, 2022
Veml7700-esp-idf - VEML7700 Light Sensor driver for ESP-IDF
Veml7700-esp-idf - VEML7700 Light Sensor driver for ESP-IDF

VEML7700 Light Sensor driver for ESP-IDF Overview This project aims to provide a very simple interface for configuring and reading data from the VEML7

Apr 4, 2022
SI4432 ISM Transceiver driver for esp-idf
SI4432 ISM Transceiver driver for esp-idf

esp-idf-si4432 SI4432 ISM Transceiver driver for esp-idf. I refered this. Software requirements esp-idf v4.4 or later. This is because this version su

Apr 25, 2022
To simplify the development of ESP32 in ESP-IDF, Easyio provides a complete driver library

Easyio 开源驱动库 Easyio 是一款适配于ESP-IDF框架的开源驱动库,以支持ESP32的简便开发。目的是简化乐鑫ESP-IDF开发框架的使用难度。(真要方便的话,有现成的Arduino和Platform可以用,不过实在迫于工作要求,有的开源东西不让用,同时便于对接FAE,于是就有了 E

May 12, 2022
2.4 GHz LORA based telemetry and radio link for remote controlled vehicles

mLRS This is the mLRS project. The goal is an open source 2.4 GHz LORA-based high-performance long-range radio link, which provides fully transparent

May 8, 2022
idf.py.exe, wrapper tool to invoke idf.py on Windows

IDF wrapper tool (idf.py.exe) This tools helps invoke idf.py in Windows CMD shell. In Windows CMD shell, python scripts can be executed directly (by t

Dec 13, 2021
This project seeks to develop a low-cost, open-source braille display
This project seeks to develop a low-cost, open-source braille display

This project seeks to develop a low-cost, open-source braille display. It is estimated that its cost is reduced to more than 90% compared to the cost of the cheapest screens that exist in the market today. // Este proyecto busca desarrollar una pantalla braille de código abierto y de bajo costo. Se estima que su coste se reduce a más de un 90%.

Feb 3, 2022
An Arduino wrapper to @sdima1357's usb_soft_host esp-idf example
An Arduino wrapper to @sdima1357's usb_soft_host esp-idf example

ESP32 USB Soft Host library for Arduino IDE This is mainly a wrapper around the excellent work of Dmitry Samsonov (@sdima1357) with esp32_usb_soft_hos

May 10, 2022
GFX Demo for the ESP-IDF
GFX Demo for the ESP-IDF

Display Drivers and Demo for GFX This is a Demo of GFX With Several Display Drivers This is not GFX itself, but it includes it. GFX Documentation is b

May 17, 2022
ESP32 S2 C++ host library compatible with arduino, esp-idf.

Info I would like to announce USB host library for esp32 S2 compatible with arduino, esp-idf and PIO (when pio will be updated to most recent esp-idf)

Apr 20, 2022