Micro:Bit vs Calliope Mini

This week I finally got the time to sit down and tinker with the Calliope.

credits: Jørn Alraun/Calliope gGmbH/dpa

I have been working with the BBC Micro:bit for a while trying to create an easy-to-use kit to teach students about swarm robotics. I was drawn to the Micro:bit because it is very easy to code with its blocked-based coding, found on www.makecode.microbit.org as well as several nice features allowing for easy use while teaching swarm robots. I made use of its LED Matrix and built-in radio functionality.

However, one huge detractor that I found was the difficulty in integrating outside sensors and circuit pieces. In order to make use of the pins from the Micro:bit, I needed to get a breakout board. However, most of the pins on the actual breakout board cannot be used.

The only usable pins are Pin 0, 1, 2, 8,12, 13,14,15,16. The rest of the pins are used for the LED Matrix so they cannot be used unless you are not going to display anything on the Matrix. In order to make the swarm robot, I needed 6 pins just for the motors (3 for each DC motor). I used a motor controller L293D in order to act as an H-bridge for the robot wheels. This only left me with 3 more usable pins. For sound, I attached a buzzer to Pin 0, and then only had 2 pins left to attach other sensors. In addition to adding a lot of extra complexity to the system, I needed to attach a breadboard to wire the motor controller to the motors. Needless to say, the end result was super messy.

Enter the Calliope Mini.

This great piece of technology (credits to German engineering) combines a lot of the features that I needed to add to the Micro:bit to make it work well for the swarm robot project. Like the Micro:bit, the Calliope Mini also has a 5x5 LED matrix, a compass sensor, an accelerometer, a light sensor, two buttons and radio and Bluetooth. However, building on the Micro:bit’s array of features and sensors, the Calliope Mini also boasts an RGB led, a built-in speaker and microphone, and a built in DC motor controller for 2 DC motors.

It has much better capabilities to create more advanced electronics systems. With a lot more ports and built in access to its GPIO (General Purpose Input/Output) pins, it is much easier to scale up the learning. If you have a Grove Kit from Seeedstudio, it will be a bonus as they have Grove connectors on-board. In addition, it has a built-in motor controller to run a DC motor. When controlling one motor, you can wire it & code it to spin forward and reverse. However, when 2 motors are connected, in cannot reverse the motors. Nevertheless, being able to run a DC motors forward without any additional breakout board is a great improvement from the Micro:bit infrastructure. Another great feature of the Calliope Mini is its circular design, incorporating easy to use pins on the circumference of the microprocessor rather than on the bottom of a rectangle like on the Micro:bit (this has the tendency to short pins that are side-by-side). 
These features are described here: https://calliope.cc/ueber-mini

In order to code the Calliope, you can use their various web platforms, you first need to learn German. -Just kidding, you can use google translate in order to convert their German website calliope.cc into English. This website has the various options for block-based programming of the Calliope, much like the Micro:bit block coding found on makecode.microbit.org 
Their options include:
miniedit.calliope.cc [only in German]
pxt.calliope.cc [ pxt.calliope.cc/index.html?lang=en for English]
lab.open-roberta.org [in English]

Open Roberta can be used to code both Calliope & Micro:bit.

One of the most powerful features of the Calliope is that it can run code from the Micro:bit, and also use radio communication to talk to multiple Micro:bits. If it is on the same channel as Micro:bits, it can send and receive messages. (Open Roberta can be used to code the Calliope with a drag and drop interface.)

It is very easy to actually code the Calliope Mini, and once coded, you can use the micro USB cable provided to plug in the Calliope to the computer. A simple drag and drop later and you can run the code on your board, just like the Micro:bit. This straightforward, easy-to-learn interface (which made other STEM educational tools, such as MIT Scratch and Micro:bit, easy to learn) has also been implemented in the Calliope.

It has a lot of great features and builds on the idea of the Micro:bit to make a more comprehensive learning tool which can be used for more advanced projects (making them more compact & neat as well!)