Sorry, you need to enable JavaScript to visit this website.

You are here

IoT Arduino MKR NB 1500 and Telstra NB-IoT

BY DIYODE Magazine 09 November 2020

We put the Arduino MKR NB 1500 to the test using the Telstra network and show you how to give your IoT project long-range communication, when WiFi or LoRa aren't practical.

This article was originally posted in DIYODE Magazine by Johann Wyss, Issue 40, November 2020.

Monitoring real-world conditions in remote locations

There may be times where you need a project to monitor real-world conditions in a remote location and transmit that data to the end user wirelessly. You could, for example, have a series of remote pumping stations which are critical infrastructure for your property or operations. You may need to monitor the air quality for a buildup of gases in the pit,or the flow rate to gauge pump performance, or maybe the voltage of a backup battery. Or, you may also want to monitor a remote weather station or access control system for the gates around your property.

It’s not practical for yourself or an employee to constantly travel to each site to monitor the system. That's why automation is your best solution.

Automating your project with IoT devices

The good news is that there are a number of ways you could do this. For example, back in Issue 21, we created a LoRa/Arduino-based IoT device which was able to transmit data from a sender unit to a receiver over a distance of nearly 7.5km. At the time, we were thoroughly impressed with the reach of this project. Yet in hindsight, 7km is insignificant once you consider Australia covers an area of 7.692 million km². The distance problem aside, there are other issues that would make LoRa undesirable in this situation.

Limitations of LoRa

LoRa is a shared network that operates on the shared Industrial, Scientific and Medicine (ISM) UHF radio band between 915MHz - 928 MHz. This band does not require a license from the Australian government to transmit on, which means anyone is free to use the band, and as such, this small band could become congested.

The best way to explain this congestion is to imagine the ISM band as the space inside of a pub or bar, and you and your friends are clients in this bar, all communicating together in much the same way as IoT nodes do. As more and more people (clients) enter the venue, there is more and more background noise as the other clients are trying to communicate in the limited space of the venue. This leaves you with no other options but to repeat the same message.

If you don’t, your communication is simply drowned out by the accumulation of other communications. If your project is a simple weather station, LoRa can make sense as a few missed communications here and there will have minimal impact. However, if like in our hypothetical situation with a mission critical device, such as our remote pump stations, lost communications could be disastrous.

Celluar based IoT

Cellular based IoT, on the other hand, uses a dedicated spectrum which the network provider tightly controls. Only approved clients can communicate in the space, essentially creating a reserved VIP lounge for you and your friends.

So, what are your options if you need to communicate with a device over much greater distances than a LoRa node will allow, or if you have a mission critical need? Well, thanks to the collaboration between Arduino and Telstra, we have the answer.

The Arduino MKR NB 1500

Arduino has developed the Arduino MKR NB 1500, an IoT ready 32-bit Arm Cortex M0+ based microcontroller development board with a u-blox SARA-R4 multi-band Long Term Evolution 4G (LTE-M) / NB-IoT narrowband module. The development board boasts 256KB of flash memory and 32KB of static RAM, which should give you quite a bit of space for programming.

In total there are 15 digital I/O pins D0 – D14, with 11 of these capable of PWM. On the analog side, there are seven analog I/O pins, all of which can be used as a digital pin, and two of which can be used for PWM. Combined, this makes the MKR 1500 quite a feature-packed development board with enough memory and I/O for even some challenging projects.

Telstra M2M LTE-M network

Of course, in this case, it’s all about the ability to transmit and receive signals from the project, and for that, we have the Telstra Machine to Machine (M2M) LTE-M network.

As you can see from the coverage map below, this network covers an area of 3 million km² across Australia, providing service to the most populated areas. So provided that your device is in range of the coverage map, you’re good to go.


You can also find an interactive map here.

A dedicated spectrum network

But what about congestion? Well, that’s covered too. Unlike LoRa with its shared spectrum, the Telstra network is a dedicated spectrum network where only limited users are on the spectrum at the same time. Likewise, the base towers use software called a scheduler to work as a mediator, ensuring that devices are not trying to talk/communicate over the top of one another.

This prevents lost communications and also means that you can potentially use a lower transmit power. This is ideal for remote devices which may need to be battery powered as the size of the battery and associated supporting hardware, like solar panels, is reduced.

IoT security

On top of these benefits, you also get multifaceted authentication security on the Telstra LTE-M network. Security has, until recently, generally been an afterthought in the IoT world. This could, in large, be a result of simplistic thinking.

Most of us would think that our IoT enabled coffee machine is fairly safe. After all, on face value, the worst someone can do if they were to take control is to ruin your morning coffee. However, it’s important to remember that your network security is only as safe as the weakest link.

If your coffee maker is attached to your Wireless Local Area Network (WLAN), a suitably skilled bad actor could potentially gain access to other devices on your network via your coffee machine. Take, for example, the North American Casino that was hacked in 2017. Hackers gained access to the system via an IoT fish tank monitor. Whilst clearly an extreme case, this goes to demonstrate how bad actors are progressing to more and more creative exploits.

