HelpDesk2020-06-16T10:49:31+02:00

Helpdesk

Welcome to the Zerynth Helpdesk, the one place to get answers to all your Zerynth-related questions. Use the FAQ to see the most commonly asked questions, or use the contact form to reach our engineers for direct support. The Helpdesk also offers links to all the Zerynth learning resources.

Zerynth learning resources

Documentation

The full Zerynth Documentation, including programming guides and libraries.

Documentation
Demos

Zerynth demos, to help you along the way and show you what you can do with our tools.

Demos
Learn

All the resources you need to learn how to use the Zerynth SDK – tutorials, code examples …

Learn
Forum

Join in on helpful, interesting and engaging conversations about Zerynth and Python programming.

Forum

Need Help?

Use this form to reach our engineers and get direct support for your project. If you want to discuss what the Zerynth Toolset has to offer, use the Contact form.

Frequently asked questions – FAQ

Getting started

Just 60k-80k of FLASH, 3-5k RAM.

Such a footprint is achieved by writing the Virtual Machine from scratch and choosing to remove the compiler and the reply from the microcontroller.

To keep Virtual Machine code at minimum the Zerynth uplinker has been developed; it is a firmware uploader that also links object code on the fly.

This allows us to flash a minimal Virtual Machine on the microcontroller once and subsequently add to it only the necessary drivers embedded in bytecode.

Yes. As a 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 OSour 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 an RTOS thread managed by a priority aware real-time schedule

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.

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 a footprint is achieved by writing the Virtual Machine from scratch and choosing to remove the compiler and the REPL  from the microcontroller; the Zerynth Uplinker allows to flash a minimal Virtual Machine 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 an 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 Virtual Machine 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 Virtual Machine recompilation. For example, the Broadcom SDK for the Particle Photon is embedded in bytecode and uplinked to a running Virtual Machine. Existing C code can be included in MicroPython too, but a Virtual Machine 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 have been made optional (will be compiled into the Virtual Machine 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 Virtual Machine, 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. 
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 Virtual Machine licenses as the number of devices you’ll be releasing on the market, by flashing them through Zerynth Studio or in Mass Programming. 

General

No. Zerynth is 100% agnostic towards hardware platforms and Cloud infrastructures. The stack is compatible with a wide range of 32bit MCU devices and with many proprietary cloud and monitoring systems, so you can use the third-party tools that better fit your needs. This is possible thanks to Zerynth OS, the core element of our stack, that allows real hardware independence and code reuse on a wide range of 32-bit microcontrollers. 

This is a very important advantage for Embedded Hardware Producer because Zerynth speeds up the adoption of new hardware and opens to the huge community of Python programmers. The hardware independence feature is very important also for Product Designers and System Integrators. If you use Zerynth, when you switch from prototyping to production, you don’t need to re-write the code for the new target board (probably cheaper than that one used for the prototype). The porting of boards, sensors, and the Cloud is an ongoing activity. Check out our services! 

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 a footprint is achieved by writing the Virtual Machine from scratch and choosing to remove the compiler and the REPL  from the microcontroller; the Zerynth Uplinker allows us to flash a minimal Virtual Machine 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 an 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 Virtual Machine 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 Virtual Machine recompilation. For example, the Broadcom SDK for the Particle Photon is embedded in bytecode and uplinked to a running Virtual Machine. Existing C code can be included in MicroPython too, but a Virtual Machine 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 have been made optional (will be compiled into the Virtual Machine 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 Virtual Machine, 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. 

We explain it here. Basically, we needed a more recognizable name. Zerynthia the fascinating butterfly that inspired our new name. As caterpillars turn into beautiful butterflies after an intense transformation process, so great ideas can become perfect products if evolved using the right tools. 

Technical

No. 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. 

Yes. The Zerynth Toolchain (ZTC) allows managing all the aspects of the typical Zerynth workflow. It can be used with a command-line interface, like the common Linux, Windows, or Mac terminals, or it can be integrated with a custom IDE. You can find more info in the dedicated section of the documentation. 

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 Virtual Machine 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. 

Yes. As a 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 devicesMore info here. 

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 OSour 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 real-time 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 

NOTE: The Zerynth App has been dismissed, and is no longer supported.

Basically 3 differences: 

  • Zerynth App is an element of a full-stack, that starts from firmware programming, thanks to Zerynth Studio, to cloud connections, thanks to Zerynth ADM, to dashboard and GUI, thanks to Zerynth App. So you have a fully integrated environment for developing embedded and IoT projects.
  • You can program the board in Python (instead of C/C++) and send events to your dashboard and visualize data through the Zerynth App. More info here.
  • You can’t build GUIs through a WYSIWYG editor, but you can start from simple GUIs to complete websites using JQWidgets, for example, or other libraries and frameworks. Note that templates are stored thanks to Zerynth ADM and rendered through the Zerynth App as web page applications. More info here.

No. Zerynth is 100% agnostic towards hardware platforms and cloud infrastructures. The stack is compatible with a wide range of 32bit MCU devices and with many proprietary cloud and monitoring systems, so you can use the third-party tools that better fit your needs. This is possible thanks to Zerynth OS, the core element of our stack, that allows real hardware independence and code reuse on a wide range of 32-bit microcontrollers.

This is a very important advantage for Embedded Hardware Producer because Zerynth speeds up the adoption of new hardware and opens to the huge community of Python programmers. The hardware independence feature is very important also for Product Designers and System Integrators. If you use Zerynth, when you switch from prototyping to production, you don’t need to re-write the code for the new target board (probably cheaper than that one used for the prototype). The porting of boards, sensors, and the Cloud is an ongoing activity. Check out our services!  

Pricing

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 Virtual Machine licenses as the number of devices you’ll be releasing on the market, by flashing them through Zerynth Studio or in Mass Programming.