To improve the accessibility of our content, please find the audio version of this blog post.
The absence of a popular standard capable of connecting a myriad of IoT devices in a mesh network is problematic. It’s why EMBETECH, a European company and member of the ST Partner Program, came up with embeNET, a 6TiSCH-based network stack. Destined for embedded systems, embeNET uses C libraries to optimize operations between devices using Cortex microcontrollers. The technology currently runs on the long-range 32-bit Wireless MCU STM32WL, but support for more ST MCUs is forthcoming. Developers simply use APIs developed by EMBETECH to take advantage of the various capabilities of the network protocol. Hence, teams bypass highly complex implementation issues to focus on creating an original and efficient infrastructure.
Table of Contents
The Challenges Behind Mesh Networks in the Internet of Things (IoT)
Why Are Energy Efficiency and Interferences Problematic?
In the book Internet of Things: Challenges and Opportunities1, Maria Palattella et al. (2014)2 explain how industrial networks are increasingly moving toward IP-based technologies. The trend is popular because it relies on familiar concepts while enabling many devices on the same network. The challenge is that it must fit low-power devices, which means radios can’t always be on. The standard must also deal with interferences and fading due to numerous devices using the same frequency for wireless communication. The answer is the IEEE802.15.4-2011 Medium Access Control (MAC) protocol called Timeslotted Channel Hopping (TSCH, pronounced Tish).
What is TSCH?
As the name implies, TSCH relies on time synchronization. The standard defines a “time slot” as one unit of time. Its duration isn’t set by the standard and can thus vary. At a specific time in the time slot, the network will send a packet with timing components, and each node will record the time it received that frame. With this information, all devices can synchronize their network clock, thus compensating for any potential drift. Thanks to a counter, each device can also know how many time slots the network has gone through. Called the Absolute Slot Number (ASN), it increments after each time slot, uses a five-byte integer, and can thus last hundreds of years.
The other major component of TSCH pertains to channel hopping, a mechanism that enables a device to switch wireless frequencies. To ensure nearby nodes use the same frequency and can thus communicate, the standard uses the ASN to calculate an offset that determines what frequency to use. Since all nodes benefit from tight time synchronization and all know the ASN, channel hopping becomes highly reliable. However, in the event of a failed transmission, the retransmission will take place on a different frequency. Indeed, the strategy has more chance of success than resending the same packet on the same frequency.
Why Does TSCH Matter?
Using time synchronization means TSCH is a deterministic wireless standard. Transmissions happen precisely, which means microcontrollers know when to turn on the radio and for how long, thus saving a lot of energy. Coordinating around time also prevents a node from missing packets. Moreover, channel hopping enables the use of all the channels available to sub-GHz and 2.4 GHz radios. Engineers can thus use many devices without bogging down one channel, which alleviates the risk of interferences. As a result, TSCH opens the door to massive scaling operations.
What Is 6TiSCH?
In essence, 6TiSCH is a TSCH network using an IPv6 subnet. Since the protocol uses 128-bit addresses, companies can apply a single IPv6 identifier for each device without fear of running out, even in large industrial settings. Behind the scenes, 6TiSCH is quite comprehensive. It defines how to route and track packets and implements quality of service to prioritize certain packets as well as security features, among other things. Put simply, the IETF (Internet Engineering Task Force) conceived 6TiSCH to answer a wide range of applications. Whether for smart cities, transportation, buildings, or factories, 6TiSCH aims to solve the challenges inherent to mesh networks.
embeNET, The Solution to the Democratization of Mesh Network in the Internet of Things
Why 6TiSCH Is Still Not a Buzz Word?
While 6TiSCH solves many issues plaguing mesh networks of IoT devices, we can ask why the technology is not already ubiquitous. After all, the first IETF mailing list on the topic dates back to January 2013, and the 2014 book mentioned above already outlines the advantages and importance of the technology. Yet, many engineers are still unaware of its existence or don’t have much experience. The reason is that while academically fascinating, 6TiSCH is commercially hard to implement. And it’s what embeNET attempts to solve by offering an entire network stack with APIs for greater ease of use.
How Is embeNET Solving the Implementation Challenge?
Companies often struggle with implementing a 6TiSCH network stack on a microcontroller. While the IETF defined mechanisms aimed at low-power devices, it doesn’t offer turnkey solutions. Hence, EMBETECH took the technology and improved scheduling functions, ensured stability in an industrial setting, and optimized the network stack for resource-constraint devices. With all services enabled, the library only needs 100 KB of flash. Hence, as an example, let us take the STM32WL, the first MCU with an embedded multi-modulation LoRa transceiver. In this instance, its 256 KB of storage is enough for the firmware, update mechanisms, and the application.
The network stack also uses ST’s hardware feature. For instance, it uses the FSK/(G)FSK modulation capabilities of the STM32WL, which simplifies the overall design. Similarly, the library uses ST’s crypto core and its true number generator to accelerate cryptographic operations. Consequently, embeNET can run on only one of the STM32WL cores. The network stack can run on the same Arm® Cortex®-M4 as the application without negatively impacting performance. Put simply, developers enjoy a high optimization level and can easily reuse their system on various STM32 MCUs. For example, a basic mesh network for a smart meter application sending one packet a day could use an STM32WL with AA batteries that would last about ten years.
Getting Started
Developers can start experimenting with embeNET by grabbing an STM32WL development board like the NUCLEO-WL55JC and downloading the EMBETECH demo software package. An evaluation version of the stack supports up to 10 nodes and three network hops. The company also offers documentation to help developers get started. Additionally, a gateway software runs on PCs after connecting an STM32WL Nucleo-64 board to the machine to create a virtual network. Finally, the company provides a cloud solution to help process the data from the nodes on the mesh network.
- Mukhopadhyay, S.C., Suryadevara, N.K.: Internet of Things: Challenges and Opportunities. In: Mukhopadhyay, S.C. (ed.) Internet of Things. SSMI, vol. 9. Springer, Heidelberg (2014). doi:10.1007/978-3-319-04223-7 ↩
- Palattella, M.R., Thubert, P., Vilajosana, X., Watteyne, T., Wang, Q., Engel, T. (2014). 6TiSCH Wireless Industrial Networks: Determinism Meets IPv6. In: Mukhopadhyay, S. (eds) Internet of Things. Smart Sensors, Measurement and Instrumentation, vol 9. Springer, Cham. https://doi.org/10.1007/978-3-319-04223-75 ↩