The Zerynth IoT Platform is a full set of hardware-software tools designed by IoT experts to enable an easy transition from the prototyping phase to mass production in a flexible, scalable, and efficient way.
Zerynth hardware is powerful, power-efficient, and secure, with development boards and expansion boards that add unique functionalities to your application, and a powerful IoT module that can be integrated easily into your end-product.
Zerynth OS is an operating system designed to simplify the development process. It features a Python/C Development environment and seamless integration with other hardware vendors.
The Zerynth Cloud makes it possible to manage IoT devices, store data, visualize data, and gain insights from a single interface.
The following article was released in September 2016. ESP8266 support is discontinued since we have released Zerynth v3. The support for versions prior to V3 is solely for bug fixes. To provide better software-hardware integration, support more industrial features, and provide the best prototyping platform for IoT products, Zerynth released Zerynth SDK v3 that supports revamped SDK, hardware boards, and SoM and complete cloud service.
About NodeMCU and ESP8266
The ESP8266 is a low-cost WiFi chip with a full TCP/IP stack and microcontroller capability produced by Shanghai-based Chinese manufacturer, Espressif Systems.
- 32-bit RISC CPU: Tensilica Xtensa LX106 running at 80 MHz*
- 64 KiB of instruction RAM, 96 KiB of data RAM
- External QSPI flash – 512 KiB to 4 MiB* (up to 16 MiB is supported)
- IEEE 802.11 b/g/n Wi-Fi
- 16 GPIO pins
- SPI, I²C,
- I²S interfaces with DMA (sharing pins with GPIO)
- UART on dedicated pins, plus a transmit-only UART can be enabled on GPIO2
- 1 10-bit ADC
NodeMCU is an open-source IoT platform including firmware that runs on the ESP8266 with the Espressif Non-OS SDK, and hardware based on the ESP-12 module. The board features 4MB of SPI flash, 80MHz of the system clock, around 50k of usable RAM, and an on-chip Wifi Transceiver. Official references for NodeMCU can be found here.
Connect, Virtualize, and Program NodeMCU in Python
First of all, of course, you have to download and install Zerynth Studio.
Then connect the board to your PC. Drivers for the bridge can be downloaded here and are needed for Windows and Mac.
To start using NodeMCU with Zerynth Studio, you have to update the Zerynth Standard Boards package, where you can find all the modules needed.
Then you can flash the Zerynth Virtual Machine into the board. There’s no need to run creepy scripts or to copy/paste code from here and there on the web. Thanks to Zerynth, you can make your board programmable in Python, just with a few clicks. Follow this nice tutorial to get started.
In the Zerynth Official Documentation, you can find the details of the Zerynth Virtual Machine dedicated to this board. In the figure below is reported the board pinout.
“Hello World” with NodeMCU in Python
Now you can start to program your NodeMCU in Python!
Let’s start with the “Hello Zerynth” project:
- Open the Examples browser clicking on the “light bulb” icon on the left toolbar of the ZERYNTH IDE;
- Select the example you prefer or use the search bar. In this case, “Hello Zerynth”;
- Click on the chosen example;
- Clone it by clicking on the dedicated button;
- At this stage, Zerynth Studio converts the example into a new project giving you the possibility to edit the Title, the Description, and the Tags. Remember that Zerynth Studio doesn’t allow two projects to have the same name. If you are trying to clone an example that you already cloned in the past leaving the default Title, then you need to give a different title to this new project.
- Click on “Clone” once again and you are done!
Now you have to uplink the project to the board by clicking the dedicated button on the upper left toolbar.
The example is very simple: it just opens the default serial port and prints the string “Hello ZERYNTH!” every 1000 ms on the serial console.
ESP8266 Wifi Support
The Wifi chip of the NodeMCU can be used by installing lib.espressif.esp8266wifi and using it like this:
Program your NodeMCU in Python!
Now it’s your turn! You have the tools to program this amazing board with the simplicity of Python.
Follow the Zerynth Programming Guide hints and tips and show us what you can do!