Arduino boards have traditionally been programmed with C-like language in the Arduino IDE, but with the Arduino Lab for MicroPython, Arduino added MicroPython to several official Arduino boards.
In the words of the Arduino Team, “not an official product yet, an experimental tool”, but I would not be surprised if it becomes an official IDE eventually as the company collaborated with Damien George, the creator of MicroPython, to port the official the virtual machine to a number of Arduino products, and Murilo Polese to develop the Arduino Lab for MicroPython cross-platform IDE for MicroPython.
The IDE looks familiar… Oh yes, I see it now, it’s basically the Arduino IDE, but for MicroPython… 😉 and many of the same features including supporting connection with a board, code upload, file transfer, plus a Python-specific interactive REPL shell.
Arduino Lab for MicroPython features so far:
- MicroPython’s Read Eval Print Loop (REPL)
- Enter paste mode
- Enter raw repl
- Software reset
- Can work with non-Arduino boards
- File system management (Disk and MicroPython File System)
- Create, Rename, Remove
- Upload, Download
- Text editor with Python syntax highlight
- Code execution controls
- Run what’s on text editor
- Stop (keyboard interrupt)
- Soft reset
The tool relies on the Electron framework and the Alpha release can be downloaded for Windows, macOS, and Linux on GitHub where you’ll also find the source code.
I’ve installed it in Ubuntu 20.04. The top menu is quite basic, so this indeed looks to be a work in progress. I’m not sure which exact boards are supported either, but based on the screenshot above, at least we know Arduino Portenta boards should be supported.
It’s not the first MicroPython IDE from Arduino, as the company partnered with OpenMV to port their computer vision virtual machine to various Arduino products and most notably the Nicla Vision with the OpenMV Firmware & IDE. We’ll have to wait and see to find out whether the MicroPython IDEs will become official tools for Arduino boards.
Via Arduino Blog
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
It’s not “C-like”, it’s C++. Depending on the Arduino-environment you’re using, some features of the standard libraries may be missing or have reduced functionality for the sakes of lower size of the resulting binaries, but it’s still C++.
I’m a big tease 🙂
The GIF is from Raspberry Pi Pico – VSCode / PlatformIO ( before month )
“I’m not sure which exact boards are supported either” – Arduino currently offer MicroPython firmwares for the Nano 33 BLE and BLE Sense, the Nano RP2040 Connect, and the Portenta. https://docs.arduino.cc/learn/programming/arduino-and-python
I don’t know if it works fine for all boards at this stage of development but the tool supports non arduino board like RP2040, ESP32/ESP8266… The tool just needs to access a MicroPython REPL over serial port.
Tested and approved !