Overview and quick demonstration of the Zerynth ecosystem.
The demo lets you manage an RGB LED via Wi-Fi with your smartphone thanks to the Zerynth App.
Useful links
Zerynth website: https://www.zerynth.com/
LinkedIn: https://www.linkedin.com/in/federico-guidi/
Hackster: https://www.hackster.io/federico-guidi/remote- led-control-via-wi-fi-using-zerynth-app-4b9937
2. What is Zerynth
It’s the middleware for IoT and Industry 4.0: it speeds up IoT
development and enables Python for microcontrollers.
• Zerynth provides developers with an ecosystem of software tools to
program microcontrollers in Python and connect them to the Cloud.
• Zerynth reaches beyond embedded engineers to also offer desktop
applications developers, product designers, web developer, and IoT system
integrators a complete set of high-quality development tools to program
microcontrollers and develop IoT solutions using Python.
3. What is Zerynth
The Zerynth ecosystem: you have access to Zerynth Studio, Zerynth VM (Virtual
Machine), Zerynth ADM (Advanced Device Manager) and Zerynth App.
4. How does it work?
• Download Zerynth Studio and create a Zerynth Account to receive
free licenses of the Zerynth Virtual Machine.
• Then install the Zerynth VM on one of the supported
microcontrollers and start to program it in Python or
hybrid C/Python.
• Zerynth allows rapid integration with sensors, actuators,
and industrial protocols, thanks to an extensive collection of
libraries.
• You can also easily connect your board to one of the supported
Cloud Services and view your data via a 3rd party IoT
Dashboard or via Zerynth App.
6. Zerynth Studio
A free, cross-platform, powerful IDE and a Toolchain for developing
Python or hybrid C/Python applications and managing boards.
Available for Windows, macOS and Linux.
Main Features
• Advanced Code Editor
• Device Management
• Documentation
• Smooth User Experience
7. • Developed from scratch with the goal
of bringing Python to the embedded
world with support for multi-thread and
cross board compatibility.
• Supports most high-level features of
Python like modules, classes, multi-
threading, callback, timers and
exceptions.
• Allows to use custom hardware-related
features like interrupts, PWM and digital
I/O.
The core of Zerynth is the Zerynth Virtual Machine, a multithreaded Real-Time
OS that provides real hardware independence, allowing code reuse on a wide
range of 32-bit microcontrollers, in just 60-80kB of Flash and 3-5kB of RAM.
Zerynth VM
8. Zerynth ADM
Zerynth ADM (Advanced Device
Manager) is a microservice that can be
installed on various Cloud infrastructures.
It adds high level functionalities to
connected devices:
• Simpler Over The Air Firmware
updates (FOTA)
• Remote procedure calls (RPC)
• Per device custom graphical interfaces,
via the Zerynth App
9. Zerynth App
Zerynth App is a free mobile app to monitor and control Zerynth-
powered devices through fully customizable HTML/JS Graphical
User Interfaces.
• Enable a bidirectional communication
channel between the Zerynth devices
and your smartphone.
• Easily manage and control the Zerynth
connected devices.
• Available on iOS and Android.
10. Supported devices
Zerynth currently supports 33 different devices, including for example the
STM32F401RE Nucleo-64, the NodeMCU v2 and the Arduino Zero.
Supported chip vendors
• Espressif
• NXP
• Nordic
• Microchip/Atmel
• ST Microelectronics
11. Cloud integrations
Available Cloud Integrations
• Amazon Web Services (AWS)
• Google Cloud IoT
• Microsoft Azure
• IBM Bluemix
• The Things Network
• Ubidots
• Wolkabout
Zerynth simplifies connectivity between microcontrollers
and Cloud services.
12. Zerynth libraries
• Zerynth allows rapid integration with
sensors, actuators, and industrial protocols,
reducing product development time and efforts.
• All the required libraries, packages, and drivers
are included with the first installation of Zerynth
Studio and then compiled and uplinked to the Zerynth Virtual
Machine inside your microcontroller when needed.
• Zerynth provides an extensive collection of libraries, organized into
three categories: Zerynth Standard Library, Official Libraries and
Community Libraries.
13. The community
Zerynth also offers a public forum where you can ask questions, find
help or read the latest updates about the newest releases.
14. Hands-on demo
Here’s a quick demonstration of the Zerynth ecosystem using the
NodeMCU v2, a nice microcontroller provided with Wi-Fi
functionalities.
The idea is to use Zerynth Studio together with Zerynth App to
program the NodeMCU v2 with Python and control an RGB LED via
Wi-Fi using a smartphone.
The code of the demo can be found on GitHub:
https://github.com/FedericoGuidi/RemoteLEDControl
15. Node MCU v2
• Perfect to start with the
development of IoT ideas.
• It’s open-source, programmable, low
cost, simple and Wi-Fi enabled.
• The development board is based on
the ESP8266 Wi-Fi chip.
• It can be programmed by connecting
it to the computer via micro USB.
An open source IoT platform.
17. The User Interface
• Written in HTML/CSS and JavaScript.
• It lets the user control the RGB LED via Wi-Fi.
• The script uses remote procedure calls (RPC)
in JavaScript together with the Zerynth
library.
• You can choose which color to turn on/off.
• The rainbow mode cycles the six possible
combinations of colors.
19. Conclusions
Pro
• The interconnection between Zerynth Studio and Zerynth App works
really well
• Programming with Python is very immediate
• Connecting, registering and virtualizing a device is fast
Cons
• Some boards are not fully compatible, even the NodeMCU v2
• It’s easy to find a bug while programming
• Sometimes the documentation is not very explanatory