What is Zerynth?

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 developersproduct designersweb developer, and IoT system integrators a complete set of high-quality development tools to program microcontrollers and develop IoT solutions using Python.

Get Started Now, for Free

DOWNLOAD ZERYNTH STUDIO

Python and C for the efficient developer

Zerynth allows a mixed C/Python programming environment. This kind of “hybrid” programming is extremely powerful in scenarios where the project needs low-level code for time-critical tasks while keeping Python flexibility and readability for not time-critical sections. Take a look at the example “C Interface” below.

Copy to Clipboard
Copy to Clipboard
Copy to Clipboard
Copy to Clipboard
Copy to Clipboard
Copy to Clipboard

Frequently Asked Questions

Yes. As Zerynth user you can create custom libraries for sensors and other components not yet supported. You are also free to create custom Zerynth Virtual Machines for your own hardware solutions if they are based on already supported chips. More info here.

In case your hardware mounts a not-supported chip, please contact us.

First of all, Zerynth provides only the software tools for programming the hardware. In particular, Zerynth is 100% “agnostic” towards hardware platforms. In fact, thanks to the Zerynth Virtual Machine, our tools are compatible with a wide range of 32bit MCU devices.

As a general sense, concerning the programming side of the most common prototyping platforms, the main advantage of Zerynth is that we provide an integrated stack that goes from the firmware development to the cloud connection.

Going to more detailed aspects, Zerynth offers the benefits of programming microprocessor-based boards like Raspberry Pi:

  • Python language (or hybrid C/Python if necessary, and also Smart Idle times for Power Saving)
  • Multi-threading support: in Zerynth each Python thread is a RTOS thread managed by a priority aware realtime scheduler

along with the great advantages of microcontroller-based boards:

  • lower power consumption with respect to microprocessor-based boards
  • lower hardware costs in the prototyping phase
  • extremely lower hardware costs in the industrialization phase

All this, with a relatively tiny footprint of 60k-80k of flash, 3-5k ram

Just 60k-80k of flash, 3-5k RAM. Such footprint is achieved by writing the VM from scratch and choosing to remove the compiler and the repl from the microcontroller; to keep VM code at minimum the Zerynth uplinker has been developed; it is a firmware uploader that also links object code on the fly. This allows to flash a minimal VM on the microcontroller once and subsequently add to it only the necessary drivers embedded in bytecode.

Yes. Zerynth is used by companies and teams to build amazing IoT and embedded solutions in different sectors. Once your solution ready, you’ll just need as many Zerynth VM licenses as the number of devices you’ll be releasing on the market, by flashing them through Zerynth Studio or in Mass Programming.

No. Zerynth has been developed from scratch, thanks to the support of a Kickstarter Campaign. Following you can see a more detailed comparison between Zerynth and Micropython.

  • Zerynth has a smaller footprint
    60k-80k of flash, 3-5k ram versus 80k-280k of flash and 8k of ram for MicroPython (see here). Such footprint is achieved by writing the VM from scratch and choosing to remove the compiler and the REPL  from the microcontroller; the Zerynth Uplinker allows to flash a minimal VM on the microcontroller once and subsequently add to it only the necessary drivers embedded in bytecode. Zerynth is Python even more tuned to micros than MicroPython is. Let’s say that Zerynth is a Micro MicroPython.
  • Zerynth features (multiple) RTOS for multithreading
    In Zerynth each Python thread is a RTOS thread managed by a priority aware real-time scheduler; in MicroPython, in our best knowledge, there is a custom round robin scheduler. In Zerynth the RTOS threads written in C can live along the VM allowing for a mixed C/Python real-time environment.
  • Zerynth supports C-Python programming
    Existing C code (or C object code) can be easily mixed with Python scripts without VM recompilation. For example, the Broadcom SDK for the Particle Photon is embedded in bytecode and uplinked to a running VM. Existing C code can be included in MicroPython too, but a VM recompilation is needed.
  • Zerynth supports a subset of Python 3.4 and adds new embedded-friendly features
    To make Zerynth suitable for microcontrollers constrained resources, support for generators, context managers, and full-fledged closures has been made optional (will be compiled into the VM if needed). Moreover, Zerynth has a new type, the shortarray, to handle 16-bit integer arrays. Also, Zerynth exceptions are lean and memory efficient, but still retaining the powerful debugging capabilities of tracebacks.
  • Zerynth has a cross-platform IDE built on a command line toolchain
    Zerynth Studio takes away the burden of compiling the VM, of setting up various toolchains and tools (arm gcc, xtensa gcc, etc…) and gives an easy to use interface to code and debug embedded Python. For MicroPython no official IDE does exist. Zerynth is based on a command line toolchain to ease and automate the integration of the Zerynth workflow for programmers who prefer other development environments.
knowledge-base

How Zerynth Works

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 sensorsactuators, 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

Zerynth Studio

Zerynth Studio is your gateway to the Zerynth Ecosystem.

Zerynth Studio is a free, cross-platform, powerful IDE and a Toolchain for developing Python or hybrid C/Python applications and managing boards.

It includes a compiler, debugger, and an advanced code editor, alongside tutorials and example projects for an easy learning experience.

FREE DOWNLOAD

Zerynth Virtual Machine

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 has been developed from scratch with the goal of bringing Python to the embedded world with support for multi-thread and cross board compatibility. It supports most high-level features of Python like modules, classes, multi-threading, callback, timers and exceptions. In addition to these, it allows to use custom hardware-related features like interrupts, PWM and digital I/O.

Zerynth App

Zerynth App is a free mobile app to monitor and control Zerynth-powered devices through fully customizable HTML/JS Graphical User Interfaces.

FREE DOWNLOAD

Zerynth Integrations

Microcontrollers / Boards

Zerynth is multi-board compatible. It supports the most popular 32-bit microcontrollers and development boards from top vendors.

Cloud / IoT Dashboards

Zerynth is compatible with many Cloudproviders, such as Microsoft Azure, Amazon Web Services, IBM Bluemix, Google Cloud IoT and many others.

Sensors / Actuators

Zerynth allows rapid integration with sensors, actuators, and industrial protocols, reducing product development time and efforts.

Licensing

Zerynth Virtual Machines are licensed for the specific microcontroller’s unique chip ID.

Once you created a Zerynth Account in Zerynth Studio, you receive a free “Welcome” pack of 10 Zerynth VM Licenses with FreeRTOS (5 “Starter” and 5 “Premium”) to use on any of the supported boards.

 You can use every single Zerynh VM license via Zerynth studio when you need to program a new prototyping board or to flash a small series of devices.

 Zerynth VM licenses are for perpetual use one-time cost and they entitle the license owner to future ongoing VM maintenance.

 Zerynth VM licenses also support mass programming: we provide scripts to control the device programmer and, for big volumes, a collection of pre-compiled VMs ready to be flashed.

 Some Boards already include a specific Zerynth VM license (Aka: Zerynth-powered devices) so that you don’t have to care about Zerynth VM Licenses.

 You can always check your available/consumed assets in the Zerynth Profile Section. Additional Zerynth VM licenses (From 1 to 1000 units) can be easily purchased in the Zerynth Store. For ordering higher volumes you can contact us here

PRICING
FEATURES STARTER PREMIUM
Hybrid C/Python programmability
Tiny Footprint (60k-80kB Flash, 3-5kB RAM)
Tailored for Real-Time applications
Selectable RTOS ChibiOS, FreeRTOS ChibiOS, FreeRTOS
Multi-Threading support
Hardware-driven Secured Firmware -
Firmware Over-The-Air updates -
Power Saving -