The MakeBlock mBot is a programmable robot for children. When we say programmable, we mean it. Kids can program using MakeBlock’s Scratch 2-based software or as an Arduino device if they’re comfortable with that.
We backed the mBot Kickstarter project and my kids have an mBot each. The mBot has turned out to be one of those products that the kids keep going back to rather than just something that is fun for a few hours.
The mBot is exactly the robot that we’ve been looking for. It might not be suitable for every family just yet, but we think a lot of kids will get huge value from it. There are definitely some things that you need to understand to get the best from mBot and make sure you understand what you are getting.
MakeBlock have done a fantastic job with the packaging and Out of Box experience. mBot comes in a really heavyweight cardboard box which can be kept for storage.
The mBot frame is made from powder-coated metal and it’s a beautiful thing. It feels solid and very high quality.
The tools are included and the instructions were easy to follow, my 8 year old made his mBot without much help from me. We’ve assembled quite a few robots and this is definitely one of the best. Kids get a sense of achievement from building the robot but it goes together quickly so they won’t get impatient.
The sensors and motors connect really easily to the board, no fiddly crocodile (alligator) clips, jumper leads or breadboard to worry about here. Just slot in connectors. A fantastic approach.
The ports are clearly labelled which is important when it comes to programming them later.
The mBot is very appealing to children with its ultrasonic sensor eyes and smiley face. My kids took to theirs straight away.
Our mBot came with a battery pack and we added the required 4 AA batteries. We’ve since switched to using a 3.7V rechargeable lithium battery which is very practical as the mBot board can charge the battery via its USB cable.
mBot as a Remote Control Toy
mBot comes with default firmware which responds to the included infrared remote control. This means that once you have sorted out power kids can immediately play with the robot.
My 7 year old son loves driving his mBot around using the remote control. You should be aware that the infrared remote control will control any mBots in range. Fun for coordinating mBots but not such fun when two kids want to play with their own mBot in the same room. (Not much of an issue for us as my older son wanted to go straight to programming while his brother drove his mBot around the room.)
We found that the motors on one of our mBots are slightly mismatched which made this experience less than perfect, but this is a common problem in robotics. We didn’t have much luck with the line following mode either, I’ll take a look at that at some point.
But having said that, we really didn’t get mBots to drive around as remote control toys – there are plenty of options if you just want a toy.
My kids both love Scratch so we’ve been using the mBlock Scratch-based software. This is a modified version of Scratch 2.0 which is good (my kids aren’t keen on having to use Scratch 1.4.) It’s a download rather than working with the online version of Scratch. You can also use the Arduino IDE but we’re not in a hurry to move on from Scratch for projects like this.
Being Scratch-based is a much better solution than the custom blocks based languages that other vendors are offering. It’s not perfect because you can’t use it with the browser based version (yet) and you can’t mix it with other vendors that take the same approach to providing extensions. Having said that, mBlock Scratch works pretty well for us.
Installing the software is straightforward. You install mBlock and once you’ve done that you can install the required Arduino driver from the Connect menu.
You need to understand that before you can program your mBot you need to change its firmware (and you’ll need to change it back if you want to use the default remote control mode again later.) This can be a source of confusion if you forget.
You’ll need to connect your mBot using the USB cable and update its firmware so that it is programmable.
Once you’ve done this you can connect via Bluetooth or 2.8GHz (depending on which you chose.) We’ve got Bluetooth and we’ve found that it works pretty well.
Bluetooth did stop working at one point though and I had to uninstall all the software and reinstall it (something corrupted?) and then all was good again.
We’ve got two Bluetooth mBots and they can be programmed at the same time.
Programming mBot in Scratch works really well. The interface is intuitive for kids who know Scratch. Code runs live all the time, very much in the spirit of Scratch, so there’s no downloading files and copying them to the mBot. This is really important and I’m very impressed that MakeBlock have made the effort to make the development process seamless for kids.
Changing the colours of the onboard LEDs is a really simple and fun activity to get kids started.
We’ve found that we can’t set the motor speed on one of our mBots as low as 50 (which is one of the drop down options) or it doesn’t work reliably. This was the cause of much confusion until we switched to higher speeds and everything started working well. As mentioned, one of our mBots has mismatched motors so we’ve had to experiment with running them at slightly different speeds to correct this which has been very educational but has definitely required parental involvement.
We’ve got the LED Faceplate which is a fantastic add-on and the Scratch interface for that is really nice, kids can either draw an image to display or set a scrolling message. Again this has given us another small technical issue. Sometimes the images were getting garbled. We found that if we added a small delay after the block to send the drawing then everything worked – presumably there was a timing issue and the drawing data was getting overwritten. Again, very educational, but a techie parent was needed for debugging.
You can handle key presses on the remote in Scratch which works really well. This has been very popular. My son loves being able to program the remote to make mBot do what he wants.
There’s also a small buzzer capable of playing musical notes. This is a lot of fun (reminds me of my Sinclair Spectrum days!)
My son loves the distance sensor and uses for detecting enemies that come too close! The built in light sensor is also fun.
We’ve found it reasonably easy to get all of this working with a bit of help from posts on the MakeBlock forum. You’ll probably need example to figure out some things like getting messages scrolling on the LED faceplate and getting the sensors working.
When things have gone a bit wrong it has taken a bit more effort to sort things out.
My nearly 9-year-old has managed to create a program which seems to hang the mBlock software with a low-level Bluetooth error. Because the mBot is so powerful he’s throwing everything at it so there’s tons going on in the program. I couldn’t figure this one out. Again it could just be a problem in the Bluetooth version. In the end we just had to rebuild the project and add things back in gradually.
mBot Infrared Remote
The infrared remote is programmable via Scratch which is fantastic. It means you can control the robot via the remote control even when it’s not connected to a computer.
We’ve recently had some trouble with some infrared key presses being ignored the first time they are pressed and then triggering twice – the only seems to happen when they are used to trigger some actions such as playing sounds. They work fine for controlling motion. We’re not sure if this is due to the latest mBlock version or our upgrade to Windows 10. (This is also happening with the distance sensor.) The mBlock software is actively being developed so I’m sure this will get fixed eventually.
But my kids want to use their mBots connected to Scratch anyway so they can use the features of Scratch along with the mBot.
We’ve switched to using a mini wireless keyboard to control the mBot via Scratch. This works brilliantly (and no double triggering now.)
It’s Real Programming
There are lots of robot toys out there that claim to be ‘programmable’ when they really mean they can be controlled from a remote or an app.
mBot is properly programmable. Kids can design custom robots that react to sensors, move, play sounds and update lights and the (optional) LED faceplate.
Many of the kids programmable robots we have used are quite restricted in what they can do. mBot is fantastically capable in comparison.
This is my nearly 9 year old son’s current mBot project:
MakeBlock have provided two free downloadable books to get kids started.
There’s Scratch 2.0 The Adventures of Mike which teaches Scratch without mBot. This is a nice resource but it’s actually more suited to kids who just want to learn Scratch. Those with an mBot will either know Scratch already or will be really eager to learn how to program their mBot and probably won’t want to do a whole Scratch course first. It would be a useful course for kids to do before getting an mBot though.
Then there’s mBlock Kids Maker Rocks with Robots. No, I can’t parse the title either. Unfortunately for English-speakers this book has been written by a non-native speaker and it really shows. There’s some good content, but I think kids will struggle. It’s good to skim though and see what it possible though.
For us, none of this mattered. My older son was quickly able to get things working and I was able to figure things out when he got stuck. This won’t be the case for all families though so consider carefully whether you’re going to be able to make the most out of an mBot.
Longevity and Extensibility
There’s so much in the basic mBot that there’s not really any need to buy anything extra to start with – there’s plenty to keep kids busy. But it’s good to know that you can extend the robot when they need something new to try.
Some toys and kits are fantastic for a few hours or weeks and then kids have done everything there is to do with them. mBot is not like that at all. My kids have been completely inspired to design robots and have some fantastic ideas that they are planning and working on.We’re now at the point where my kids want to do more with their mBots so I’ve ordered some of the extension sets – I’ll cover those in a future article.
mBot is built on the MakeBlock platform which means that there are extra components that can be added to the mBot. This give lots of scope for upgrading the mBot as kids want to try something new.
There’s so much scope for building projects with an mBot that kids aren’t likely to get bored of it.
mBot is a children’s robot but it’s part of the MakeBlock family of robotics kits and components for hobbyists.
Older kids can progress on to Arduino programming with mBot. Teenagers will be able to move onto other robotics products in the MakeBlock range and build a 3D printer, robot arm, drawing machine or a robot of their own design.
I’m just a little bit obsessed with storage! It’s tricky to keep track of cables, spares and add-ons for tech toys. The mBot scores very highly here. The box it comes with can be opened without destroying it and it’s sturdy enough to use to store the mBot.
If you remove the packaging then the completed mBot fits nicely in the box with space for the cable, spares, tools and any add-ons you get later. It might sound trivial but it’s a really nice touch that I appreciate.