For a customer I’m working on an industrial remote. To build a first quick prototype this MRK 1310 seemed a good fit and with the easy development environment there should be quick time to market.
Initially I had my doubts about the ability to use 434 MHz but I got a very neat email reply with a code example from Arduino that proofs to work. Using the LoRa library from sandeepmistry you can select any frequency in Hz (passed as a long). The datasheet of the SX1276 (inside the on-board muRata module) limits this to 3 bands: 137 - 175 MHz, 410 - 525 MHz and 862 - 1020 MHz.
Library API: arduino-LoRa/API.md at master · sandeepmistry/arduino-LoRa · GitHub
Can be installed in the Arduino IDE → Tools → Manage Libaries… search for LoRa and find the library from sandeepmistry
SX1276 Datasheet: https://github.com/emauriciorg/lora_modules/raw/master/doc/sx1276-1278113.pdf
After crunching trough the datasheet and API and playing around with some parameters I started sending some packages 10 times per second at 10 dBm (10 mW) at 869.4 MHz using the W3907XXXX antenna from Pulse. I don’t have a good antenna for 434 MHz at the moment. I have the sending board laying in my office on the 2nd floor, on a glass table and USB powered. The receiver board attached to my laptop where I can see messages coming in the terminal of around 64 bytes long.
Then I started walking.
300 m away the messages finally stopped coming! Sometimes behind some houses it also dropped, but a hill in the line of sight didn’t matter. The boundary is very clear, only a few meters of “no mans land” in which I receive gibberish (CRC is off) and after that no messages are detected at all, until walking in range again. I’m amazed!
The only thing I’m struggling with now is that I receive double packets, missing packets and packets the receiver sends himself. This happens independent of the signal strength. Also with shorter packages. Here’s a snippet:
19:29:14.940 -> Received packet 'Transmitter_Transmitter_Transmitter_369' with RSSI -40
19:29:15.042 -> Received packet 'Transmitter_Transmitter_Transmitter_370' with RSSI -41
19:29:15.042 -> Received packet 'Transmitter_Transmitter_Transmitter_370' with RSSI -41
19:29:15.146 -> Received packet 'Transmitter_Transmitter_Transmitter_371' with RSSI -41
19:29:15.146 -> Received packet 'Transmitter_Transmitter_Transmitter_371' with RSSI -41
19:29:15.218 -> Received packet 'Transmitter_Transmitter_Transmitter_372' with RSSI -40
19:29:15.328 -> Received packet 'Transmitter_Transmitter_Transmitter_373' with RSSI -41
19:29:15.361 -> Received packet 'Receiver_62_Transmitter_Transmitter_373' with RSSI -41
19:29:15.361 -> Received packet 'Receiver_62_Transmitter_Transmitter_373' with RSSI -41
19:29:15.501 -> Received packet 'Transmitter_Transmitter_Transmitter_375' with RSSI -40
19:29:15.603 -> Received packet 'Transmitter_Transmitter_Transmitter_376' with RSSI -40
19:29:15.711 -> Received packet 'Transmitter_Transmitter_Transmitter_377' with RSSI -41
19:29:15.711 -> Received packet 'Transmitter_Transmitter_Transmitter_377' with RSSI -41
19:29:15.778 -> Received packet 'Transmitter_Transmitter_Transmitter_378' with RSSI -41
19:29:15.988 -> Received packet 'Transmitter_Transmitter_Transmitter_380' with RSSI -40
19:29:16.054 -> Received packet 'Transmitter_Transmitter_Transmitter_381' with RSSI -39
19:29:16.091 -> Received packet 'Transmitter_Transmitter_Transmitter_381' with RSSI -39
19:29:16.164 -> Received packet 'Transmitter_Transmitter_Transmitter_382' with RSSI -38
19:29:16.269 -> Received packet 'Transmitter_Transmitter_Transmitter_383' with RSSI -39
19:29:16.442 -> Received packet 'Transmitter_Transmitter_Transmitter_385' with RSSI -39
19:29:16.543 -> Received packet 'Transmitter_Transmitter_Transmitter_386' with RSSI -39
19:29:16.543 -> Received packet 'Transmitter_Transmitter_Transmitter_386' with RSSI -39
19:29:16.650 -> Received packet 'Transmitter_Transmitter_Transmitter_387' with RSSI -40
19:29:16.650 -> Received packet 'Transmitter_Transmitter_Transmitter_387' with RSSI -40
19:29:16.720 -> Received packet 'Transmitter_Transmitter_Transmitter_388' with RSSI -41
19:29:16.821 -> Received packet 'Transmitter_Transmitter_Transmitter_389' with RSSI -39
19:29:16.854 -> Received packet 'Receiver_65_Transmitter_Transmitter_389' with RSSI -39
19:29:16.995 -> Received packet 'Transmitter_Transmitter_Transmitter_391' with RSSI -40
I’m wondering if something is going wrong in the FIFO buffer. Does anyone have ideas?