IoT middleware enables developers to use high-level programming language to program nRF52840 SoC for rapid integration with sensors, actuators, and Cloud services
Nordic Semiconductor today announces that Zerynth, a New York-based Internet of Things (IoT) software developer has extended the availability of its ‘Zerynth IoT middleware’ to Nordic’s nRF52840 Bluetooth® 5/Bluetooth Low Energy (Bluetooth LE) System-on-Chip (SoC). The middleware was previously available for the nRF52832 SoC.
Zerynth comprises a set of software development tools which accelerate IoT product design by simplifying firmware programming of 32-bit microprocessors—such as the nRF52840 SoC’s 64-MHz Arm® Cortex™ device—using Python or “hybrid” C/Python. (C/Python programming is useful for low-level coding for time-critical tasks while retaining Python’s flexibility and readability for non time-critical tasks.) The product also supports secure connection to leading Cloud services and eases hardware integration with sensors, actuators, and industrial protocols. Design and development are further simplified by the availability a growing list of open-source libraries available on GitHub.
The software tools comprise ‘Zerynth Virtual Machine’ and ‘Zerynth Studio’. Zerynth Virtual Machine is a multithreaded, stack-based virtual machine built on top of a real-time operating system (RTOS). The virtual machine is independent of the hardware, allowing code reuse on a wide range of 32-bit microcontrollers. When running on the Nordic nRF52840 SoC, the virtual machine uses just 60 to 80kB of the chip’s 1MB Flash allocation and 3 to 5kB of its 256kB RAM allocation.
Zerynth Studio is a free-to-download, powerful Integrated Development Environment (IDE) and toolchain for developing Python or hybrid C/Python applications. The IDE includes a compiler, debugger, and an advanced code editor, alongside tutorials and example projects for rapid learning.
Zerynth Virtual Machine has been developed with the aim of bringing the high-level programming language, Python, to the embedded world with support for multithread and cross board compatibility. The virtual machine supports most high-level features of Python including modules, classes, multithreading, callback, timers, and exceptions. In addition, the virtual machine enables the use of custom hardware-related features like interrupts, pulse width modulation (PWM), and digital I/O.
A free license to access the Zerynth Virtual Machine is granted once the developer creates a Zerynth account. The virtual machine is then installed on the nRF52840 SoC enabling the developer to start programming using Zerynth Studio. The Nordic SoC’s over-the-air device firmware update (OTA-DFU) feature ensures the embedded virtual machine can be regularly updated. The supported Cloud services—for example, AWS, Google Cloud Platform, and IBM Cloud—enable the developer to view their data using either the Zerynth app or a third-party IoT Dashboard.
Nordic’s nRF52840 multiprotocol SoC supports complex Bluetooth LE and other low-power wireless applications that were previously not possible with a single-chip solution. The SoC combines the Arm M4F processor with a 2.4GHz multiprotocol radio (supporting Bluetooth 5, ANT™, Thread, Zigbee, IEEE 802.15.4, and proprietary 2.4GHz RF protocol software) with Flash memory and RAM. A new radio architecture with on-chip PA provides features -95dBm RX sensitivity (at 1Mbps Bluetooth LE), a maximum output power of 8dBm, and a total link budget of 103dBm. The SoC is supplied with Nordic’s S140 SoftDevice, a Bluetooth 5-certified software protocol stack for building long range and high data Bluetooth LE applications. OpenThread and Zigbee stacks are available through Nordic’s nRF5 SDK for Thread and Zigbee.
Python is an interpreted, object-oriented, high-level programming language with dynamic semantics. The programming language’s high-level built in data structures, combined with dynamic typing and dynamic binding, make it useful for rapid application development, as well as for use as a scripting or glue language to connect existing components together.
“Nordic is one of the world’s leading wireless IoT companies and our recent technical partnership has enabled us to push Zerynth to a wider community,” says Gabriele Montelisciani, CEO of Zerynth. “Although the Zerynth Virtual Machine has a tiny footprint, the nRF52840 SoC’s generous Flash and RAM are prerequisites for demanding end-user applications built through Zerynth Studio, and Nordic’s well-structured software development kit was an ideal starting point that allowed us to build the virtual machine for the SoC quickly and smoothly. Nordic’s high-quality documentation also made our development process easier.”
simplifies IoT development providing an easy and efficient way to program the most popular 32-bit microcontrollers in Python and connect them to the top Cloud infrastructures, with high-level standards of security. With R&D in Pisa, Italy, and a global sales team, Zerynth is helping thousands of developers around the world to develop new IoT products and Industry 4.0 applications with reduced costs and improved time-to-market.