Back to articles
Introducing the Zerynth Platform
The Zerynth platform is an ecosystem of software tools that simplifies firmware programming and secure cloud connections, making it well-suited to rapid IoT development.
Zerynth is a complete collection of tools to develop and deploy cloud-connected devices using Python and/C programming languages. Zerynth comprises 4 main components: Studio, VM, ADM and App.
Click on picture for larger version
Simplifying development with a suite of tools
Zerynth Studio is a cross-platform IDE and toolchain allowing software development in Python or C/Python hybrid. It also allows easy management of as many boards needed, from development through to deployment as a commercial product.
Zerynth VM (Virtual Machine) provides a multithreaded real-time OS allowing code reuse on any 32-bit ARM-based processor. The tiny, highly-optimized VM takes up just 60-80kB of flash memory and uses 3-5kB of RAM.
Zerynth ADM is an advanced device manager that simplifies device provisioning and enables Over-The-Air (OTA) Firmware updates and remote procedure calls. It can install on all of the best-known cloud services such as Amazon AWS, Google Cloud Platform and Microsoft Azure, as well as some of the smaller platforms. This makes it simple to bring the advanced functionality of a cloud connection to an IoT device.
Last but not least, Zerynth App is a smartphone app for iOS and Android that acts as a frontend to control and monitor devices, using a fully customizable HTML/JS-based GUI.
Find out more: Zerynth.com
The power of Python
Most IoT development still takes place in C or C++. This gives great flexibility and leads to powerful, fast code. But changing hardware usually means having to re-write code or even switching operating system.
Zerynth development is in Python. This brings the flexibility of a high-level programming language, used by millions of developers, to the Internet of Things. Anyone who knows Python can turn a microprocessor into a fully-functional, fully-connected IoT device in an hour or two. Python has great strengths in areas such as data processing, making it ideal for many IoT applications, but there can be a time cost compared to lower-level languages like C.
One of Zerynth’s main strengths is that it also allows C/Python hybrid programming. Time-critical tasks can be coded in C while maintaining the simplicity, flexibility and readability of Python for everything else.
Despite its tiny size, Zerynth VM is a full Python implementation made small by writing the VM code from scratch and removing the compiler and REPL functions that aren’t needed for IoT implementations.
Click on picture for larger version
Code that works everywhere
General, multi-function hardware devices are used to get code working when prototyping before choosing specific components that include only the necessary hardware. This usually means re-writing code from the prototype stage to the production stage. Zerynth takes a cross-platform, hardware-independent approach to development. Instead of having to re-write code, the same code can be used throughout.
Read more: Rapid prototyping: Develop the next great IoT app
This also makes it easier to select the hardware to use in a project without worrying about the ease of programming or porting earlier code. Developers can also change the hardware more easily if it becomes apparent that it doesn’t perform as expected. Another benefit is that it allows for quicker adoption of the latest components without having to start again from scratch.
In addition, the huge community of Python developers means that, over time, functions to do everything possible with embedded systems will be available to download and integrate into projects. Eventually it may even be possible for someone with only a tiny amount of coding knowledge to build complex embedded devices by using code written by other developers.
This clearly isn’t a sensible strategy for building commercial IoT products but opening up IoT to a wider range of hobbyists and professionals could bring benefits for everyone.
A quick start
Getting up and running with Zerynth is as simple as downloading and install the free Zerynth Studio and signing up for an account. You can then replace the existing firmware on one of the supported processors with the VM, including your choice of OS, and you’re ready to go. The account includes 10 free licenses to install the VM on devices, which should be enough for product development.
The Zerynth Studio includes a number of tutorials and sample projects to help get up to speed with how everything works. It also has libraries from the Zerynth team and official partners to support a large range of commonly available sensors and actuators. Adding these to the device is simple and drivers are only added to the VM when needed, to keep the size down. In addition, there are a number of community libraries, developed separately and approved by Zerynth, to support other sensors and actuators.
If you are looking for a way to streamline your development process for embedded devices, then Zerynth could be the answer. Its powerful yet simple cross-platform IDE combined with a truly hardware-independent firmware means it can remove some of the barriers to IoT development for everyone.
Nordic SoC support in Zerynth
The nRF52840 and nRF52832 SoCs are supported by Zerynth meaning you can get started with this exciting tool for building IoT applications today.
Click on picture for larger version