Top 5 Best Microcontrollers for Python in 2022
A Buying Guide for the Best Controller Boards That Support MicroPython
If you are looking for the best microcontroller boards that support coding with MicroPython then you are in the right place. Here I have tested out and listed my 5 most favorite microcontrollers that run Python and you can use them on your next IoT project.
The original Arduino Uno brought about a revolution in IoT projects. This low-cost board is still very popular among hobbyists. As we all know that a microcontroller is a very basic computer that can be used in various automation projects.
The fun part is that you can program your microcontroller using a programming language to perform a specific task. Arduino Uno and most other Arduino boards use C++ as the programming language.
But as Python became quite popular nowadays among beginners, companies came up with boards that support writing codes in Python. Although because of the physical limitations you can’t run the full-fledged Python3 on these microcontrollers.
Hence the developers have created a special version of Python with stripped-down libraries that will work best on the microcontrollers. This is known as MicroPython (Python for Microcontrollers).
Reviews of the Best Controller Boards for MicroPython
A few days ago I was looking for a controller board that I can code using Python. But As I was researching on the internet, I found that there is no good listicle of the microcontrollers that support MicroPython.
So, I thought why don’t I create one for the hobbyists. Then I started checking all the popular products out and came up with this ultimate list of my favorite microcontroller boards for MicroPython.
“As an Amazon Associate, I earn from qualifying purchases.”
This is probably the most used MicroPython-supported board out there. This board is developed by the Raspberry Pi Foundation. This is the cheapest and tiniest member of the Raspberry Pi family.
Unlike other Raspberry Pi boards, this one is not classified as a Single Board Computer (SBC) and hence it can’t run full Linux. This board is equipped with an RP2040 chipset that is designed by the developer company itself.
This ARM chip is not that powerful with 264KB of RAM and 16MB of flash storage. But it is capable enough as a microcontroller to use on various IoT prototypes. The footprint of the board is quite small as the name suggests.
It has 26 GPIO pins which is a great addition. Costing under ten bucks this is a perfect microcontroller for students and kids learning basic coding. It also supports the official C/C++ SDK along with MicroPython.
This board is developed by the same team that developed the MicroPython itself. So you are getting the best software support while using this microcontroller in your projects.
It is a costly board compared to others on this list. It’s because this one is more feature-packed with built-in WiFI and Bluetooth. There are a few variants of D-series PyBoard based on the chipset used.
This particular PyBoard D-series (Model: SF6W) is based on the STM32 platform with Cortex M7 cores. It has both internal and external flash ROM options for better execution of programs. Also, 512KB RAM gave it enough power to handle the processes.
PyBoard D-series has got abundant hardware interfaces. The 46 GPIO pins in this microcontroller come in handy while integrating it with other devices. It uses very low power while operating even with Bluetooth and WiFi turned on.
This product was developed by BBC (British Broadcasting Corporation) to spread the fun of programming among the kids. This is not just a microcontroller. Rather it is a tiny system that has a built-in LED matrix, various sensors, and much more.
For this reason, this microcontroller can be used as a standalone device out of the box. The official website is quite beginner and kids-friendly. They have great documentation and a lot of basic tutorials to get started. I liked their concept and vision.
The micro:bit has got a very basic processor inside its core. However, this is capable enough for regular tasks and running basic MycroPython scripts. The bottom of the board consists of 25 pins and 3 of them can be used as GPIO.
The V2 of BBC micro:bit comes with a built-in speaker and microphone which comes in handy most of the time. This is the perfect device for both adult hobbyists as well as kindergarten kids who are into programming.
This is yet another board developed by the MicroPyhthon team. This board is very compact with a fraction of the cost of the PyBoard D-series. Of course, you are losing some power and features in this board.
But still, this board is perfect for getting started with Python for Microcontrollers. PyBoard has a basic and tony filesystem inside the flash chip and this is why you can control the board either using the USB connection, remote script, or directly from the file system.
The 96 MHz Cortex M4 CPU might seem sluggish. But in addition with 512KB ROM and 128KB RAM this microcontroller is going to handle simple operations quite efficiently. Also, this board has got an SD card slot that supports standard-sized memory cards.
Considering the price and form factor, PyBoard Lite is a decent choice for the beginners out there. Also, there is a very few things that you might miss on this board. But overall, I think you will not regret buying this board.
The last one on this list is the cheapest among them. However, this is probably the most popular product in the market to get started with MicroPython. For those who don’t know, NodeMCU is an open-source IoT platform.
Different companies have created their own version of NodeMCU, thanks to the open-source license. For this reason, the price is also very reasonable. This one is from the company HiLetgo and uses the popular ESP8266 chip from Espressif Systems.
Although other chips from Espressif supports MicroPython IDE, this 8266 one is found in most microcontrollers out there. This tiny board looks dope and you can attach it to any IoT project, no matter how small that is.
The built-in WiFi of this board supports using this on any kind of connected project. Also, there are some fun projects where you can use this board as a standalone HTTP server. Overall, this will be my first pick if I have got a limited budget.
Buying Guide for The Best Microcontroller for Python
Choosing the best microcontroller for your IoT project is a bit tricky. If you are a hobbyist who always tinkers with electronic components then I am sure you know the basics.
But if you are someone who is new to the game, or maybe you need to buy a microcontroller for a college project, then here is a guide for you. After reading this part you will be able to judge which microcontroller will be the best for you.
So, there are a few terms related to every microcontroller out there. No matter whether that microcontroller supports MicroPython or not, the basics will be the same for all types of controller boards. The followings are the most significant among them.
Processor: This is the brain of the microcontroller. In fact, this is the actual microcontroller. The board you see just works like housing for all other components.
You know that present desktop computers, even your smartphone have a processor of a few gigahertz speed. So if you see a microcontroller has got a processor of just 96 MHz, don’t despair. This is quite common for a microcontroller to have weak chips inside.
However, still, the faster the processor is the more capable your microcontroller will be to execute the commands. So if you have a plan to write complex codes and execute them faster on the microcontroller then choose the one with a higher clock speed.
ROM: It means Read-Only Memory as you might read it earlier in a high school ICT book. It stores the actual program on the board that you have written. Normally, the ROM varies between a few hundred kilobytes in a microcontroller.
Don’t worry after hearing that. You are not going to run a 3D game on your microcontroller. This poor amount of ROM is somewhat enough for basic tasks. Also, most microcontrollers can load one program at a time. That means burning the second program will erase the first one.
Nowadays, some advanced microcontrollers like the PyBoard, and Raspberry Pi Pico, come with an SD card slot and a file system. In that case, you don’t really need to worry about the ROM. But still, the more ROM you have the more future-proof you are.
RAM: RAM is the temporary memory of the microcontroller. The PyBoard Lite has 128KB of RAM. When the microcontroller executes a program it stores some temporary values in this memory. This is normally faster than ROM in terms of read-and-write speed.
Also, you will notice that RAM is normally smaller than ROM in terms of capacity. This is because you don’t really need that much RAM in a microcontroller. Because they are not intended for complex computations. But still, my suggestion is to choose the best microcontroller for Python with more RAM in it.
Ports and Pins: The number and type of port are very important when considering a microcontroller. Normally most microcontrollers come with a single USB port that is used for power delivery as well as to connect with the computer for burning programs.
The port can be either Micro USB or Type-C. Try to choose the one with a Type-C port as it is faster and future-proof.
Another important thing besides the USB port is the availability and number of GPIO pins. GPIO stands for General-purpose Input/Output. These are analog ports that are used to connect the microcontroller with external modules.
You can also program the functions of those GPIO ports. Some very compact microcontrollers might have a limited number of GPIO ports. But the more GPIO ports you have the more flexibility you are going to get. So, this is another fundamental thing that you must remember while shopping for the best microcontroller for Python.
Wireless Connectivity: Nowadays wireless connectivity has become a synonym for IoT. So, it’s very important that your microcontroller supports basic wireless connectivity such as WiFi and Bluetooth.
Having WiFi support on your microcontroller will enable you to create projects that send and receive data from the internet. Also, Bluetooth will let your microcontroller pair with other modules and sensors.
Some microcontrollers even support burning programs remotely using the wireless features. So, I will suggest you go for WiFi supported boards even if you have to spend a few bucks extra.
IDE & Software Support: IDE stands for Integrated Development Environment. Various chipsets and platforms support various IDE and programming languages. For example, Arduino and ESP-based boards support Arduino IDE.
Again, the IDE might have support for coding with multiple languages. If you are buying a microcontroller with MicroPython support then you have to write commands using Python. Arduino and some other boards support C++ for executing commands.
Also, software support is a vital thing for Python-supported microcontrollers. Some manufacturers provide firmware degradation services for their boards with bug fixes and new features. If you are planning to use the microcontroller for a temporary project then software support might not be a big deal.
Frequently Asked Questions About Best Microcontrollers for Python
Is Raspberry Pi a microcontroller?
The Raspberry Pi Pico is a microcontroller. However, the original Raspberry Pi and other variants, including the Raspberry Pi 4 are full-fledged computers with a powerful microprocessor inside them. But single boards computers can work like a microcontroller if you want.
Where can you find microcontrollers?
Microcontrollers are also known as embedded controllers. They are found in almost all kinds of electronic gadgets and appliances including washing machines, television, refrigerator, microwave oven, robots, medical devices, etc. Although, nowadays these devices also use microprocessors and single-board computers instead of a microcontroller to handle complex tasks.
How is MicroPython different from Python?
Although, both MicroPython and Python use similar principles and syntax for writing code, Python is much more flexible. Since microcontrollers have less amount of power and flash memory, the MicroPython is built as a stripped-down version of Python to work in such scenarios. Hence it doesn’t support all the libraries of vanilla Python.
Is MicroPython better than C?
Both have their pros and cons. The syntax of C is more difficult to read and write than Python. This is why Python is suggested for beginners. On the other hand, Python needs an interpreter and hence executes a program slower than C. So, you have to decide based on your requirements. Both are great for microcontrollers.
Final Thoughts on Best Microcontrollers for MicroPython
There are numerous MicroPython-supported boards out there from various vendors. Even you can’t count the number of microcontrollers that are based on the NodeMCU platform and ESP chipset.
But you don’t need all of them, right? I hope the above-mentioned microcontrollers will be enough for you if you want to write codes using MicroPython. But if you still have suggestions regarding your favorite board you can comment below. Happy DIYing!