Skip to main content

python-cc1101

Code style: black CI Pipeline Status Coverage Status Last Release Compatible Python Versions DOI

Python Library & Command Line Tool to Transmit RF Signals via CC1101 Transceivers

Setup

$ pip3 install --user --upgrade cc1101

On Raspbian / Raspberry Pi OS, dependencies can optionally be installed via:

$ sudo apt-get install --no-install-recommends python3-spidev

Wiring Raspberry Pi

Connect the following pins directly:

CC1101 Raspberry Pi
VDD 3.3V (Pin 1 or 17)
SI MOSI (Pin 19)
SO MISO (Pin 21)
CSn CE0 (Pin 24)
SCLK SCLK (Pin 23)
GDO2* Any GPIO pin, commonly GPIO25 (Pin 22) [1,2,3]
GDO0* Any GPIO pin, GPIO24 (Pin 18) recommended
GND Ground

No resistors required. Connection of pins marked with * is optional. GDO2 stays "high until power and crystal have stabilized" (see CHIP_RDYn in docs). GDO0 is used by .asynchronous_transmission() for data input.

If some of these pins are already in use, select a different SPI bus or chip select: https://www.raspberrypi.org/documentation/hardware/raspberrypi/spi/README.md (permalink)

Raspberry Pi GPIO docs: https://www.raspberrypi.org/documentation/usage/gpio/

Usage

Library

See examples.

import cc1101

with cc1101.CC1101() as transceiver:
    transceiver.set_base_frequency_hertz(433.92e6)
    print(transceiver)
    transceiver.transmit(b"\x01\xff\x00 message")

In case CC1101 is connected to a different SPI bus or chip select line than /dev/spidev0.0, use CC1101(spi_bus=?, spi_chip_select=?).

Command Line

$ printf '\x01\x02\x03' | cc1101-transmit -f 433920000 -r 1000

See cc1101-transmit --help.

Troubleshooting

In case a PermissionError gets raised, check the permissions of /dev/spidev*. You'll probably need sudo usermod -a -G spi $USER, followed by a re-login.

Consult CC1101's offical docs for an in-depth explanation of all options: https://www.ti.com/lit/ds/symlink/cc1101.pdf

Release files for cc1101 3.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cc1101 3.0.0
File Size Uploaded
cc1101-3.0.0.tar.gz 68.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cc1101 3.0.0
File Interpreter ABI Platform
cc1101-3.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 101.1 kB

Release files / cc1101-3.0.0.tar.gz

Download URL cc1101-3.0.0.tar.gz
Size 68.2 kB
Tags Source
SHA-256 checksum
How to use checksums
75b59a837f6a26258e55be7de554e69deffc871ba19a9cda689cfb8b767a8e02
BLAKE2b-256 checksum
How to use checksums
73bec566a76d14741acb76861c49141688a4200ffbb7955851c3e0c31b35321d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.4.2 requests/2.25.1 setuptools/52.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.9.2

Release files / cc1101-3.0.0-py3-none-any.whl

Download URL cc1101-3.0.0-py3-none-any.whl
Size 33.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1ccc76f4fc8d5cbac6ecc47b21bb1b184a6a32ab79d8f94ee99e81d9a10a8a39
BLAKE2b-256 checksum
How to use checksums
f20e7b45b408eda6ce4711d14b88085896c1fb01a91c2ac82f789460adf374c8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.4.2 requests/2.25.1 setuptools/52.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.9.2
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page