{"id":17342562,"url":"https://github.com/fphammerle/python-cc1101","last_synced_at":"2025-04-04T19:03:23.011Z","repository":{"id":37083422,"uuid":"292333844","full_name":"fphammerle/python-cc1101","owner":"fphammerle","description":"Python Library \u0026 Command Line Tool to Transmit RF Signals via CC1101 Transceivers","archived":false,"fork":false,"pushed_at":"2025-03-21T22:19:06.000Z","size":808,"stargazers_count":87,"open_issues_count":7,"forks_count":16,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-04-03T03:12:26.152Z","etag":null,"topics":["cc1101","linux","python","radio-frequency-communication","raspberry-pi"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/cc1101/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fphammerle.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-09-02T16:19:48.000Z","updated_at":"2025-03-21T22:19:09.000Z","dependencies_parsed_at":"2023-02-18T06:01:16.601Z","dependency_job_id":"c8ff14be-bfec-459a-bc49-43ebb13a3cd1","html_url":"https://github.com/fphammerle/python-cc1101","commit_stats":{"total_commits":330,"total_committers":3,"mean_commits":110.0,"dds":"0.42727272727272725","last_synced_commit":"a90003405822094a3891448900502d35b8bdc7f5"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fphammerle%2Fpython-cc1101","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fphammerle%2Fpython-cc1101/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fphammerle%2Fpython-cc1101/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fphammerle%2Fpython-cc1101/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fphammerle","download_url":"https://codeload.github.com/fphammerle/python-cc1101/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247234920,"owners_count":20905854,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cc1101","linux","python","radio-frequency-communication","raspberry-pi"],"created_at":"2024-10-15T16:06:14.727Z","updated_at":"2025-04-04T19:03:22.964Z","avatar_url":"https://github.com/fphammerle.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# python-cc1101\n\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n[![CI Pipeline Status](https://github.com/fphammerle/python-cc1101/workflows/tests/badge.svg)](https://github.com/fphammerle/python-cc1101/actions)\n![Coverage Status](https://ipfs.io/ipfs/QmP8k5H4MkfspFxQxdL2kEZ4QQWQjF8xwPYD35KvNH4CA6/20230429T090002+0200/s3.amazonaws.com/assets.coveralls.io/badges/coveralls_100.svg)\n[![Last Release](https://img.shields.io/pypi/v/cc1101.svg)](https://pypi.org/project/cc1101/#history)\n[![Compatible Python Versions](https://img.shields.io/pypi/pyversions/cc1101.svg)](https://pypi.org/project/cc1101/)\n[![DOI](https://zenodo.org/badge/292333844.svg)](https://zenodo.org/badge/latestdoi/292333844)\n\nPython Library \u0026 Command Line Tool to Transmit RF Signals via [CC1101 Transceivers](https://www.ti.com/product/CC1101)\n\n## Setup\n\n```sh\n$ pip3 install --user --upgrade cc1101\n```\n\nOn Raspbian / Raspberry Pi OS, dependencies can optionally be installed via:\n```sh\n$ sudo apt-get install --no-install-recommends python3-spidev\n```\n\n### Wiring Raspberry Pi\n\nConnect the following pins directly:\n\n|CC1101 |Raspberry Pi        |\n|-------|--------------------|\n|VDD    | 3.3V (Pin 1 or 17) |\n|SI     | MOSI (Pin 19)      |\n|SO     | MISO (Pin 21)      |\n|CSn    | CE0 (Pin 24)       |\n|SCLK   | SCLK (Pin 23)      |\n|GDO2\\* | Any GPIO pin, commonly GPIO25 (Pin 22) \\[[1](https://github.com/SpaceTeddy/CC1101/blob/0d0f011d3b808e36ad57fab596ed5e1db9516856/README.md#hardware-connection),[2](https://allgeek.de/2017/07/31/cc1101-spi-raspberry-adapter-fuer-homegear-homematicmax/),[3](https://securipi.co.uk/cc1101.pdf)\\] |\n|GDO0\\* | Any GPIO pin, GPIO24 (Pin 18) recommended |\n|GND    | Ground             |\n\nNo resistors required.\nConnection of pins marked with \\* is optional.\nGDO2 stays \"high until power and crystal have stabilized\" (see `CHIP_RDYn` in docs).\nGDO0 is used by `.asynchronous_transmission()` for data input.\n\nIf some of these pins are already in use,\nselect a different SPI bus or chip select:\nhttps://www.raspberrypi.org/documentation/hardware/raspberrypi/spi/README.md\n([permalink](https://github.com/raspberrypi/documentation/blob/d41d69f8efa3667b1a8b01a669238b8bd113edc1/hardware/raspberrypi/spi/README.md#hardware))\n\nRaspberry Pi GPIO docs: https://www.raspberrypi.org/documentation/usage/gpio/\n\n## Usage\n\n### Library\n\nSee [examples](https://github.com/fphammerle/python-cc1101/blob/master/examples/).\n\n```python\nimport cc1101\n\nwith cc1101.CC1101() as transceiver:\n    transceiver.set_base_frequency_hertz(433.92e6)\n    print(transceiver)\n    transceiver.transmit(b\"\\x01\\xff\\x00 message\")\n```\n\nIn case CC1101 is connected to a different SPI bus or chip select line\nthan `/dev/spidev0.0`,\nuse `CC1101(spi_bus=?, spi_chip_select=?)`.\n\n### Command Line\n\n```sh\n$ printf '\\x01\\x02\\x03' | cc1101-transmit -f 433920000 -r 1000\n```\n\nSee `cc1101-transmit --help`.\n\n### Troubleshooting\n\nIn case a `PermissionError` gets raised,\ncheck the permissions of `/dev/spidev*`.\nYou'll probably need `sudo usermod -a -G spi $USER`,\nfollowed by a re-login.\n\nConsult CC1101's offical docs for an in-depth explanation of all options:\nhttps://www.ti.com/lit/ds/symlink/cc1101.pdf\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffphammerle%2Fpython-cc1101","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffphammerle%2Fpython-cc1101","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffphammerle%2Fpython-cc1101/lists"}