Arduino Announces Official MicroPython Support
Now C/C++ isn't the only game in town with Arduino partnering with Damien George for official MicroPython firmware on selected board models.
Arduino has announced that it is folding MicroPython, the microcontroller-focused Python port designed for resource-constrained devices, into its development ecosystem — partnering with MicroPython creator Damien George to bring the virtual machine to a range of official Arduino development boards.
"We’ve recently been experimenting with the Python language as a possible extension for our programming platforms, considering how it has become the number one language for many types of users," the Arduino team explains of the shift. "Specifically we're looking at MicroPython, the version of Python that runs on microcontrollers. We've created a partnership with OpenMV, which ported their computer vision oriented virtual machine to some of our products and enabled us to do incredible stuff with the Nicla Vision (for example).
"Expanding on this initial experience we were lucky enough to partner with the creator of MicroPython, Damien George, to port the official the virtual machine to a number of Arduino products."
It's a big shift for Arduino, which for years has focused on programming in C/C++ with its fork of Wiring to abstract the complexities of handling hardware aware from the user. MicroPython, then, becomes only the second officially-supported Arduino language in the project's history — but while it is official, it won't be found as an option in the official Arduino IDE any time soon.
Instead, Arduino has worked with developer Murilo Polese on the Arduino Lab for MicroPython, a cross-platform MicroPython-specific integrated development environment that borrows heavily from the popular Thonny IDE layout. Designed for ease of use, Arduino Lab for MicroPython offers a way to connect to compatible Arduino microcontroller boards, access the read, evaluate, print, loop (REPL) console, and write programs to be uploaded to the virtual machine running on the microcontroller.
"This is not an official product yet," the Arduino team warns. "It's an experimental tool — but we wanted people to play with it so we created a new website, 'Arduino Labs,' where we'll post experimental tools for people to try out and give us feedback. It's not guaranteed that they will become fully released products. In the meantime, enjoy them and try them out!"
Arduino Lab for MicroPython is now available on labs.arduino.cc for 64-bit Windows, macOS, and Linux hardware on x86 processors. The MicroPython firmware is available alongside instructions on the Arduino documentation site, though currently only for the Arduino Nano 33 BLE Sense, Nano RP2040 Connect, and Portenta H7 boards; at the time of writing Arduino had not announced a timescale for bringing it to other models.