Programming in MicroPython

A project log for Street Sense

Portable electronic device to measure air and noise pollution

Mike TeachmanMike Teachman 11/03/2018 at 00:530 Comments

For the last two years, the majority of my micro controller projects have used the ESP8266 device, programmed with the MicroPython  language, rather than C/C++.  I'm hoping to continue this approach with the ESP32 device.

There are definitely some risks.  The ESP32 device is not well supported in the official MicroPython project.  The ESP32 has many hardware peripherals that are offered to developers with a well documented API called the ESP-IDF.  However, most of these peripherals are not offered in the official MicroPython port for the ESP32.

Fortunately, there are some derived works of MicroPython that have extended the official version, offering support for many of the valuable hardware peripherals.  A notable work is the "LoBo" version of MicroPython.  This version was developed by Boris Lovosevic from Croatia.  The LoBo port will likely be the version used in this project.

Even the LoBo version is not complete.  Additional low-level C coding may be needed to expose additional hardware features in MicroPython.   There are example tutorials describing how to bring unsupported hardware features into the MicroPython world.