These are several programming languages that I used to program the Micro:bit platform (online and offline options):

 

 

          1. JavaScript Blocks Editor - https://makecode.microbit.org/

 

      a. Online

 

First time the web page is loaded it took me around 15 seconds. But only the first time. After that, the page loads fast.

 

The interface is very intuitive (very much like Scratch). There are many functions grouped in 17 categories. They range from basic (like displaying a character on the LED matrix, for example) to quite advanced (I2C and SPI communication protocols).

 

A very nice feature is the simulation feature: the program can run in the simulator and the results can be seen immediately. So, even if you do not have a Micro:bit around, you can still develop and test software code.

 

However, once the program was completed, by pressing the “Download” button, a file (the extension is “.hex”) will be downloaded on the computer and it needs to be copied to the Micro:bit board (once the board is connected to the computer it will appear like a USB memory drive).

 

Share” is another useful feature. If you want to transfer a program between two computers, you can press “Share” and a link is generated. This links to a copy of the program that can be viewed and edited on another computer.

 

    b. Offline

 

There is a Microsoft Makecode for micro:bit Windows 10 application that can be installed from Microsoft Store and can be used without Internet connection. It is identical to the online application described above.

 

 

2. Python

 

     a. Online

 

There is an online microPython editor at https://python.microbit.org/v/1.1 that is simple to use.

 

     b. Offline

 

I installed the latest version of Mu editor on a Windows 10 machine. This version (1.0.0) is full of features! It can be used to develop software for Adafruit Boards (using CircuitPython), for Micro:bit, develop games with Pygame Zero and to develop Python 3.0 programs. Installing is a breeze: download from http://codewith.mu and install. Nothing difficult!

 

However, when I tried to install the editor on Linux Mint 18 following the instructions from Adafruit (https://learn.adafruit.com/welcome-to-circuitpython/installing-mu-editor) it failed. I tried other things but it didn’t work.

 

Finally, the easiest way to install Mu editor on Linux was to download from http://ardublockly-builds.s3-website-us-west-2.amazonaws.com/index.html?prefix=microbit/linux/ and just run it. It is not the latest Mu version, but it works well.

 

Another offline editor option is to use the uFlash utility (https://github.com/ntoll/uflash). The installation process is straightforward. And it works well in Windows and Linux.

 

          3. C/C++

 

     a. Online

 

I wanted to program the micro:bit using the mbed online platform. This approach would work well for students that are older (high school level) and are proficient in C/C++. There is a nice presentation page at https://os.mbed.com/platforms/Microbit/. There is even a video that shows how to compile and run your first C++ micro:bit program. Very nice! However, following the instructions didn’t work for me: the compilation error was “No linker script found”. Apparently, the mbed guys and gals know about it (https://os.mbed.com/questions/82626/Compiling-for-MicroBit-No-Linker-Script-/). Hopefully, this issue will be shortly resolved.

 

     b. Offline

 

Still, there is a way to program the microbit in C - as seen at https://www.i-programmer.info/programming/hardware/9654-offline-cc-development-with-the-microbit-.html. It is not super easy, but it is well explained. Also, a lot of material at this site (https://www.i-programmer.info)  for those wanting to go deeper with micro:bit and C++.