As such, security is now becoming more and more the focus in IoT, especially in the corporate world where an IoT device could be used for corporate espionage. This makes Cell-based IoT devices that are not directly connected to your WiFi network much more attractive. With LTE-M networks, communication is validated using a Universal Integrated Circuit Card (UICC), which we often referred to as a Subscriber Identification Module or SIM card.

This card is the first step in authenticating access to the network. This mutual authentication ensures that not only is the device who it claims to be, but also that the network/server is also who it claims to be.

The IoT cloud

To tie the two technologies together, Arduino has developed the IoT cloud. This allows you to not only very easily create IoT applications using the 1500 NB and Telstra network, but also access and display the data on any computer or mobile device anywhere in the world. This gives you the ability to not only check sensor data for your project anytime but also respond to it.

For example, let’s continue with our hypothetical pump station. This pump station has an issue where the flow of the pump needs to be controlled remotely. With this system, not only can you monitor real-world sensor data in real-time reliably, but you can also react in real-time, based on demand or even reactionary due to unforeseen situations.

Combine Arduino with a Telstra data plan 

Thanks to the collaboration between Arduino and Telstra, you can purchase the Arduino MKR NB 1500 board with a SIM from Telstra for $119, which includes 10MB per month of data for FREE for the first 6 months! We did the calculations, and that’s a lot of data for many IoT projects.

The amount of data you need will depend entirely on the type of project you’re creating. If you’re needing real-time up to the second sensor data, then you'll need more data compared to if you only needed updates every 10 seconds or so.

For example, an integer on the Arduino MKR NB 1500 is a 32-bit value. So, if you were to send a single 32-bit integer every second for a month you would use most of the 10MB per month plan. This is worked out as there are 2,592,000 seconds in a month so you would need 8.3 MB of data just for this value.

Note: This does not account for any overhead on top of the actual packet frame that is sent.

However, if you were to send the same integer every 10 seconds you would use just over 1MB, and if you were to drop it to 30 seconds, the data use would drop to 0.0108MB. The good news is this can all be easily controlled in the Arduino IoT Cloud software.

After the six months of free data, you will need to sign up for an M2M data plan. There are many plans to choose from based on the data you will use. They start from $2.40 for 100KB of data per month. You can check out the different plans here:

Learn more

The original DIYODE article continues with a hands-on guide to connecting external sensors to the device on Telstra's network, with Arduino IoT Cloud. 

Find out more about Telstra's IoT Starter Kit with the Arduino MKR NB 1500 and SIM, and purchase one today on our IoT Marketplace:

Related Blogs

anonymous's picture

By Daniel Simpson


  • azure
  • microsoft

A code-first approach to digital twins

Find out how to use code-first digital twins with the Telstra Digital Twins library.   ...
anonymous's picture

By Michelle Howie


  • iot
  • arduino

AgTech and sustainable agribusiness

Our GovHack 2021 challege explored how AgTech can improve sustainable agribusiness.  ...
anonymous's picture

By Quinn Tran


  • iot
  • microsoft

Creative projects with Microsoft Azure

Get your creative juices flowing with the latest in computer vision innovation.   ...
anonymous's picture

By Michelle Howie


  • arduino
  • iot

Trigger an SMS alert when a device is dropped

Learn how Arduino can be used to trigger an SMS alert when a device has been dropped.  Autom...
anonymous's picture

By Michelle Howie


  • arduino
  • iot

Get environmental sensor data via SMS

Learn how to set up on-demand SMS updates for your IoT devices.  Potential use cases If y...
anonymous's picture

By Michelle Howie


  • arduino
  • iot

Use SMS to control your IoT device

In this blog, we look at how to use SMS commands from the Telstra Messaging API to control your IoT...
anonymous's picture

By Michelle Howie


  • iot
  • arduino

Changes to our IoT Developer Kit offer

The IoT Marketplace and Developer Kit trial were retired in July 2021.    Where we...
anonymous's picture

By Tim McMahon


  • Telstra Messaging API
  • bushfire

Air quality SMS alerts during bushfire season

I woke up one morning in January 2020 to discover that the air quality in Melbourne had dropped...
anonymous's picture

By Alan Quayle


  • iot

Unlocking the IoT: Telstra Track and Monitor API

As Australia’s longest serving telco, Telstra is expanding their developer program to provide...
anonymous's picture

By Sri Amirthalingam


  • iot
  • regional

Your regional mobile coverage questions answered

When developing an IoT solution for your business, coverage and access to a reliable network is crit...
anonymous's picture

By Michelle Howie


  • TDev
  • documentation

TelstraDev End of Year Wrap: 2020

We made it! Welcome to the end of 2020, may it soon be just a distant memory. Though it wasn’t...
iot home garden project with arduino and azure
anonymous's picture

By keith coutlemanis


  • arduino
  • azure

Azure IoT garden project with Arduino

In this blog, I'll showcase some of the interesting things you can do with the Internet of Thing...