MPY-Jama Is a Cross-Platform IDE for Writing MicroPython Programs on the ESP32

An IDE, REPL, firmware tools, and a suite of configuration helpers.

James Lewis
1 year ago β€’ Productivity

MicroPython is a tiny open source interpreter that runs on embedded hardware. It allows programmers to write easy-to-understand programs for microcontrollers like Espressif's ESP32 quickly. Unfortunately, integrated development environments (IDEs) that incorporate MicroPython support tend to either be heavy or very light, making Jean-Christophe Bos' MPY-Jama tool a great find between those two extremes. It has an IDE, a REPL terminal, Wi-Fi tools, and other features that make working with the ESP32 and MicroPython much easier.

ESP32 MPY-Jama is a C-python program. Bos offers complied binaries for macOS and Windows. For Linux, you can run it directly, or Bos explains how to build a binary specific to your distro with pyinstaller.

The IDE section has a very similar look and feel to the Arduino 2.0 IDE. Files are arranged as tabs and saved directly to the ESP32. Sadly, there is no code completion when writing MicroPython instructions. However, the color theme and syntax highlighting are well done. The integrated REPL (read-evaluate-print-loop) terminal lets you switch between writing code or directly testing functions.

Other IDEs, like Thonny and Mu, already have those basic features. However, other capabilities set ESP32 MPY-Jama apart. For example, a suite of tools called Jama Funcs are pre-built functions to help configure your device. Additionally, the Wi-Fi connection tools make it easy to scan for available networks and connect MicroPython to them.

Another capability is the real-time information it shows in multiple places. For example, the GUI has a widget in the bottom-left corner that always shows the RAM usage, temperature sensor, and how long the board has been running. The System Info section provides additional details that save you from having to type commands on the REPL to see what version of code is on the device. Also, it gives a real-time read-out of the GPIO pin state.

Last are some firmware tools to assist in updating the firmware. For this section to work, ESP32 MPY-Jama must have access to the esptool.py toolchain. You can install that package via pip, the python package manager.

For Windows users, you may have to add the Path of the installed EXEs to your environmental variables before ESP32 MPY-Jama can find the tool. For example, "esptool.py.exe" might be installed in "%AppData%\Roaming\Python\Python39\Scripts." (The locations vary based on your system and Python version.)

Once set up, the ESP32 MPY-Jama makes it easy to interact with MicroPython running on an ESP32. You can download the binaries or C-Python code in this GitHub repository.

James Lewis
Electronics enthusiast, Bald Engineer, and freelance content creator. AddOhms on YouTube. KN6FGY.
Latest articles
Sponsored articles
Related articles
Latest articles
Read more
Related articles