From ESP8266 to ESP32
ESP8266, a low-cost microcontroller for IoT and embedded applications, has been a breakout success in the past years.
In September 2016, after a few months of beta testing, Espressif launched the successor of ESP8266, named ESP32: a low-cost, low-power system on a chip (SoC) series with Wi-Fi & dual-mode Bluetooth capabilities.
- 240 MHz dual-core Tensilica LX6 microcontroller with 600 DMIPS
- Integrated 520 KB SRAM
- Integrated 802.11 b/g/n HT40 Wi-Fi transceiver, baseband, stack and LwIP
- Integrated dual mode Bluetooth (classic and BLE)
- 32 I/O pins with several builtin peripherals
- hardware acceleration for security algorithms (AES, SHA2, RSA-4096)
Immediately after the release of the chip, many vendors kicked off the production of different development boards that include the ESP32 chip (or the relative ready-to-use ESP-WROOM-32 module) and everything else is needed to start building an IoT project.
Python on ESP32 in just a few clicks using Zerynth
As already done for the ESP8266 chip, we’ve worked hard to provide the large community of ESP32-lovers a tool to easily develop embedded and IoT applications in Python.
Searching for “Espressif” in the Zerynth Supported Devices page, you now get this boards list (and more are coming in the next months):
In particular, Zerynth supports some of the most widely adopted ESP32 development boards:
- ESP32 DevKitC: created by Espressif to evaluate its official ESP-WROOM-32 module. More info here.
- Sparkfun ESP32 Thing. More info here.
- Olimex ESP32 Gateway. More info here.
- Olimex ESP32 EVB. More info here.
Our goal is to let you get right into application design and development without worrying about tedious and annoying setups and configurations.
Unlike other Python implementations for microcontrollers, with Zerynth you can make your board programmable in Python with just a few clicks!
What you DON’T need:
- you don’t need to clone any repository from Github or copy/paste scripts from here and there in the web;
- you don’t need to drag-and-drop any file in any folder or via FTP;
- you don’t need to install Python on your PC (Zerynth installs its own distribution of Python under the hood);
- you don’t need “esptool” to flash your ESP32 and you don’t need any binary file;
- you don’t need to install Putty or similar software on your PC (Zerynth Studio comes up with its own serial monitor).
What you need:
- the only thing you need is to install Zerynth Studio on your PC.
Download it for Free!
Getting Started with ESP32 and Python using Zerynth
Only 3 preliminary steps:
- Install Zerynth Studio;
- Create a Zerynth User Account;
- Connect, Register and Virtualize your ESP32 board (drivers may be needed depending on your system)
That’s it, now you can program your device in Python!
Zerynth Studio includes a huge list of useful examples at this link that you can clone (aka copy) with just a few clicks.
Let’s start with the “MultiBlink” example
Blinking one LED is known as the “Hello World of embedded devices”… but with Zerynth we can make it funnier. We can blink many LEDs at different frequencies using many separated threads in just a few lines of code.
You can find the “Multiblink” example in the “Examples Browser” panel or you can use the “Quick Search” feature, searching for “MultiBlink”.
Let’s take a look at the code in the “main.py” file. The Python script is very easy:
Once you have cloned the example, uplink the code to your board and see the magic happening!
Let’s get hardcore: “HTTP Time” example
Just search and clone the example “HTTP Time” as done for “Multiblink”.
This example connects via HTTP to http://www.worldtimeserver.com to get the current UTC time.
The only thing you have to edit are the lines where you import the wifi driver. In particular, you need this one:
(Of course, you also have to edit the SSID name and the PASSWORD of the wifi network you want to connect the board.)
And here is the output:
Note that if you use an ESP8266-based board, you have to import the ESP8266 wifi driver instead of the ESP32 one, but the rest of the code remains the same. Cool, huh? Say thanks to our Zerynth Virtual Machine and its hardware abstraction layer features.
What you can do programming your ESP32 in Python using Zerynth
Using ESP32 and Python is an excellent choice for beginners who are new to programming and a great launchpad for startups who are aiming to test the market for an idea in IoT space.
Unlike other IoT development platforms, Zerynth provides a complete “ecosystem” of tools that allow you to go from the firmware development for your ESP32 to the cloud connection, thanks to an extensive collection of libraries.
Need inspiration? The Zerynth Academy website section provides a list of tutorials that guide you to develop embedded and IoT solutions using MCUs and Python, covering topics like wearable, domotic, LoRa, IoT Security and many others.
You can also find a lot of inspiring projects developed by our community on Hackster.
Python on ESP32: easy for beginners, powerful for professionals!
Not only prototypes! Our main mission is to let developers and companies move from prototyping to production without pain!
Zerynth is already used by companies and professional teams to build amazing IoT and embedded solutions in different sectors: retail, commercial refrigeration, waste management, smart devices and much more.