Python for ESP8266 in just a few clicks using Zerynth

We are happy to announce the Zerynth support for two additional boards based on ESP8266, a successful and widely adopted microcontroller for IoT and embedded applications.

ESP8266 boards programmable in Python with Zerynth

Searching for “ESP8266” in the Zerynth Supported Devices page, you now get this boards list (and more are coming in the next months):

Adafruit Feather Huzzah

The Adafruit Feather Huzzah ESP8266 is an ‘all-in-one’ ESP8266 WiFi development board with built-in USB and battery charging. To make it easy to use for portable projects, the Adafruit Feather Huzzah provides a connector for a 3.7/4.2 V Lithium polymer battery and built-in battery charging circuit through USB port. More info here.

Wemos D1 Mini Wemos D1 Mini is a mini Wi-Fi device based on the ESP8266EX chip. This device is a very compact solution for prototyping small smart objects linked to the World Wide Web thanks to the Espressif ESP8266 Wi-Fi functionalities. More info here.

Wireless Tag WT8266-DK V2 Wireless Tag WT8266-DK V2 provides specialized UART_WiFi functional test board to facilitate the customers to test the Wi-Fi module. Thanks to WT8266-DK V2, the user can simulate serial devices to access WiFi network and realize data transmission, but also can simulate WT8266-DK V2 works as the main control chip to access data of other devices and control. More info here.

NodeMCU v2 NodeMCU is an open source IoT platform based on the ESP-12 module. The device features 4MB of flash memory, 80MHz of system clock, around 50k of usable RAM and an on chip Wifi Transceiver. More info here.

Why programming ESP8266 boards in Python with Zerynth

Easy for beginners…

First of all, simplicity! Unlike other Python implementations for microcontrollers, with Zerynth there’s no need to copy/paste creepy scripts from here and there in the web. No need to drag-and-drop any file in any folder or via FTP. No need to install Python on your PC and no need to install Putty or special drivers. Thanks to Zerynth, you can make your board programmable in Python with just a few clicks!

As you can see in this tutorial on how to program a NodeMCU board using Zerynth, you have just to:

That’s it. Following these very simple steps, you can program your ESP8266 in Python instead of having to use complex low-level languages like C or C++. This is an excellent choice for beginners who are new to programming and hardware.

… and powerful for experts

For advanced users, Zerynth allows mixing Python and C code in the same project.

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 non-time critical sections.

Find out more about the Zerynth-C language interface in the official doc.

Write once, run everywhere

real hardware abstraction layer allowing code reuse on a wide range of 32-bit MCUs (included ESP8266 and more generally the XTensa lx106 architecture). Zerynth Virtual Machine , the core element of the Zerynth stack provides aallowingon a wide range of 32-bit MCUs (included ESP8266 and more generally the XTensa lx106 architecture).

The hardware independence is critical for many: for Product Designers , it reduces the time to market because they haven’t to re-write the code when they switch from prototyping to production;

, it reduces the time to market because they haven’t to re-write the code when they switch from prototyping to production; for System Integrators, it makes it easier to focus on the integration part and select the board that better fits with the project, without the need to worry about low level functionalities and programmability;

it makes it easier to focus on the integration part and select the board that better fits with the project, without the need to worry about low level functionalities and programmability; for Embedded Producers, it speeds up the adoption of new embedded hardware and opens to the huge community of Python programmers. What you can do with Zerynth and ESP8266 Unlike other IoT development platforms, Zerynth provides a complete “ecosystem” of tools that allow you to go from the firmware development to the cloud connection. Take a look here how to get started. In addition, Zerynth provides an extensive collection of libraries, organized into 3 categories:

Zerynth Standard Library. The Zerynth standard library is composed of many modules ranging from embedded-related features like interrupts, PWM, digital I/O, and ICU to Python high-level features like modules, classes, multithreading, callbacks, timers, and exceptions. You don’t need to install any packages, just import the modules in your script and you’re done.

Official Libraries. Libraries published by the Zerynth team and dedicated to specific sensors, actuators, communication protocols and so on.

Community Libraries. Libraries published by Zerynth community users and approved by the Zerynth team. You need to install the related packages through the Zerynth Package Manger and import the modules in your script. A lot of community libraries are built just porting the code from Raspberry Pi libraries with small effort.