SMS over LoRa: Long distance SMS without 4G // Project

Originally published at: SMS over LoRa: Long distance SMS without 4G // Project - MickMake - Live. Learn. Make.

Do you want to be able to send an SMS over 20kms without using a mobile phone network? Here’s one small project you can knock up in less than a day allowing you to send an SMS over LoRa.

To be honest, I really like to this project. Using a browser interface would allow cross-platform compatibility and ease of use. Maybe the mobile app could tap into the various sensors of the device it is installed on to feed data from GPS, barometer, altimeter etc? This could (with marketing, funding, and passion) be the best off-grid communications solution available.

1 Like

Hi CW,

Yup, there's lots of applications for a LoRa <-> WiFi gateway. There's a number of commercial ones around, but the market still doesn't have any decent standard that people can adopt. It's an immature market.

good project, Can you recommend a good external antenna to use in this module (433Mhz)?

1 Like

Very useful project!
Low power + long distance, so perfect after the zombie apocalypse.
Should be paired with a solar power source.

1 Like

hi sir…
i was tried this project, but have a problem with crc16.h . No such file or directory.
maybe you can help me to fix this problem?


1 Like

Ah yes! I need to update the GitHub repo for that.
This header file is actually part of another library.

1 Like

Thanks Sir,
its will help me on my first project in LoRa.
And stay for your another project…

1 Like

I am also unable to solve the above mentioned problem.

Hi Mick,
thank you for the shared project! Could you fix the problem with crc16.h please?!
The project is very interesting for me, but unfortunately I am unable to solve the mentioned by Kang_Joo_Woo problem.
Thank you in advance! :slight_smile:

Hey Mick,

So I’m confused on which pieces of firmware we should be using. Do we need to just upload the files in your GitHub project page under “Project-LoraSMS” via arduino - and we are all set to go from there?

1 Like

That should be it, but I haven’t looked into it for a while. I think I need to revisit this project as the libraries that I used have changed a fair bit.

Cool, I’ve ordered the parts - I’ll let you know once I get started!

1 Like

Hey Mick,

I’ve got the parts and began to build - I went ahead and added the fire beetle via boards manager, I had to add in crc16.h and a few other libraries (RadioHead, RingBuf, & FastCRC) via adding them as zip files.

However I’ve hit this roadblock - it looks like I’m missing “util/atomic.h” from the RadioHead library? Did you encounter this error, or do you know how to approach it?

In file included from C:\Users\Documents\Arduino\libraries\RadioHead-master/RHGenericDriver.h:9:0,

_ from C:\Users\Documents\Arduino\libraries\RadioHead-master/RHSPIDriver.h:9,_

_ from C:\Users\Documents\Arduino\libraries\RadioHead-master/RH_RF95.h:15,_

_ from C:\Users\Downloads\Project-LoRaSMS-master\Project-LoRaSMS-master\LoRaSMS-D2D\LoRaSMS-D2D.ino:4:_

C:\Users\Documents\Arduino\libraries\RadioHead-master/RadioHead.h:883:27: fatal error: util/atomic.h: No such file or directory

compilation terminated.

exit status 1
Error compiling for board FireBeetle-ESP32.

1 Like

Has anyone gotten this project to work? I spent all weekend on it, but kept hitting roadblocks and still can’t get anything to compile in Arduino. Here’s what I did:

  • Added FireBeetle board to Arduino here:

  • Downloaded the Project Files here:

  • Then opened and tried to compile LoRaSMS-D2D.ino in Arduino, got library errors & “PRINT” + “PRINTLN” issues.

  • I download these libraries as zip folders, then added the zip folders via Arduino into my sketch:
    RadioHead: https:// github DOT com/hallard/RadioHead
    FastCRC: https:// github DOT com/FrankBoesing/FastCRC
    RingBufCPP1.1.0: https:// github DOT com/wizard97/ArduinoRingBuffer

  • I then compiled and got CRC16 errors, so I added this library: https:// github DOT com/vinmenn/Crc16

  • The library errors went away, but then saw that “PRINT” & “PRINTLN” threw up errors, I noticed the debug file showed this - BUT I decided to replace PRINT with Serial.print, and PRINTLN with Serial.println, after compiling those errors went away.

  • I then compiled and saw the error “util/atomic.h” as non-existing - this was in RadioHead.h. I then realized there was no util folder and hashtagged that line out.

  • I compiled and got errors talking about “ATOMIC_BLOCK” and similar items within RadioHead library files … .this is where I gave up.

So my questions are:

  1. Did anyone else see these issues?
  2. Mick, can you supply a step-by-step setup for the firmware process?

PS - I could only post two links - so the library links have “DOT com” which = .com


I suspected as much. Things have really changed since I looked at it last.
PRINT and PRINTLN are used as a crude form of debugging. Essentially if you have DEBUG defined, it’ll print debug to Serial otherwise not.

And yes… DFRobot seem to have also changed their board support for the Arduino IDE…

I’ll have some time next week to check it out again. People have also asked for it to be going on ESP32, so might spend some time on that as well.


Any progress on updating this project?
Mick really blazed a trail with this one.
Since then, there’s the GoTenna, and Sonnet (not quite yet). Pycom/Pylife is in progress.
There’s also great leaps in systems: the ESP32 Lora boards from China look a likely candidate.

did you ever get a reply? i’m having the same issue with atomic.h

OK, so, I’m compiling now… the atomic.h file is in the RHutil folder. The sketch is looking for it in the master folder. I just copied atomic.h to the master folder. we shall see…

interesting program but code is outdated.
Any progress on make it run again?