Makecode

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.

To the editor

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.

Github

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.

Multi-Editor

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.

Tutorial-Editor

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.

Makecode Docs

Programming concepts

Block-based programmingYes
Text-based programmingJavascript/Python
MultithreatingYes, several permanent loops can be executed simultaneously
Events (event-based programming)Yes
VariablesYes
ListsYes
Loops: While / For / ForeachYes / Yes / Yes
Functions / with parameters / with return valueYes / Yes / Yes
Serial communicationYes
Sensors/actuators extensionsYes, 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:

Blocks