micropython / micropython/micropython-lib

lora driver: SX1276 reports incorrect RSSI

Open
#770 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Python
Stars
2.9k
Forks
1.1k
Avg merge
7d 6h
Merged PRs (30d)
3

Description

Maintainer edit: Continuation from discussion at https://github.com/orgs/micropython/discussions/12989

For a Hope Radio RF96 (RFM96W) the RSSI readings seem to calculated incorrectly. I generally see about -110dBm where errors start creeping-in. Two other Micropython LoRa implementations report -120 or thereabout dBm for similar "errors*.

Is the formulae:

# units: dBm
rx_packet.rssi = self._reg_read(_REG_PKT_RSSI_VALUE) - (157 if self._pa_boost else 164)

valid for this chip? I do not understand why pa_boost is in this formulae.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the LoRa SX1276 driver code that computes rx_packet.rssi, then inspect the SX1276 RSSI and PA_BOOST documentation and compare the formula with the two other MicroPython LoRa implementations mentioned. Done means determining the correct offset and whether PA_BOOST belongs in the calculation, with measurements or tests covering the reported weak-signal range.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
embedded-iot, networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.