What is USSD?
Unstructured Supplementary Service Data or USSD, is a protocol used by GSM cellular devices (like a cell phone or M2M product) for bilateral communication between the device and the mobile network provider’s computers. USSD is commonly used for balance checking, adjusting mobile account settings, and adding credit. Anytime mobile phone users dial *(numbers)# and press send, USSD is being used.
It is similar to SMS (short messaging service) in that it sends short text messages however instead of these messages going from user to user, like with SMS, USSD messages go from user tonetwork, or network to user.
The USSD messages can be up to 182 alphanumeric characters long but unlike SMS, the messages create a real time connection during a USSD session. The connection remains open supporting a two-way exchange. For example a user sends a USSD command *555# (this command is just an example, each mobile phone network determines their specific command) and a few seconds later a menu appears on their phone with a list of choices. The user can make a choice by pressing the corresponding number and pressing send. The ability to maintain a live bilateral communication session makes USSD more responsive than SMS.
How does it work?
In this article we’ll use a location tracking device with cellular connectivity as an example for how USSD can be used with IoT devices. The tracking device is fitted with a SIM card or eSIM. When you request the location of the device via the front end (such as a smartphone APP), a command is sent through the tracking backend to the mobile phone network to send a USSD message to the tracking device in the form of alphanumeric characters e.g. *abcde123456789#.
The device will then instantly send a USSD message back to the mobile network. The mobile network forwards that message to the tracking backend which pushes location coordinates to appear on the front end. The location coordinates display a pin on the map on the UI (User Interface) that shows the user where the tracking device is located.
Why Use USSD?
There are many advantages that can be leveraged by using USSD over data.
USSD is designed specifically for transferring small bits of data, which is perfect for communicating with sensors and making commands since it works by transferring short messages, not larger files such as images, video, and audio. Communication with sensors includes sending location coordinates (tracking devices), motion, temperature, humidity, altitude, open/close, and countless other sensor readings. Common commands include turning something on and off, updating messages on (text only) billboards or displays, specifying a temperature to a thermostat, and infinitely more uses.
USSD offers a low cost solution for devices that are specifically designed for this type of sensor data transfer. The hardware which uses USSD can be low cost and simple because all that’s required is a telecom modem connected to sensors. No screen, touch panel, camera, nor high power CPU required.
One SIM card provides global coverage. As a standard GSM protocol, USSD works on all mobile phone networks around the world.
No extra Roaming Costs
Because USSD messages go between home network and device, even when roaming away from the SIM’s home network the USSD messages are forwarded back to the home network. There is some cost for this, but generally it can be covered in a fixed monthly or annual fee. As such your USSD enabled device works worldwide (wherever your SIM’s home network has roaming agreements) without any variable roaming costs.
USSD uses the mobile network’s voice channel to send and receive information rather than sending information over the data channel. Connecting to the voice channel consumes less energy than connecting to the more commonly used data channel meaning that using USSD is more power efficient than using traditional data communication.
This is useful for either making a device smaller as it doesn’t need a large battery, or just having the device last much longer without requiring any change to hardware. In fact USSD will work on any cellular IoT hardware, only a simple change to firmware is required.
USSD uses up to 115% less power than standard IoT cellular connections (based on Huawei’s 706s telecom module data sheet).
Note: While USSD uses the voice channels it cannot send voice messages.
Uses of USSD
The advantages of USSD are relevant to many applications. The most suitable uses for USSD are with devices that will be used in multiple countries or demand low power architecture such as tracking devices, worldwide deployments of IoT products, and IoT devices powered by battery or energy harvesting.
For many tracking devices; size, battery life and subscription fees are very important. For a personal tracker or pet tracker the small size of an eSIM (small IC chip that serves the same purpose as a normal SIM card, but it’s smaller and soldered on the PCB) and low power consumption are ideal.
Luggage tracking benefits from USSD’s low cost global coverage and longer battery life as users travel from country to country and don’t need to worry about frequently charging their device.
Tracking devices do not require the transfer of large amounts of data. They only need to be able to support sensor communications such as reading surrounding cell tower and wifi network information (for tracking based on cell tower and wifi network triangulation), motion detection, GPS, and turning on/off sound alerts.
Precision Agriculture and Sensor Monitoring
Precision agriculture is one of many modern farming practices that make production more efficient. Precision agriculture utilizes IoT devices such as sensor and monitoring devices.
Precision agriculture has a lot of challenges related to internet connectivity in rural areas. Agricultural devices are located away from wifi access points and often the cell signal is weak. Many IoT devices are not optimized to just occasionally transmit small amounts of data. Using USSD for these IoT devices can provide better network coverage, longer battery life and lower costs.
Take fuel tank monitoring for a remotely located emergency generator. There is not a lot of data to send, only the fuel and battery levels. There is also no wifi, ethernet or landlines nearby so it needs to go cellular. Power can be provided by a small battery and generated by solar.
Another example is to monitor large or remote irrigation systems by using a sensor that provides alerts in case of falling pressure or tipping and the operating status of the sprinklers.
USSD is not some fancy, new, faster, innovative concept technology. It’s based on an established and mature protocol that’s being repurposed to cater new uses in the exploding IoT space.
USSD is similar to the upcoming NB-IoT however however USSD is ready to use today. NB-IoT is not fully ready and is currently only being planned for Europe and China in the near term. It may take years before it achieves worldwide coverage.
USSD should be considered for use in IoT products which would benefit from the advantages of USSD. A company like Hatch has experience making tracking devices which support USSD connectivity and Hatch has a USSD solution available to customers as well. Whether you are looking to utilize USSD with existing hardware or develop a new device Hatch can provide both hardware and a USSD connectivity solution.
If you have any questions about USSD or about how Hatch can help, please don’t hesitate to get in touch via email to firstname.lastname@example.org or by leaving a comment below.