I have tasked myself with building a simple temperature sensor device, using a thermocouple and stm32 microcontroller. I want to be able to take readings at regular intervals (every hour or so) and log them to a Mongo.DB database. To accomplish the transmission of data, I have looked into Sigfox, and LoRa as a start. I have also looked at using a GSM module, but I want to prevent myself from using cellular reception, as that cannot be dependable for constant reception if I were to deploy this in a remote area. Are there any alternate ways to accomplish the transmission of data from the device to the backend?

I apologize for being vague, as this is the first time I have looked into this aspect of design and I am just looking for advice and a way forward to built a foundation for future projects.

Thank you

2 Answers 2


I would suggest using LoRaWAN connectivity, that offers a scalable network infrastructure for several hundred/thousands/millions of devices. For that, you need to deploy the LoRaWAN protocol stack on your stm32 and connect it to a community operated LoRaWAN network like Loriot, Actility ThingPark or TTN. Your selected LoRaWAN network can easiliy be configured so that it forwards your device's messages to your Application Server in the cloud.


Your stipulation of "in a remote area" is the limiting function. I would guess that if a cellular signal is unavailable, there is even less of a chance that there's a reliable "community-operated" LoRaWAN signal from some random radio base station available. But maybe you are lucky.

However, if YOU can put up a LoRaWAN gateway that you control (manage, supply power, and internet connectivity), it can be stationed a few miles away, and you're almost done. Presumably you can also put up some agent that will be the endpoint for your LoRaWAN traffic and can actually submit the data to the (MongoDB) database. (This agent that gets the data from the LoRaWAN sensor could be co-located with your gateway and internet connection and can take care of morphing the LORA traffic to a TCP/IP message, with whatever security and endpoint you desire OR you could put it "in the cloud" with a LORA "carrier" and still have to deploy a cloud server to get it into your database)

Ultimately though, if you can't reliably get what you want by paying a carrier, you're probably not going to get it "for free" from the community. Data to/from remote areas is difficult/expensive for a reason (and your own LoRaWAN base station might be the cheapest solution if you can pull it off logistically.)

Personal experience includes using a LoRaWAN hat for a Raspberry Pi (which a sensor was connected to) and a Tektelic gateway. The LoRaWAN software stack for the Pi HAT was not very mature. I think you're on a more paved path with the STMicro solution. The Tektelic gateway was fine until it was provisioned for a private LoRa cloud. Conversely, it worked great when I had it on the office LAN and connecting to AWS directly.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.