diff --git a/README.md b/README.md index 70087cc..1cf21c1 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,8 @@ and an Atmega328p MCU. This is work in progress. Simple Tx-Rx is working so far. +I'm impressed how well these radio modules work; the range achieved with +simple wire antennas as well as the reliable packet transmission. To do something really extraordinary, the temperature reading of an MCP9808 sensor is periodically transmitted to the receiver. @@ -17,17 +19,35 @@ ![IMG_20250212_190518](https://github.com/user-attachments/assets/dd87b7de-c97d-4ecb-ab24-f5a34b849914) The receiver currently just converts the raw temperature reading to °C and -displays it with the RSSI value on a nice IPS TFT display. +displays it with the RSSI value and CRC result on a nice IPS TFT display. ## Range Setting `RegPaLevel` to `0x5f`, which gives +13 dBm with `PA1`, indoor range is very good -and in an actual "field" test, packet reception was still reliable with an RSSI of about -100 dBm -at about 1.6 km distance. +and in an actual "field" test, packet reception was still reliable with an RSSI of about -90 dBm +at about 2.2 km distance - with simple wire antennas. What would be the range with +20 dBm and +decent antennas? -![IMG_20250303_1733461c](https://github.com/user-attachments/assets/2aaa5fcb-6c89-4a07-a375-faa7fd152bbd) +![IMG_20250306_180139c](https://github.com/user-attachments/assets/27c66e7a-ec16-4e98-9f94-7713fe54c7d0) -![FieldTest1c](https://github.com/user-attachments/assets/c1f98778-df27-42a5-9ef3-afd779d8b309) +![FieldTest3](https://github.com/user-attachments/assets/f2289f8e-1f81-4b85-9146-07c2ce1bb563) + +## Susceptibility to Temperature Changes + +With the default Frequency Deviation of 5 kHz and Receiver Bandwidth of 10.4 kHz, packet transmission +is very unreliable and fails completely for me, when the temperature of the transmitter is below +~10°C and above 40°C, while the receiver temperature is at 20°C. The receiver does not seem to be +prone to temperature changes. +Increasing Frequency Deviation to 40 kHz and Receiver Bandwidth to 80.3 kHz, temperature susceptibility +is eliminated; when testing with transmitter temperature from -20°C to 50°C, packet transmission is +perfectly reliable. + +Frequency Deviation = 40 kHz (transmitter) +`RegFdevMsb` = `0x02` +`RegFdevLsb` = `0x90` + +Receiver Bandwidth = 80.3 kHz +`RegRxBw` = `0x52` ## Fun Stuff @@ -52,5 +72,4 @@ The first 15 `0b10101010` bytes are the preamble, then there are 4 sync word bytes. After the 4 payload bytes, there are 2 CRC bytes as described in the datasheet of the RFM69HCW: -![PackageFormat](https://github.com/user-attachments/assets/959babe5-9f1f-4f3d-9568-a4edbbca4bb2) - +![PackageFormat](https://github.com/user-attachments/assets/11687645-552c-46e5-a0bf-ef490b1bca48)