Programming the Mio Robo3

I found two small funny looking, modular, wheeled robot with a few sensors that can make them avoid obstacles or follow a line: the Mio Robo3 (available on Reichelt for 82 euros with the LED matrix not shown on picture) and the mBot robot by Makeblock (also on Reichelt, 88 euros). They are basically the same, both done made by Chinese companies, with the same main board with makeblock connectors and modules, except that the mBot robot is much more sold and documented. Both feature an Arduino module, programmable by Arduino code, or graphical programming blocks, or even python and Android applications.

My choice went on the Mio, because it's given for 14 years old and up on the Reichelt page while the Mio is given for 6 to 8 years (I don't understand why there's a difference), because the LED matrix in front of the ultrasonic sensor was kind of weird on mBot pictures, and the Mio Robo3 is nicer looking.

Unfortunately, in 2020, the programming software for the Mio Robo3 is not available any more. Probably the company has succumbed to the success of Makeblock... But since they have basically the same hardware, it is still possible to use some common software and to extend the Mio with some makeblock modules.

The miorobot.es website, which seems to have developed the software for the Mio Robo3 with Mio, explains how to install the mBlock software made by makeblock on top of Scratch 3.0 and they still provide an extension to mBlock 3.4 in Spanish that gives access to Mio Robo3 functions in visual blocks.

There are two ways to use mBlock: the online mode, in which the robot is connected to the computer and the blocks are executed when the run button (green flag) is pressed; the offline/Arduino mode, in which the blocks are converted to Arduino code that has to be uploaded as a new firmware. In the latter, the robot doesn't need the computer to execute its new behaviour (I haven't tried it yet).

The Mio Robo3 blocks appear in the Robotics section of mBlock, next to the mBot blocks. The source code is available. It seems to be Arduino code with a Scratch front-end. I don't know yet how the Mio blocks differ from the mBot blocks, except that they are in Spanish.

The hard part to make it work for me was Windows, as often. I thought it was only working on Windows, but mBlock is also available for Mac and Debian. So, the Mio can be connected either with the USB cable or with the provided USB Bluetooth module (serial service). In both cases, reset the Mio after connection of the cable to the computer and a serial port should appear on Windows, look at the Device Manager. I'm not sure when/how it finally appeared, but after that I was able to connect from mBlock and avrdude using the COM3 that was created. mBlock will show if it's connected to the robot in the Robots section, above the blocks there will be a red or green light. I made a backup of the software on the robot in case using mBlock with it will erase the original behaviour, but with online mode at least it didn't.

From there, the online mode can be used to prototype a program with visual blocks and have fun. Add the starting block, the one that is triggered by the pressing of the green flag. Everything that can be done with the hardware can be done: displaying numbers or text on the LED matrix, changing the 5 LED colours and intensity independently, use the sensors (brightness, ultrasonic, line follower photodiodes), use the actuators and all kinds of funny logic. There are already blocks for many makeblock modules (extensions of the robots), like temperature, servomotor, LCD display, MP3 player...

Have fun! There will be probably more to come, with pictures and video maybe, feel free to comment below.

0 comment

Discuss this article, add a comment:

If you are human, type 12: