Skip to main content

RFM69 Radio interface for the Raspberry Pi (lgpio/rpi-lgpio compatible, supports Pi 1 through Pi 5)

Project description

RFM69 Radio interface for the Raspberry Pi (lgpio compatible)

Fork of jgillula/rpi-rfm69 — adapted to use rpi-lgpio instead of the deprecated RPi.GPIO, with automatic support for old-style revision codes (Pi 1 / early Pi 2).

This package provides a Python wrapper of the LowPowerLabs RFM69 library and is largely based on the work of Eric Trombly who ported the library from C.

What's different from the original?

  • rpi-lgpio replaces RPi.GPIO — works on Raspberry Pi OS Bookworm, Trixie, and Pi 5

  • Automatic old-style revision workaround — Pi 1 Model B+, early Pi 2, and other boards with 4-digit revision codes work without manual export RPI_LGPIO_REVISION=...

  • Supports Pi 1 through Pi 5 — tested across all generations

Installation

pip install rpi-rfm69-lgpio

Or from a fresh venv (recommended):

python3 -m venv ~/venv/rfm69

source ~/venv/rfm69/bin/activate

pip install rpi-rfm69-lgpio

If you previously had RPi.GPIO installed, remove it first:

pip uninstall RPi.GPIO -y

pip install rpi-rfm69-lgpio

Quick Start

from RFM69 import Radio, FREQ_433MHZ



with Radio(FREQ_433MHZ, node_id=1, network_id=100, isHighPower=True) as radio:

    radio.send(2, "Hello!", attempts=3)

    

    packet = radio.get_packet(timeout=5)

    if packet:

        print(packet)

Wiring & Documentation

For details on how to connect an RFM69 module and the full API, check out the documentation.

Original Project

This is a fork of jgillula/rpi-rfm69. All credit for the original library goes to Jeremy Gillula and contributors.

License

GPL v3# Changelog

0.7.1

  • Replaced RPi.GPIO dependency with rpi-lgpio for Raspberry Pi OS Bookworm/Trixie and Pi 5 compatibility

  • Added automatic old-style revision code workaround for Pi 1 / early Pi 2 boards

  • Forked from jgillula/rpi-rfm69

0.7.0

  • RFM69HW and HCW specific functions and power level setting added by @Makodan

0.6.0

  • Added support for ATC mode (thanks @MxMarx)

  • Reduced some hang (thanks @MxMarx)

  • Extended registers retrieved to include High Power PA settings (thanks @tomtastic)

0.5.1

  • Added support for radios without reset pins

0.5.0

  • Added set_frequency_in_Hz and get_frequency_in_Hz

0.4.0

  • Made the Radio class threadsafe, and added threadsafe methods for accessing packets

  • Added testing for the threadsafe methods

  • Added pylinting and made some cosmetic changes to get a good pylint score

  • Added coverage testing via coveralls.io, and instructions for doing so

0.3.0

  • Added support for sendListenModeBurst

  • Made tests more configurable

  • Removed Python 2 from tests since it's EOL

  • Added instructions on how to build for PyPi

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rpi_rfm69_lgpio-0.7.1.tar.gz (40.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rpi_rfm69_lgpio-0.7.1-py3-none-any.whl (33.9 kB view details)

Uploaded Python 3

File details

Details for the file rpi_rfm69_lgpio-0.7.1.tar.gz.

File metadata

  • Download URL: rpi_rfm69_lgpio-0.7.1.tar.gz
  • Upload date:
  • Size: 40.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for rpi_rfm69_lgpio-0.7.1.tar.gz
Algorithm Hash digest
SHA256 01efab966f59a0b1abbdfd2f8d7c55e8b9240e7548fd690f2cbe3eed6d220b78
MD5 007e3a78f60b9baa58d9612f6ab4ba38
BLAKE2b-256 4b2db9396694f0309fcfc39e266edfcce7e25a281a9054a3c72168b480502199

See more details on using hashes here.

File details

Details for the file rpi_rfm69_lgpio-0.7.1-py3-none-any.whl.

File metadata

File hashes

Hashes for rpi_rfm69_lgpio-0.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d6fc9ab362aa1b267f28a54eee316c8763d79fa93f858e6c4eb4ab5696789709
MD5 b86db7ddd50113d8a4e7dd75dc1625bc
BLAKE2b-256 7c250cddc2ff8e7065c64ccfd0d008abfec3a1afcbe9bea9f59cf532335fd2c4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page