Developer/Provider: | Microsoft |
Type of application: | Web application |
Operating system: | Cross platform |
Account required: | No |
Installation: | No |
Usable offline: | Yes, after the first saving in the local cache |
Microsoft MakeCode is a programming editor developed by Microsoft that can be used to program both block and text-based microcontrollers. The editor is extensible and scalable by adding packages that are created by the users.

File management
Save project

The program can be saved as a HEX file on the computer and imported back into the editor.
It is also possible to use drag & drop to drag the programs into the editor.
Additionally, MakeCode offers the possibility to save the program on Github to work together on the project. All projects are also automatically saved online in the Browser cache.
Share programs

The same HEX file can be transmitted to the Calliope mini's drive to run the program there.
Share program

Programs can be shared very easily via Link. The URL is also output as a QR code. The shared programs can be edited via the link.
Program features
Simulation, Debugger and Multi-Editor



With the simulation and the debugger it is possible to test the program without having to transmit it to the Calliope mini and to check for errors.
With the Multi-Editor it is even possible to program two Calliope mini differently in the same browser and test the radio communication between them in the simulator.
Tutorials

There are a lot of guides and tutorials on the homepage to get started with programming the Calliope mini. Even own tutorials can be created and published with the Tutorial-Tool of MakeCode. The tutorials are written in the markup language "Markdown" and can be shared via link. To update a tutorial, it can be reposted on Github. Detailed documentation is available here.
Extensions

MakeCode offers the possibility to create own extensions and blocks, which can be loaded into the editor by third parties. Thanks to the large community, new sensors, actuators or other extensions are added all the time.
Programming concepts
Block-based programming | Yes |
Text-based programming | Javascript/Python |
Multithreating | Yes, several permanent loops can be executed simultaneously |
Events (event-based programming) | Yes |
Variables | Yes |
Lists | Yes |
Loops: While / For / Foreach | Yes / Yes / Yes |
Functions / with parameters / with return value | Yes / Yes / Yes |
Serial communication | Yes |
Sensors/actuators extensions | Yes, they can be added as an extension package |
Documenting and commenting
Comments

Comments can be added to the blocks or freely on the work surface as Post-Its.
This way, the program can be documented and traced for yourself or for others.
Screenshots

To create teaching materials or your own tutorials for programs, it is helpful to take screenshots. MakeCode offers the function to directly download high resolution screenshots with a right click as .png. The advantage of this is that the screenshots have an alpha channel for transparency. So the blocks can be arranged without white background in the created educational material.
Documentation and help

If the question mark symbol in the right corner of the editor is clicked and then Blocks is clicked, a detailed documentation of the individual programming blocks opens. Alternatively, direct information about the block can be retrieved by selecting it with a right mouse click and clicking Help.
The information is retrieved from the documentation, which can be found here: