Developer/Provider: | Calliope and Lulububu (optimizations and adaptation for Calliope mini), Open Source development by the Microbit Foundation with many other community contributors |
Type of application: | Web application |
Operating system: | Windows, Mac, Linux, or Chromebook computers |
Calliope mini Version: | V3 (V1 and V2 currently supported to a limited extent) |
Account required: | No |
Installation: | No |
Usable offline: | Yes, once loaded, also usable offline |
MicroPython is a version of Python specifically adapted for microcontrollers. The main difference is that MicroPython does not require an operating system; once you use it, it essentially becomes the system running on the Calliope mini.
Python is an excellent introductory text-based programming language. Its instructions and syntax are based on natural language, making the code easy to read, understand, and modify.
Python is widely used not only in education but also in industry, especially in data science and machine learning.
File Management
Save Project
The program can be saved as a HEX file on the computer and imported back into the editor.
The code can also be saved as a Python text file, which can also be loaded into the editor.
Transfer Programs
If you want to send your code directly to your Calliope mini without downloading it as a HEX file first, you'll need to use either Google Chrome, Microsoft Edge, or Opera. Then click on "Send to Calliope mini" and follow the on-screen instructions.
The saved HEX file can also be copied to the Calliope mini's drive to run the program. Simply drag and drop the file onto the "MINI" drive.
Open Project
Projects can be opened either via the "Open" button or by drag & drop.
Share Program
Programs can be shared as saved HEX or Python text files.
Program Features
Reference
The reference section makes it easy to discover what Python and the Calliope mini can do, similar to browsing blocks in MakeCode or Scratch.
Use Code Examples
Working code examples can be dragged directly into the editor and tested immediately. This saves time and helps overcome barriers caused by lack of keyboard skills.
Automatic Completion
Questions like which command to start with or even what to type at all are hurdles when starting text-based programming. With many hints and suggestions during input, you are supported and can develop programs faster.
Code Structure Highlighting
Different colored code blocks highlight the structure of Python programs. It's easier to understand the flow of a program when it's clear which lines of code belong to, for example, a loop or an "if...then" statement. Python requires indenting code sections, which also helps with program structuring.
Error Highlighting / Debugging
Errors or bugs are a normal part of programming. Red circles next to the line number help identify and fix errors before sending the code to the Calliope mini. Hovering over the circle displays an explanation of the error.
Simulator
The simulator allows you to test the code before sending it to a Calliope mini.
This helps with development, testing, debugging, and evaluating code.
Programming Concepts
Block-based programming | No |
Text-based programming | Python |
Multithreading | No |
Events (event-based programming) | No |
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 imported as external modules |