I recently had the pleasure of attending a two-day Hackathon at the Vodafone/Huawei (the world’s first) Narrowband Internet of Things (NB-IoT) open lab. The event was centred around the practical application of NB-IoT and how to leverage the technology to attain the somewhat figurative holy grail of battery performance for IoT devices – ten year plus battery life. Now, I am well aware that NB-IoT is more buzz word than anything else at the moment so let’s talk about what it actually is and its relevance given the state of IoT today before discussing the specific features of the technology that help to minimise power consumption.
What is NB-IoT?
NB-IoT is a Low Power Wide Area Network (LPWAN) technology operating within the Long Term Evolution (LTE) spectrum and was standardised as part of 3GPP release 13 in June of 2016. The recent proliferation in both interest and development efforts regarding LPWAN technology highlights the fact that we are moving evermore rapidly towards a highly interconnected and automated future with Machina Research predicting that the global total number of IoT connections will increase from ~6 billion in 2015 to ~27 billion by 2025. Further to this, Machina Research predict that almost 2.2 billion of the connections in 2025 will operate over LTE with 11% of these connections using an LPWAN technology.
When will NB-IoT be commercially available in the UK?
Whilst not yet available in the UK, NB-IoT is available in a multitude of countries including the USA, Australia and many European and Asian countries. Vodafone aim to have NB-IoT completely launched in the UK by 2020. Parts of the west already have NB-IoT capable infrastructure in place whilst other areas require either upgraded or additional hardware.
How NB-IoT helps to maximise battery life
LPWAN technologies sacrifice data throughput for battery life and NB-IoT is no exception. As with any cellular technology, practically achievable throughput is heavily dependent on coverage; 3GPP define three coverage classes for NB-IoT, Extended Coverage 0 (EC0), EC1 and EC2. Simply put, the greater the distance between your device and the Evolved Node B (eNB; this is the LTE term for a ‘cell tower’), the worse your coverage class. Of course, distance is not the only factor to consider when coverage class is determined; geographical features such as landscape and urban density (and whether or not your device is subterranean) all have an impact. Typically, to ensure the complete transmission of a message, the eNB will request that a device not only use a higher gain, between 0 to +20 decibels (dB), 144 to 164 dB, when within EC1 or EC2, but also repeat the transmission up to 128 times and logically combine the messages to increase signal-to-noise ratio. Thus, the worse your coverage class the more you use the battery-draining radio. All factors considered, downlink data rates can vary between 0.5 – 200 kilobits per second (kbps) and uplink between 0.3 – 180 kbps.
Figure 1: NB-IoT coverage classes.
One way in which NB-IoT modems enable extended battery life is with Power Save Mode (PSM). Within PSM a device is still registered to the network but is unable to be contacted by the eNB and is in a Radio Resource Control (RRC) null state; this means that the eNB (and you) cannot contact the device until it wakes up and enters an RRC connected state, at which point the device and eNB transmit to one another and power consumption increases. After this the device can enter an RRC idle state whereby communications can still occur, the device could be waiting for a response after sending a message for example, but no transmissions are currently taking place. The cycle just described can be broken into the following steps:
- The device is in PSM, an RRC null state and cannot be contacted.
- The device wakes up, the technical term for this is a Tracking Area Update (TAU), goes into an RRC connected state and transmits to the eNB.
- The device enters an RRC idle state and is reachable for paging by the eNB for a configurable period of time (often determined by the T3324 timer).
- The devices goes back into PSM for a duration specified by the T3412 timer. The time between each iteration of the above loop, as already mentioned, is controlled by the T3412 timer. This can range between a couple of minutes to over 400 days. You read that correctly; your NB-IoT device can be completely unreachable for over 400 days at a time if you so wish.
Another technique employed to minimise power consumption is Extended Discontinuous Reception, or eDRX; essentially a mechanism allowing an NB-IoT device to sleep between paging cycles whilst in an RRC idle state. Typically, with standard DRX, a device will sleep for a period (frame) of up to 10.24 seconds. As implied by the name, extended DRX allows a device to sleep for multiples of the frame value, a hyper frame (HF), which, for NB-IoT, can be almost three hours.
Lastly, Release Assistance (RA). This is a flag that the device can send to the eNB within the TAU to signal that it intends to skip the entire RRC idle phase altogether. Say your device is sending data in a fire-and-forget manner, you don’t need a response so you can minimise even further your usage of the radio.
Application layer considerations to maximise battery life
We’ve discussed in brief three of the key NB-IoT design features that enable better battery performance but, with poor application design, battery life can still be sub-optimal. Here are a few quick tips to help maximise NB-IoT design battery performance:
- Use a non-chatty communications protocol. User Datagram Protocol (UDP) is a great choice because it doesn’t require the receiver of a message to send an acknowledgement of receipt. Using a Transmission Control Protocol (TCP) based stack, such as Hyper Text Transfer Protocol (HTTP), can lead to a whirlwind of development niggles because, as previously mentioned, a device could transmit to an eNB and then sleep for up to 3 hours before it’s ready to receive a response – HTTP will timeout well before this.
- Send data infrequently. The most-likely largest power drain in your system is the radio so the less it is used, the better. Do you really need to send your sensor data every hour? Really think about that if you’re serious about maximising battery life.
- In a similar vein to point two, minimise the amount of data you need to send. Instead of sending an overly complex JSON message with text fields, use numeric codes.
- Minimise the use of lookup traffic, such as using a Domain Name Server (DNS).
All things considered, there’s no doubt in my mind that NB-IoT is here to stay. We’ve discussed its relevance, the predicted exponential increase in number of devices and a number of design considerations to ensure that device battery life is maximised.
- Machina Research. (2016) Press Release: Global Internet of Things market to grow to 27 billion devices. [online] Available at: https://machinaresearch.com/news/press-release-global-internet-of-things-market-to-grow-to-27-billion-devices-generating-usd3-trillion-revenue-in-2025/
- Cisco. (2018) Power Saving Mode (PSM) in UEs. [online] Available at: https://www.cisco.com/c/en/us/td/docs/wireless/asr_5000/21/MME/b_21_MME_Admin/b_21_MME_Admin_chapter_0111010.pdf