MicroPython with Arduino

Arduino is adding the Python language as an additional option for programming microcontrollers. Our platform of choice is MicroPython. We support the official MicroPython project by contributing to the upstream repo. On this page you can find the current status of our MicroPython powered software.

MicroPython 101

Did you hear that we launched a course to learn MicroPython? Get yourself a Nano ESP32 and a Nano Screw Terminal Adapter and dive into the basics with MicroPython 101.


Arduino has developed MicroPython support for the boards listed below. Here you can find the latest firmwares, and a link to installation instructions.

Code Editors

To load MicroPython scripts to your board, you need to use a code editor. There are two editors to choose from: Arduino Lab for MicroPython and the OpenMV

Arduino Lab for MicroPython

Arduino Lab for MicroPython is an experimental, lightweight editor, suitable for most users that aim to write standard MicroPython code.


It was created in collaboration with Murilo Polese who wrote the initial version of this Integrated Development Environment (IDE). We've been collaborating with the community to provide you this new technology and we hope you like it.

OpenMV Firmware & IDE

OpenMV is a firmware based on the official MicroPython infrastructure that is focused on machine vision and machine learning. It comes with its own advanced editor made for these use cases.


Arduino collaborates closely with OpenMV to provide support for all the capeable Arduino boards. For Machine Vision use cases and Machine Learning in combination with Machine Vision, for example if the board is equipped with a camera, we recommended to use the OpenMV MicroPython distribution. In the tutorials below you can find some instructions on how to use OpenMV with Arduino boards.

The OpenMV firmware for Arduino boards can be installed directly through the IDE. All the latest versions of the firmwares are also available on the OpenMV release page on GitHub.