What is MicroPython?

C is not the only programming language for microcontrollers. This article covers the compatible hardware and the steps involved in programming with another option - MicroPython.
It is a compact implementation of the Python 3 programming language designed to work with microcontrollers. Originally announced in 2013 as part of a Kickstarter project by Damien George, it eventually became one of the preferred firmware options for microcontroller programmers and enthusiasts alike. Damien eventually created his own line of hardware, which features MicroPython from the start. However, the firmware can also be installed on a variety of other boards.
If you are interested in making hardware programming a career or just want to do it as a hobby, you will gain a lot by learning how to work with MicroPython. In this beginner's guide, we will give you the rough information about compatible hardware and workflows. So without further ado, let's get started right away.

Command line tools

The pyboard.py is a standalone tool that allows you to run Python scripts or commands on a MicroPython device and offers some other nice features. Although the tool is designed for the Pyboard, it is also compatible with other microcontrollers that support the raw REPL. These include the ESP32 and ESP8266 series, which we mentioned in one of the previous sections. A few other useful command line tools you might want to try are RShell, Upydev and Ampy.

MicroPython hardware

If you are ready to give the programming language a chance, it is time to look at some hardware options. There are many boards that are compatible with the programming language, but as is often the case with such things, some products are a little better than others. And, of course, some are much more expensive than others. Choosing the right board for your project is very important, so let's take a look at a few of the most solid options currently on the market.


For the longest time, hardware programming was mainly done with scripting languages like C++ and assembler, but that's no longer the case these days. Thanks to it, pretty much anyone can now program microcontrollers, robots and a variety of other devices. All you need is a device compatible with the language, a few scripts and maybe an application or two, depending on the complexity of your project.
It is often used for small projects. However, once you gain a little experience, you can take on more complex tasks that involve multiple devices. Until then, keep experimenting with small things and be sure to keep an eye on the MicroPython community if you want to stay up to date with all the latest projects, tools and tutorials from developers and MicroPython enthusiasts.

Data Navigator Newsletter