ESP32 and Python for Internet of Things applications
Espressif’s ESP32 microcontroller is by far one of the most popular tools in the Internet of Things projects today. And so is Python. So when you combine these two, you get a wide variety of projects, tutorials, and commercial products.
That is why we have decided to compile a list of these projects, and products for you. They can serve as an inspiration, or they can guide you through your own projects.
We are very happy to see that our collaboration with Espressif Systems benefited so many people.
They have already recommended Zerynth as a professional firmware toolkit for ESP32, a low-cost, low-power IoT system-on-a-chip.
As they said:
“Zerynth has worked hard to provide the large community of ESP32-lovers with a tool for the easy development of embedded IoT applications in Python, having already done the same for our ESP8266 chip.
With Zerynth, users can get right into application design and development without worrying about tedious and annoying setups and configurations.”
EPS32 in Python – Espressif and Zerynth tutorials
As you know, there is a variety of Zerynth supported development boards that are based on the popular ESP32 microcontroller. So, we thought that you would find a list of tutorials on how to program the ESP32 in Python useful.
- C/Python programming on ESP32 using Zerynth – This hackster.io tutorial gives you a step-by-step guide on how to do some basic LED blinking in C/Python with Zerynth Studio. It’s a great way to start your journey. If you want to learn more about C/Python programming with Zerynth, take a look at this article.
- Remote gesture sensing with XinaBox, Zerynth, and Ubidots – This tutorial teaches you how to use the XinaBox CW02 (an ESP32 based development board) and the SL06 xChip to make a remote gesture sensing device, programmed in Python. Follow the tutorial, and you’ll have your gesture sensing device in under half an hour.
- Connect ESP32 to Google IoT Core with Zerynth Studio – a detailed, step-by-step guide that’s really easy to follow. All you need to get started with it is Zerynth Studio and ESP32 DevKitC.
- Firmware Over-the-air updates via AWS on ESP32 based devices – a safe and easy mechanism to seamlessly update the Python firmware of Zerynth powered ESP32-based devices connected to Amazon Web Services (AWS) IoT endpoints.
- How to use Python on microcontrollers for Blockchain and IoT applications – how to combine IoT and Blockchain using simple Python directly on microcontrollers, thanks to Zerynth tools. For this tutorial, we have chosen the ESP32 DevKit C by Espressif.
If you want to start from the beginning, and first learn the basics, we have a great Zerynth Academy post about Getting Started with Python on ESP32. You’ll learn everything – the ESP32 features, how to install Zerynth Studio and virtualize your ESP32-based development board, and how to program it in Python.
Zerynth video tutorials for Python on ESP32
And if you’re a bigger fan of video tutorials, here’s a list of interesting ones form the Zerynth YouTube channel:
- Getting weather data from the Internet using Python on Microcontrollers – using the FireBeetle ESP32 by DFRobot, based on ESP32 by Espressif Systems.
- Read and Write on Serial Port with Zerynth – how to read and write on a serial port of a Sparkfun ESP32 Thing using Zerynth.
- Multithreading on Sparkfun ESP32 Thing using Zerynth – how to execute multiple threads on a microcontroller (i.e. ESP32 Thing by Sparkfun) using Zerynth.
- How to read an analog sensor – using Python on a microcontroller (ESP32 DevKit C).
- Python on ESP32 DevKitC using Zerynth Studio (AWS Connection) – Exchanging data between an ESP32 DevKitC and Amazon Web Services using Python. This demo shows how to connect your device to AWS IoT platform and start publishing at a default period, waiting for period updates requested as changes to things’ shadow.
Of course, this is just a selection of videos. You can take a look at the full list on our official channel.
ESP32-based IoT tools
But what about IoT prototyping tools that are based on the ESP32 microcontroller?
Here, we’ll introduce two Zerynth-powered solutions.
First, the XinaBox’s modular xChips. XinaBox has launched two IoT kits so far :
Both of them have a Zerynth license onboard so that you can start programming right out of the box. When you mix these modular development boards with Python, you get a rapid prototyping set. A developer can program and connect a device to the Cloud in just a few lines of Python.
The CW02 xChip that you can find into both kits, a Wi-Fi & Bluetooth Core is based on ESP-WROOM-32. Furthermore, that is the same one that has the Zerynth license onboard.
Next up we have Riverdi’s IoT displays. They are also Python programmable and ESP32 based. Since they are based on Espressif’s popular microcontroller they have integrated WiFi and Bluetooth. In just a couple of lines of code in Python, you can connect them to the Cloud and send and receive data. Just like our previous example, Riverdi IoT displays all have a Zerynth license onboard.
Let’s not forget about the 4ZeroPlatform – the Zerynth powered ESP32-based industry 4.0 solution. 4ZeroPlatform is a complete, adaptable and Machine/Cloud independent IoT Stack composed of a smart acquisition unit (4ZeroBox) and Cloud analytics and dashboard (4ZeroManager).
Many companies around the world have already integrated it into their machinery. The great thing about the 4ZeroPlatform is that it’s easily integrated with both old and new machines. For example, a paper production plant in Tuscany implemented the 4ZeroPlatform into their production line. This resulted in more efficient and monitored production of paper, as well as lower production costs. You can read about all the other 4ZeroPlatform use cases here.
It’s clear that the combination of Python and the ESP32 microcontroller is a success in every type of product – from small embedded and IoT projects to fully functional, high-efficiency industry 4.0 solutions.