MicroPython is a lean and efficient implementation of the Python 3 targeted for microcontrollers. The MicroPython firmware can be installed on boards like the ESP32, ESP8266 and M5Stack. It makes it easy and simple to program digital electronics. If you want to program hardware using Python, this is your section!
#MicroPython: a three-color E-INK display controlled using an ESP32
MicroPython | 4 min | 15927
This is a tutorial to control and display widgets on an E-INK display using an ESP32. Three widgets are available:
- Weather: weather forecast obtained using the OpenWeatherMap API.
- News: news highlights obtained using the NewsApi API.
- Notes: notes that can be added using a web-server that runs on the ESP32.
The result can be seen in this video:
Thus, in this tutorial, I will try to achieve the following:
- A guide to compile MicroPython to freeze modules;
- A setup guide for ...
#MicroPython: Portable time-lapse camera using an ESP32-CAM
MicroPython | 2 min | 24428
This tutorial extends the article MicroPython: Taking photos with an ESP32 and in this case, the ESP32-CAM running MicroPython takes a photo every 5 seconds and saves it on the microSD card. The photos can be then combined into a time-lapse video! :)
The MicroPython official version doesn't support I2S interface. However, tsaarni wrote a driver for the OV2640 and forked the MicroPython repository to include it. Thus, you need to follow the instructions in this article: MicroPyt...
#Tutorial: ESP32 running MicroPython sends data over LoRaWAN
LoRa/LoRaWAN, MicroPython | 8 min | 22190
LoRa is a wireless data communication technology that enables you to transmit data over a very-long-range (more than 10 km in rural areas) with low power consumption. It uses license-free sub-gigahertz radio frequency bands as the 169 MHz, 433 MHz, 868 MHz for Europe, and 915 MHz for North America.
In October 2018, I published an article about LoRa and ESP32, and I uploaded a project to GitHub. The project includes a SX127x driver for ESP32 running MicroPython. However...
#Tutorial: MicroPython and Bluetooth (BLE) on M5Stack
M5Stack, MicroPython | 6 min | 30589
The M5Stack is a modular open-source toolkit for developing IoT applications. It is based on an ESP32, which is the core module and there are a lot of stackable modules that you can use for different projects. This enables to do rapid and high-quality prototyping!
You can program the core device using the ESP-IDF framework, the Arduino-IDE, Blockly or MicroPython. Unfortunately, the BLE is still not available using the official M5Stack MicroPython firmware (forked from LoBo). Howeve...
This tutorial helps you update a BRIO locomotive using an ESP32 that runs MicroPython. As a result, you can control the speed of the BRIO using a cell phone or a laptop (basically, everything that has a browser).
If you don't know what a BRIO locomotive is, check out the following picture:
Fig. 1: BRIO World 33594
In this tutorial, I will try to accomplish the following points:
- Hardware modifications on a ESP32 board;
- MicroPython installation;
- Controlling the locomot...
#MAixPy: Object detector - MobileNet and YOLOv2 on Sipeed MAix Dock
MicroPython | 11 min | 24421
This tutorial is about training (on PC) and deploying a YOLOv2 object detector on a MAix M1w Dock Suit running MicroPython. The MobileNet is used as a pre-trained model for the training.
Therefore, this tutorial will try to accomplish the following points:
- A quick introduction to YOLO(v2)
- A quick introduction to MAix KPU
- Training, evaluation, and testing of the object detector model (on Jupyter-Notebooks running on Docker)
- Flashing the trained model on the MAi...
#M5Stack: Christmas Lights using MicroPython & WS2812B Leds
M5Stack, MicroPython | 4 min | 3142
Holiday season has begun and Christmas and the New Year 2020 are approaching! This means, time to reflect and to clean up code and, therefore, I am updating some of the GitHub's projects to summarize the year. I started with the Christmas lights project! But, this time, I took the M5Stack Fire and a new LED panel (WS2812b - 16x16 pixel) and with the XMasLight project, these are the results (Fig. 1 & 2):
Fig. 1: M5Stack and a new WS2812b Panel (16x16 pixel).
#MicroPython: Taking photos with an ESP32-CAM
MicroPython | 6 min | 64784
Last year, I bought an ESP32-CAM board from Banggood and I wanted to use it with MicroPython. The board has an OV2640 without any chip (buffer) between the ESP32 and the camera. There are many implementation for Arduino or directly using Espressif, but I wanted to use MicroPython. Thus, the only solution was to use the I2S interface, but I didn't have time to write the driver. Thus, I put the project on hold. However, last week I was searching between the ESP32 boards that I have,...
#MicroPython: VSCode IntelliSense, Autocompletion & Linting capabilities
MicroPython | 4 min | 44090
Last December, I wrote an article telling you that I was switching from Atom.io to Visual Studio Code to program MicroPython. Nowadays, I'm still using VSCode and the PyMakr extension. The latter enables the communication to a board running MicroPython using the built-in command line REPL. Thus, I can run a single file on my board, sync my entire project or directly type and execute commands using the Terminal on VSCode. However, I was missing some of the main features of VSCode, namely IntelliSense, autocompletion, and linting capabilities. Last month, BradenM contacted me and told me that he...
#Collector: Things that I recently bought - XIAOMI Wowstick & ESP32 8MB PSRAM
General, MicroPython | 1 min | 3330
This is a misc. small article. Two month ago, I bought on Banggood two articles that I wanted to show you, but this time, these are not connected to an application, code or a detailed product review. This is only a misc. article to describe my purchase: The Xiaomi Wowstick Screw Driver and the TTGO ESP32 WROVER with 8MB PSRAM.
If you are looking for a very small electric screw driver, then the Xiaomi Wowstick is an option for you. It in...
#MAiX Dock & MicroPython: Hands-On with low power AI at the edge
MicroPython, Product Reviews | 5 min | 13977
This week, I received from Seeed Studio a MAiX Dock to review it. The main board of the kit includes a Sipeed M1w which is a compact module like the ESP32 but based on the Kendryte K210 dual core RISC-V processor. It is designed for low power artificial intelligence workloads, such as face detection, object recognition, or audio processing. There are two type of modules: the Sipeed M1 and M1w, the last one includes WIFI connectivity.
The main features of the MAiX Dock boards are:
- Display I/F – A...
#Review: Meet the M5Stack FIRE
M5Stack, MicroPython, Product Reviews | 3 min | 7414
This month, I received the M5Stack FIRE development kit with a PLC base kit from Banggood to review (see Fig. 1). After using it, I can affirm that the M5Stack takes an alternative approach to ESP32 prototyping, because the resulting projects are almost simultaneously finished products. This is possible because the board is housed in a stylish and robust hosing with graphics display, buttons, microSD card slot, USB-C port and speakers. I tested the M5Stack FIRE development kit, and the board i...
#MicroPython: Home Automation using Blynk connected to a WiPy 3.0 / 2.0
Home Automation, MicroPython | 2 min | 8484
This time a quick tutorial to control your WiPy 3.0 / 2.0 or an ESP32 using Blynk.
Blynk is the most popular mobile app for the IOT. Works with anything: ESP8266, Arduino, Raspberry Pi, SparkFun and others.
I found a library to connect MicroPython to Blynk but it is only compatible with the WiPy 1.0. Thus, I modified it and made it compatible with the WiPy 3.0 / 2.0 and with the ESP32 running MicroPython. If you do not have any idea about MicroPython, I rec...
#MicroPython: Programming an ESP using Jupyter Notebook
MicroPython | 6 min | 19643
I was looking at my last articles about MicroPython and my new articles about Jupyter and Docker, and I thought if it is possible to make a mix between Jupyter and the ESP boards. I use usually Visual Studio Code to program the ESP but for analytics I use Jupyter. I looked if it was possible to connect the Jupyter kernel to the ESP using the serial port and: Yes!, it is possible. This can be a great tool to teach kids to access data from connected sensors and analyze it us...
Out with the old, in with the new! Happy 2019!
It's been a two years now since I started this blog. It's a hard job to maintain it up-to-date but I still have fun writing and coding for this purpose! I hope the next year will be better than this one! :)
This post includes a new video for happy new year! The video combines some of the MicroPython code, that I've published this year. I'll be uploading the repo to GitHub in the next days. But, in the meantime enjoy the video, and check the MicroPython projects here!