Coding Micro:bit with Python – Which Python Editor to Choose From?

If you feel that LEGO robot is too expensive, you have another choice micro:bit. There are several editors we could use to code micro:bit. What are their differences and which one is better if we want to code micro:bit with Python? In this post, I would like to compare briefly several editors for micro:bit. The personal recommendation is put at the end of the post.

Open micro:bit website and we will notice the following web page introducing all the related code editors for micro:bit.

Let’s introduce the two editors “MakeCode editor” and “Python editor” first.

MakeCode editor

As the web page introduces that “Microsoft’s MakeCode editor is the perfect way to start programming and get creating with the BBC micro:bit. “. MakeCode provides a convenient platform to write blockly code for micro:bit. Once you login into the MakeCode platform with your account, you do not need to worry about losing the code since all of your code is stored under your account, just like that on Scratch official website.

Another advantage of MakeCode is that it supports many third-party hardware which greatly enhances the functionality of micro:bit. For example, if you have bought a maqueen robot which uses micro:bit as its control board, you could find the maqueen extension and then add some extra coding blocks to the coding toolbox.

Besides Extensions tab, MakeCode also offers “Advanced” blocks which you could find just below “Extensions” tab. Those blocks enrich the functionality of micro:bit and make coding much fun.

Although MakeCode provides powerful blockly language environment for micro:bit, it is not a good choice for you to learn MicroPython programming. You might have noticed that in MakeCode, you could switch between Blockly, Javascript and Python language with a single click. That is because MakeCode designs its own back-end programming structure to ensure that the blockly language and those Javascript/Python code could be “converted” with each other on a one-on-one (almost) basis. As MakeCode Documentation says “Our Python support is called MakeCode Python…Both Blocks and Static Python are converted to Static TypeScript before being compiled to lower-level languages. ”

If you learn Python game programming with PyGame or PyGame Zero, you know that Python game is based on ticklish structure, that means, when we design a program, especially a game, we should wrap most of the operations in a loop, so the program could continuouly monitor the user input and give prompt response. Using MakeCode Python, we could not learn such a game design method. Meanwhile, many classes and their methods in MakeCode Python are different from that of micro:bit’s own MicroPython documentation.

So, what are the other choices to write MicroPython on micro:bit?

Python Editor for micro:bit

Click “Python Editor” on the micro:bit web page, we could open the online Python editor for micro:bit, as shown below. Although the interface looks a bit classic (old style), it supports the fundamental activities, such as writing MicroPython code by using micro:bit Python library, downloading file to computer, flashing the code to micro:bit and running, etc.

The “Open Serial” button wil open an output window where you could see the running result, checking syntax error or printing any debugging information there. The “Help” button will open the MicroPython documentation page which includes all the information you need to program with MicroPython.

For this edtor, a disadvantage is that it does not offer intellisence functionality. That means, when you type a method, the editor could not provide auto-complete functionality, making typing a bit difficult, especially for young coders.

New Python Editor (beta) for micro:bit

You might have noticed a line of text “A brand new Python Editor is coming soon. Try the beta release”. If we click the hyperlink “Try the beta release”, a new editor will pop up as shown below.

The interface of the new editor looks more modern and offers intellisence editing functionality. It also offers some quick link to MicroPython code reference on the left window. Since it is a beta version, you might encounter some bugs, but generally, it is working pretty well.

Mu editor

There are other editor choices listed on micro:bit web page. One of them is Mu editor. After downloading, you could see its interface as shown below.

Click Mode button to choose the option “BBC: micro:bit”. After that, when you write code, the editor could have intellisence functionality, making the code writing easier. It could download the file, flash the code to the connected micro:bit, and check the files on micro:bit. However, the text typing lags and slows down, influencing the overall user experience.

In summary, if you want to learn MicroPython on micro:bit, I would recommend its own Python editor (beta version). Do not forget to save your project to your local computer before you exit the web page, because those web editors do not have account support so you are at risk of losing all your code without saving it to local computer. Enjoy the coding and have fun!

Note: All the analysis articles are copyright products of Anyone re-posting them should credit author and original source. Anyone using them for commercial purposes or translating them into other languages should notify TheCodingFun and get confirmation first. All Rights Reserved.

Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.