LoRa (Long Range) technology is one of the promising technology which offers long range communication with low power consumption.

Therefore when building a device that can be deployed in a no network area or to achieve long distance such as 5km or more with low power consumption feature it is considered to be a suitable technology.

However if I am planning to build a system that should assist sending images to remote location over long range or in no network area (i.e. rural area, agricultural fields), what is the better option?

Is it a good practice to use LoRa for sending images? Since it has low bandwidth, how can a large image be sent? What is the maximum size that could be sent?

In detail, I want to capture images of crop from the field and send it for analysis on cloud server. So if I am sending image (1-2MB size) in small parts, how many attempts will it take if the distance between sensor node and gateway is around 2KM? How can I assure that all parts will be transmitted successfully?

Practically I have seen that while out of 10 packets of simple text message, 1-2 packets are usually lost even in closest distance of 10 ft. I don't know, may be due to I have not yet used gateway as receiving and rather that I have used SX1278 Lora module as both sending and receiving devices in 1-1 communication.

  • 3
    There is no maximum size for the image - you simply send it in small parts, and re-assemble it at the receiving end. Great question !
    – Mawg
    Commented Jul 5, 2019 at 7:43
  • 2
    except you have some pretty serious bandwidth limits with LoRa (that get worse the more clients you add and the longer the range) so the size of the image will directly effect how long it will take to send.
    – hardillb
    Commented Jul 5, 2019 at 7:52
  • 1
    Also what is your use case for the images? (blog.hackster.io/…)
    – hardillb
    Commented Jul 5, 2019 at 8:25
  • 1
    @hardillb I want to capture images of crop from the field and send it for analysis on cloud server. So if I am sending image (1-2MB size) in small parts, how many attempts it takes if the distance between sensor node and gateway is around 2KM? and How can I assure that all parts transmitted successfully?
    – tim3in
    Commented Jul 5, 2019 at 9:10
  • 1
    Sounds like you need a better antenna
    – Mawg
    Commented Jul 8, 2019 at 7:05

4 Answers 4


Using the information in this answer: https://iot.stackexchange.com/a/2934/746

At (a worst case) max useable payload of 51bytes it will take 41,120 packets to send a single image (assuming no need for re-transmits).

I do not think this will be practical.

  • 1
    I also think. Theoretically it sounds good but not a very practical approach. 41,120 packets are too much even sending less size 500KB image require 1000+ packets. So if suppose 2000 packets to be sent for an image, how many packets are required at receiving end to construct that image?
    – tim3in
    Commented Jul 5, 2019 at 10:02
  • 1
    I think it depends a little bit on the circumstances, too. For example, creating a photo every day from an agricultural field might be an usable option.
    – peterh
    Commented Jul 6, 2019 at 8:52

I think your best bet at these distances is a GSM modem with a SIM card and a data plan with the cheapest available operator. You can connect the GSM modem to whatever device is taking pictures via a SPI or UART or USB and send your pictures by email, SMS, or MMS message, or even upload them directly to a FTP site. This is a cost effective solution that removes most of the hassle and there is essentially no distance or bandwidth limit.


There are two significant constraints with processing image data, energy and bandwidth.

As you have identified, data bandwidth is still expensive in some locations (although it is not clear if you have actually investigated the alternatives). In addition to the channel capacity, there is an energy cost associated with the transmission (and this can be expressed as Joules/Bit).

There is also an energy cost associated with processing the data. Traditionally, it would be necessary to perform image processing on a mains-connected device in order to achieve adequate throughput. This is no longer true. A 10 watt device (such as the Raspberry-pi 4) is probably capable of processing images considerably faster than you need to capture them, and you ought to be able to achieve orders of magnitude reduction in data payload. A device like this can be solar powered reasonably effectively, and you can still store images locally for after-the-fact analysis if you need to tune your algorithms.


For transporting image data:

If crops to be monitored for difference over time, then extracted images can be diffed and only the difference-patch can be uplinked.

Currently, lora website has given a document for fragmented data block transport. For this question, subsequent images can be seen as a patch and class-C fragment data transport using a Class-C multicast session can be used to uplink the diff-image.


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.