MicroPython

6 Best MicroPython IDEs for Programming

ESP32 is a microcontroller based IoT platform that supports multiple programming languages. It can be programmed using the Arduino IDE programming and runs the very famous MicroPython programming as well. Here today we will be listing some widely used MicroPython IDEs for programming ESP32 boards.

MicroPython IDEs

MicroPython is an open-source programming language derived from Python 3 and designed for microcontrollers and embedded systems applications. To write and run MicroPython code we need an IDE to program ESP32.

While there are many IDEs available for programming ESP32 boards, here comes the list of some very famous and common IDEs used among the ESP32 family.

1: VS Code

Visual Studio Code is among the top IDEs for programming ESP32 boards. We just need to install an external plugin that supports MicroPython and that plugin is Pymakr (Pymakr extension).

Before Programming ESP32 with MicroPython first we have to flash MicroPython firmware inside ESP32 board.

However, as a beginner we do not recommend you VS Code as it has a complex interface and might take some time to adopt.

VS Code with Pymakr extension come with the following features:

  • Syntax highlighting
  • Bracket-matching
  • Auto-indentation
  • Box selection
  • Snippets

2: Mu Editor

Mu editor is another easy-to-use simple MicroPython IDE. It comes with an intuitive interface with a pre-installed tool for flashing MicroPython in ESP32 without any need of esptool. Mu editor is also compatible with other boards like Pyboard.

Additionally, it has a very useful function that continuously checks for the code indentation and missing spaces. Also, it gives real time error checking also. Only thing it lags is the stop button to abort the code. We have to manually reset the board or use the shortcut Ctrl+C but this might not work every time, especially when ESP32 is busy. But still it got more than we needed. To download and read about Mu editor click here.

Following are some important highlights for the MicroPython IDE:

  • Designed for beginners
  • Easy to use
  • Minimalistic interface
  • Easy to create and run MicroPython code
  • Tool for flashing firmware in ESP32

3: PyCharm

PyCharm is an advanced level IDE for writing MicroPython code. It features smart code compilation, with read time inspection, code error findings and easy to use navigation capabilities.

PyCharm is more targeted for advanced level but as a beginner still you will find one of the easy-to-use IDEs. Download PyCharm IDE from their official site. If one has already programmed Python 3 using PyCharm then it will be very helpful for controlling ESP32 microcontrollers using this IDE.

Here are some main highlights of PyCharm IDE:

  • Intelligent Python Assistance
  • Web Development Frameworks
  • Scientific Tools
  • Cross-technology Development
  • Remote Development Capabilities
  • Built-in Developer Tools

4: uPyCraft IDE

uPyCraft is the best IDE designed with the sole purpose of programming ESP32 and other microcontroller boards like Py boards. Its easy-to-use interface with built-in capability of uploading MicroPython firmware in ESP32 board make it a best choice for beginners. Download uPyCraft IDE for free.

Text Description automatically generated

This IDE includes a left sidebar which shows the current working directory and all files we are working on. It also has some quick action buttons to upload code in ESP32.

One of the most interesting things inside uPyCraft IDE is its fast communication build up with ESP32. We just need to select the COM port. One more feature it includes is the Upload and Run buttons. Using it we can upload code directly to ESP32 and no need to manually reset the board first like other IDEs required.

Here are some main highlights of uPyCraft IDE:

  • Supports updates
  • Compatible with both Windows and Mac systems
  • Simple design, easy to use
  • Comes with built-in examples of different boards
  • Technical support available on uPyCraft forum and GitHub.

5: Thonny IDE

Next on the list is the Thonny IDE which is an IDE for Python programming language and supports MicroPython for microcontrollers. Thonny IDE also has support for burning MicroPython firmware to ESP32 board.

Graphical user interface, application Description automatically generated

Thonny IDE is designed for beginners, and it offers many features that make it a full fledged MicroPython development platform. It also allows you to program ESP32 boards in real time by just using the shell/terminal window.

Some main highlights of Thonny IDE includes:

  • Easy to get started
  • Simple debugger
  • Step through expression evaluation
  • Highlights syntax errors
  • Explains scopes
  • Code completion
  • Simple and clean pip GUI

6: MicroIDE

MicroIDE(µIDE) is an IDE tool for programming microcontrollers. Its significance with ESP32 increases because of its wireless capability of programming ESP32 boards. Multiple modules can be added to quick development of a program. It has an integrated Web Server for reading and writing.

One only needs to update the ESP32 board with MicroPython firmware and upload a new code wirelessly.

Following are some major features in MicroIDE:

  • MicroIDE is free
  • Data visualization and Command Terminal emulation
  • Support for ESP32 chip (ESP8266 in near future)
  • Accessible from anywhere via Port Forwarding
  • Wireless code editing
  • Easy to install

Which is Best IDE for MicroPython

So, after discussing all these IDEs for MicroPython we concluded that as a beginner one can go with Thonny and uPyCraft IDE. However, if one wants to explore MicroPython with ESP32 in more detail VS code PyCharm is the best IDE.

Conclusion

Here this article gives a brief comparison of all the main IDEs for MicroPython. Most of these IDEs come with a pre-installed tool to flash MicroPython firmware in ESP32 however some IDEs require esptool to flash MicroPython in ESP32 board first. This article will assist in finding the best fit IDE for MicroPython.

About the author

Kashif

I am an Electrical Engineer. I love to write about electronics. I am passionate about writing and sharing new ideas related to emerging technologies in the field of electronics.