First Rust programming language application for IoT device

  

According to 42 Technology, this software achievement could help accelerate the development of more robust and secure low cost, low powered cellular IoT products and systems, and play a crucial role in unlocking significant new markets for smart industrial and consumer products such as real-time asset tracking and monitoring, utility metering and smart city technology.

Rust is a high performance alternative to systems programming languages such C and C++, which avoids the memory safety issues that tends to affect those languages, and without the complexity and overhead of Java.

42 Technology’s application demo is based around the recently launched Nordic Semiconductor nRF9160 System in Package (SiP) device, which features a full multimode LTE-M/NB-IoT modem to connect to the mobile network, assisted GPS and an ARM Cortex-M33 processor. The ARMv8-M architecture’s TrustZone security features allow applications and associated services to operate securely, protected from hacking, misuse and corruption.

In recent field trials, 42 Technology’s Rust application made secure encrypted connections to Amazon cloud services via an early LTE Cat-M network that is being rolled out across the UK by O2, the mobile network operator. The board also supports NB-IoT which is being launched by Vodafone and other operators.

“42 Technology has specifically developed its Rust-based application to demonstrate an easier and faster way for companies to develop new products for the cellular IoT revolution but without inadvertently compromising on security. Our aim is to help eliminate the security vulnerabilities that too many people have seen, for example, with low cost home security cameras, smart hubs and with medical equipment such as insulin pumps,” said Jonathan Pallant, the senior consultant who led the application development programme at 42 Technology and is also a founding member of the Rust Embedded Working Group.

Rust is described as the 'perfect programming language' to run on very small and low-cost hardware, and was specifically designed from the outset with a focus on memory-safety. It looks to give developers modern, powerful tools to allow them to be highly productive – without incurring significant run-time overhead – and because of the strict type-checking and borrow-checking, the Rust compiler is able to highlight potential issues early in the development process.