# Which LoRa module for sending temperature data 1km "peer to peer"?

**URL:** <https://forum.core-electronics.com.au/t/which-lora-module-for-sending-temperature-data-1km-peer-to-peer/11719>\
**Category:** Product Questions\
**Created:** [6 October 2021 23:40 UTC](https://forum.core-electronics.com.au/t/which-lora-module-for-sending-temperature-data-1km-peer-to-peer/11719 "2021-10-06T23:40:48Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Richard83832](https://avatars.discourse-cdn.com/v4/letter/r/22d042/32.png) [@Richard83832](https://forum.core-electronics.com.au/u/Richard83832)\
**Post date:** [6 October 2021 23:40 UTC](https://forum.core-electronics.com.au/t/which-lora-module-for-sending-temperature-data-1km-peer-to-peer/11719/1 "2021-10-06T23:40:48Z")

</div>

I started this project trying to send data with a pair of ESP8266’s thru a WiFi network, but this connection proved unreliable. Then I tried using ESP-NOW protocol, but unfortunately the distance was too great. The sending module is connected to a DS18B20 temperature sensor. The receiving module feeds into to a Pi Zero & Adafruit display bonnet driving a LED matrix display.

As a beginner, I would appreciate some advice on which LoRa module would best suit my project. It seems 915-928MHz is required, the sending LoRa module would be battery powered (sleeping between hourly transmissions). I am considering the following modules:  
SparkFun LoRa Thing Plus – expLoRaBLE  
SparkFun Pro RF - LoRa, 915MHz (SAMD21)  
Adafruit Feather M0 with RFM95 LoRa Radio - 900MHz

Richard

---

<div class="post-metadata">

**Author:** ![James](https://yyz2.discourse-cdn.com/flex028/user_avatar/forum.core-electronics.com.au/james/32/4400_2.png) [@James](https://forum.core-electronics.com.au/u/James)\
**Post date:** [7 October 2021 01:05 UTC](https://forum.core-electronics.com.au/t/which-lora-module-for-sending-temperature-data-1km-peer-to-peer/11719/2 "2021-10-07T01:05:21Z")

</div>

Hi Richard,

The main thing to consider is whether you’re comfortable with either C/++ or MicroPython. The PyCom boards are great if you’re happy using MicroPython, they have guides on what you’re trying to do:

[https://docs.pycom.io/tutorials/networks/lora/module-module/](https://docs.pycom.io/tutorials/networks/lora/module-module/)

As TTN keeps updating its specs for LoRaWAN, some older devices can fall off the back of the compatibility train, but they usually still work just fine for raw LoRa (what you’re looking to do)

Either way, most use the same RFM95W, or a SX1262, so it really comes down to the extra features you want like LiPo power or charging, or the support materials available from the manufacturer.

Let us know if this sparks more questions.  
-James

---

<div class="post-metadata">

**Author:** ![Liam120347](https://yyz2.discourse-cdn.com/flex028/user_avatar/forum.core-electronics.com.au/liam120347/32/5003_2.png) [@Liam120347](https://forum.core-electronics.com.au/u/Liam120347)\
**Post date:** [7 October 2021 07:01 UTC](https://forum.core-electronics.com.au/t/which-lora-module-for-sending-temperature-data-1km-peer-to-peer/11719/3 "2021-10-07T07:01:42Z")

</div>

Hi Richard,

Welcome to the forum!!

In my dabble into LoRa I grabbed the LoPy4, the Nitty gritty documentation is hard to track down but once you have it it works an absolute treat: [https://core-electronics.com.au/pycom-lopy4.html](https://core-electronics.com.au/pycom-lopy4.html)

I thought I stuffed the radio so picked up another board to see if I could get them talking ( I’m waiting on TTNv3 to level up a bit) and one acting much like a gateway, the LoRa bonnet was selected: [Adafruit LoRa Radio Bonnet with OLED - RFM95W @ 915MHz - RadioFruit Australia](https://core-electronics.com.au/adafruit-lora-radio-bonnet-with-oled-rfm95w-915mhz-radiofruit.html)

I’ve only dabbled in small packets \<10 bytes without any reliability built in (if a packet is lost its gone forever).

I’ve got quite a bit on at the moment but when I get a chance I’ll do a mini project upload on the forum.

---

<div class="post-metadata">

**Author:** ![Richard83832](https://avatars.discourse-cdn.com/v4/letter/r/22d042/32.png) [@Richard83832](https://forum.core-electronics.com.au/u/Richard83832)\
**Post date:** [10 October 2021 07:27 UTC](https://forum.core-electronics.com.au/t/which-lora-module-for-sending-temperature-data-1km-peer-to-peer/11719/4 "2021-10-10T07:27:24Z")

</div>

Thanks for the advice James and Liam. I bought a pair of LoPy4 modules because Python is easier. I am trying to follow the [pycom guide](https://docs.pycom.io/gettingstarted/) using a [USB-serial converter](https://docs.pycom.io/gettingstarted/programming/usbserial/). The Pymakr the installation fails with the error message below. When I Googled this error, it seems that this has been a common problem for a while (see [Graham’s comments](https://forum.core-electronics.com.au/t/lopy-4-0-connection-w-atom-pymakr-or-vscode-pymakr-or-or-pymakr-ide/3768)). As a beginner, I might be doing something wrong? If not, Pycom should not be selling modules if they can’t support the required software?

Installing “pymakr@2.1.13” failed.Hide output…

> @serialport/bindings@8.0.8 install C:\Users\Ric Dell\AppData\Local\Temp\apm-install-dir-2021910-11280-kjow69.iyci7\node\_modules\pymakr\node\_modules@serialport\bindings  
> prebuild-install --tag-prefix @serialport/bindings@ || node-gyp rebuild

C:\Users\Ric Dell\AppData\Local\Temp\apm-install-dir-2021910-11280-kjow69.iyci7\node\_modules\pymakr\node\_modules@serialport\bindings\>if not defined npm\_config\_node\_gyp (node “C:\Users\Ric Dell\AppData\Local\atom\app-1.58.0\resources\app\apm\node\_modules\npm\node\_modules\npm-lifecycle\node-gyp-bin\…..\node\_modules\node-gyp\bin\node-gyp.js” rebuild ) else (node “C:\Users\Ric Dell\AppData\Local\atom\app-1.58.0\resources\app\apm\node\_modules\npm\node\_modules\node-gyp\bin\node-gyp.js” rebuild )

npm WARN deprecated parser-delimiter@1.0.2: reanmed to @serialport/parser-delimiter  
npm WARN deprecated crypto@1.0.1: This package is no longer supported. It’s now a built-in Node module. If you’ve depended on crypto, you should switch to the one that’s built-in.  
npm WARN deprecated parser-cctalk@1.0.2: reanmed to @serialport/parser-cctalk  
npm WARN deprecated parser-byte-length@1.0.2: renamed to @serialport/parser-byte-length  
npm WARN deprecated request@2.88.2: request has been deprecated, see [https://github.com/request/request/issues/3142](https://github.com/request/request/issues/3142)  
npm WARN deprecated parser-readline@1.0.2: reanmed to @serialport/parser-readline  
npm WARN deprecated parser-regex@1.0.2: reanmed to @serialport/parser-regex  
npm WARN deprecated parser-ready@1.0.2: reanmed to @serialport/parser-ready  
npm WARN deprecated har-validator@5.1.5: this library is no longer supported  
npm WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See [There’s Math.random(), and then there’s Math.random() · V8](https://v8.dev/blog/math-random) for details.  
prebuild-install WARN install No prebuilt binaries found (target=9.4.4 runtime=electron arch=x64 libc= platform=win32)  
gyp ERR! find Python  
gyp ERR! find Python Python is not set from command line or npm configuration  
gyp ERR! find Python Python is not set from environment variable PYTHON  
gyp ERR! find Python checking if “python” can be used  
gyp ERR! find Python - executable path is “C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9\_3.9.2032.0\_x64\_\_qbz5n2kfra8p0\python3.9.exe”  
gyp ERR! find Python - “C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9\_3.9.2032.0\_x64\_\_qbz5n2kfra8p0\python3.9.exe” could not be run  
gyp ERR! find Python checking if “python2” can be used  
gyp ERR! find Python - “python2” is not in PATH or produced an error  
gyp ERR! find Python checking if “python3” can be used  
gyp ERR! find Python - executable path is “C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9\_3.9.2032.0\_x64\_\_qbz5n2kfra8p0\python3.9.exe”  
gyp ERR! find Python - “C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9\_3.9.2032.0\_x64\_\_qbz5n2kfra8p0\python3.9.exe” could not be run  
gyp ERR! find Python checking if the py launcher can be used to find Python 2  
gyp ERR! find Python - “py.exe” is not in PATH or produced an error  
gyp ERR! find Python checking if Python is C:\Python27\python.exe  
gyp ERR! find Python - “C:\Python27\python.exe” could not be run  
gyp ERR! find Python checking if Python is C:\Python37\python.exe  
gyp ERR! find Python - “C:\Python37\python.exe” could not be run  
gyp ERR! find Python  
gyp ERR! find Python \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
gyp ERR! find Python You need to install the latest version of Python.  
gyp ERR! find Python Node-gyp should be able to find and use Python. If not,  
gyp ERR! find Python you can try one of the following options:  
gyp ERR! find Python - Use the switch --python=“C:\Path\To\python.exe”  
gyp ERR! find Python (accepted by both node-gyp and npm)  
gyp ERR! find Python - Set the environment variable PYTHON  
gyp ERR! find Python - Set the npm configuration variable python:  
gyp ERR! find Python npm config set python “C:\Path\To\python.exe”  
gyp ERR! find Python For more information consult the documentation at:  
gyp ERR! find Python [GitHub - nodejs/node-gyp: Node.js native addon build tool](https://github.com/nodejs/node-gyp#installation)  
gyp ERR! find Python \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*  
gyp ERR! find Python  
gyp ERR! configure error  
gyp ERR! stack Error: Could not find any Python installation to use  
gyp ERR! stack at PythonFinder.fail (C:\Users\Ric Dell\AppData\Local\atom\app-1.58.0\resources\app\apm\node\_modules\npm\node\_modules\node-gyp\lib\find-python.js:307:47)  
gyp ERR! stack at PythonFinder.runChecks (C:\Users\Ric Dell\AppData\Local\atom\app-1.58.0\resources\app\apm\node\_modules\npm\node\_modules\node-gyp\lib\find-python.js:136:21)  
gyp ERR! stack at PythonFinder. (C:\Users\Ric Dell\AppData\Local\atom\app-1.58.0\resources\app\apm\node\_modules\npm\node\_modules\node-gyp\lib\find-python.js:225:16)  
gyp ERR! stack at PythonFinder.execFileCallback (C:\Users\Ric Dell\AppData\Local\atom\app-1.58.0\resources\app\apm\node\_modules\npm\node\_modules\node-gyp\lib\find-python.js:271:16)  
gyp ERR! stack at exithandler (child\_process.js:302:5)  
gyp ERR! stack at ChildProcess.errorhandler (child\_process.js:314:5)  
gyp ERR! stack at ChildProcess.emit (events.js:223:5)  
gyp ERR! stack at Process.ChildProcess.\_handle.onexit (internal/child\_process.js:270:12)  
gyp ERR! stack at onErrorNT (internal/child\_process.js:456:16)  
gyp ERR! stack at processTicksAndRejections (internal/process/task\_queues.js:81:21)  
gyp ERR! System Windows\_NT 10.0.19043  
gyp ERR! command “C:\Users\Ric Dell\AppData\Local\atom\app-1.58.0\resources\app\apm\bin\node.exe” “C:\Users\Ric Dell\AppData\Local\atom\app-1.58.0\resources\app\apm\node\_modules\npm\node\_modules\node-gyp\bin\node-gyp.js” “rebuild”  
gyp ERR! cwd C:\Users\Ric Dell\AppData\Local\Temp\apm-install-dir-2021910-11280-kjow69.iyci7\node\_modules\pymakr\node\_modules@serialport\bindings  
gyp ERR! node -v v12.14.1  
gyp ERR! node-gyp -v v5.1.0  
gyp ERR! not ok  
npm WARN notsup Unsupported engine for pymakr@2.1.13: wanted: {“atom”:“\>=1.41.0”,“node”:“\>=6.3.0 \<=7.0.0”} (current: {“node”:“12.14.1”,“npm”:“6.14.13”})  
npm WARN notsup Not compatible with your version of node/npm: pymakr@2.1.13  
npm WARN enoent ENOENT: no such file or directory, open ‘C:\Users\Ric Dell\AppData\Local\Temp\apm-install-dir-2021910-11280-kjow69.iyci7\package.json’  
npm WARN apm-install-dir-2021910-11280-kjow69.iyci7 No description  
npm WARN apm-install-dir-2021910-11280-kjow69.iyci7 No repository field.  
npm WARN apm-install-dir-2021910-11280-kjow69.iyci7 No README data  
npm WARN apm-install-dir-2021910-11280-kjow69.iyci7 No license field.

npm ERR! code ELIFECYCLE  
npm ERR! errno 1  
npm ERR! @serialport/bindings@8.0.8 install: `prebuild-install --tag-prefix @serialport/bindings@ || node-gyp rebuild`  
npm ERR! Exit status 1  
npm ERR!  
npm ERR! Failed at the @serialport/bindings@8.0.8 install script.  
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:  
npm ERR! C:\Users\Ric Dell.atom.apm\_logs\2021-10-09T22\_24\_21\_388Z-debug.log

---

<div class="post-metadata">

**Author:** ![Liam120347](https://yyz2.discourse-cdn.com/flex028/user_avatar/forum.core-electronics.com.au/liam120347/32/5003_2.png) [@Liam120347](https://forum.core-electronics.com.au/u/Liam120347)\
**Post date:** [10 October 2021 11:59 UTC](https://forum.core-electronics.com.au/t/which-lora-module-for-sending-temperature-data-1km-peer-to-peer/11719/5 "2021-10-10T11:59:38Z")

</div>

Hey Richard,

Interesting, thats a very dauting error message. It looks like its a mismatch with Python versions. Tucked away down the bottom of the PyMakr install is a common issues section with a supposed fix.

 ![image](https://canada1.discourse-cdn.com/flex028/uploads/core_electronics/original/2X/2/27c0b55d6dfcedc61eba45a318ad858edfd0155e.png)

Commands and copy-able stuff:

```auto
echo "python=/usr/bin/python2.7" >> ~/.atom/.apmrc
apm install
~/.atom/packages/pymakr

```

Let us know how you go with that!

---

<div class="post-metadata">

**Author:** ![Richard83832](https://avatars.discourse-cdn.com/v4/letter/r/22d042/32.png) [@Richard83832](https://forum.core-electronics.com.au/u/Richard83832)\
**Post date:** [11 October 2021 04:09 UTC](https://forum.core-electronics.com.au/t/which-lora-module-for-sending-temperature-data-1km-peer-to-peer/11719/6 "2021-10-11T04:09:31Z")

</div>

Hi Liam  
I ran your suggested commands and got the following:

Microsoft Windows [Version 10.0.19043.1237]  
(c) Microsoft Corporation. All rights reserved.

C:\Users\Ric Dell\>apm --version  
apm 2.6.2  
npm 6.14.13  
node 12.14.1 x64  
atom 1.58.0  
python 3.9.7  
git  
visual studio

C:\Users\Ric Dell\>echo “python=/usr/bin/python2.7” \>\> ~/.atom/.apmrc  
The system cannot find the path specified.

C:\Users\Ric Dell\>

I can’t see that python 2.7 is on my Windows 10 laptop. Does this mean I need to install 2.7 before running the above code? Is it okay to leave 3.9 on my laptop?  
Richard
