NB-IoT data usage on battery powered devices.

NB-IoT is an emerging technology geared around sending small amounts of data. Like infrequent location updates, temperature readings, or some other sensor values - powering the "Internet of Things", and many millions of interconnected devices. 

As of 2020, NB-IoT is being rolled out in many countries, along with data packages and rate plans. For a comparison between LTE-M and NB-IoT, along with examples of typical use cases, see 4G Connectivity - Cat-M1 vs NB-IoT, Coverage, Providers and Roaming. In general, NB-IoT is best suited to minimal data usage. In the context of our devices, that might be:

  • A Yabby giving 4 location updates per day, this is a good application for NB-IoT
  • An Oyster2 on default settings, providing constant trip tracking (i.e 2 min records and uploads every 30 min while on the move) - we should choose LTE-M for this application. 

NB-IoT is attractive because the cost can be lower than LTE-M. Even a small saving each month can quickly add up across the lifetime of a device, particularly when rolled out across many thousands of devices. Getting monthly cost down is a key way in which many previously unviable applications are beginning to make cost sense. Now we really can track anything! However the cost is reflected in the data per plan. E.g. 5MB per year plans aren't uncommon. 

It is important to note however that many NB-IoT plans are structured to heavily discourage higher amounts of data usage, at which point they become more expensive than a Cat-M1 plan, so it is important to have clear how much data we expect to use, and test, before rolling out large-scale NB-IoT deployments. Typically it is not easy from a SIM or device level to simply switch to a higher plan, or from NB-IoT to Cat-M1, without retrieving the device and swapping SIMs. 

So how much data will I actually use?

The answer really is 'it depends'. We cannot simply look at the record size sent by our devices and multiply that by the number of uploads. Other things contribute to the overall data use including

  • TCP Overhead: Our devices communicate via TCP. TCP is a protocol which establishes and maintains a connection while two parties exchange data. This uses up extra data in sending hellos, acknowledgements, and other messages just as part of the actual connection - before we even send any data. This is can often outweigh the actual message payload
  • Firmware updates
  • GPS aiding data. Our GPS devices periodically download information from the satellites, which helps 
  • Device System Parameters. The configuration of the device will impact the upload size and number of uploads.
  • Minimum connection charges typically do not apply on NB-IoT, you're only charged for the data you use, with no rounding up to 1kB, 2kB for example like on traditional networks. However this is not a given so be sure to check. 

With all these various factors, we can make estimates, but the easiest and the most reliable way to work out how much data a device will use is to simply insert the SIM, let it run for a while with the desired settings, and then just look at the data usage at the end of the month. We did just that with our Yabbies!

Yabby GPS Data Usage Test

We set up a Yabby GPS for 4 x Daily heartbeats. However as it is a GPS device, it periodically downloads satellite aiding data, which dramatically increases the overall data usage.

M2M One NB-IoT SIM card, operating on Telstra's NB-IoT network in Perth, Australia

Key stats:

  • Average data usage per heartbeat: ~1.5kB
  • Average data usage per aiding data download: 50kB
  • Aiding data is downloaded once every 4-6 days, lets call this 5 times in a month. 

So, we can provide the following rough estimates:

  • 1 update per day: ~50kB for heartbeats +  250kB for aiding data = ~300kB/month
  • 2 updates per day: ~100kB for heartbeats + 250kB for aiding data = ~350kB/month
  • 4 updates per day: ~200kB for heartbeats + 250kB for aiding data = ~450kB/month

What about the Oyster2 and Remora2?

The above estimates for the Yabby GPS will hold for these devices, provided we have the same settings.

Yabby WiFi Data Usage Test

This Yabby Wi-Fi was configured for 4 x Daily heartbeats. This constitutes a Wi-Fi lookup each heartbeat. The specific amount of data will depend on the number of Access Points returned. This device was on the default for a max of 15 to be returned.

M2M One NB-IoT SIM card, operating on Telstra's NB-IoT network in Perth, Australia

Key stats:

  • Average data usage per heartbeat: 2.2kB
  • 300kB was the month total.

Therefore we can extrapolate for the following rough estimates for monthly data:

  • 1 update per day ~75kB/month
  • 2 updates per day ~ 150kB/month
  • 4 updates per day ~ 300kB/month

Can I get this lower? What are my options?

Unfortunately, this is currently the best we can do with the current devices. On GPS devices aiding data downloads can not be disabled in system parameters - and these trade off a little bit of data usage for a battery life gain - as it speeds up GPS fixes, reducing their power consumption. Additionally the actual payload information (lat/long, voltages etc) is much smaller than the overall data (hundreds of bytes at most). A protocol other than TCP will help cut down on overhead (but there are other trade-offs).  

We are always developing new product, so watch this space for future product, optimised for NB-IoT and getting the data usage to the absolute minimum. 

How do I set up my device for NB-IoT

Our current range of cellular devices use the uBlox SARA-R410M modem, which is a Cat-M1/NB-IoT modem. There is nothing particularly special that needs to be done to get online, however we have noticed that getting online on many NB-IoT networks has proven tricky. However our Autonet feature aims to make getting online as simple and automatic as possible. So to get online, the steps are:

  1. Just try inserting the SIM and batteries, if it is a SIM we have added to the Autonet table, it should just do its thing and get online automatically!
  2. If not, you may need to set some network settings, see the information here - contact our support team if you need assistance:
    1. 4G APN - How do I set the APN to connect to the network?
    2. 4G Network Settings
    3. LTE-M/NB-IoT - Network Settings by SIM

Once online, the other setup we must do is simply to make sure we restrict how much data the device will send - i.e. in most cases we would configure Periodic Tracking

Did you find it helpful? Yes No

Send feedback
Sorry we couldn't be helpful. Help us improve this article with your feedback.