Saturday, August 19, 2017

A First Look at the mBot

Recently our school board received some mBots from Makeblock to try out in the classroom. The mBot is a small autonomous Arduino Uno based rover educational platform that can be programmed in Arduino C or a Scratch derivative called mBlock (mBlockly on an iPad).

The kit comes with the following:
mCore main board, DC motors, wheels, chassis, battery holder, hardware
INPUTs: Light Sensor, Button and IR Receiver on board and an Ultrasonic Sensor module and a Line Follower Sensor Module. The modules plug in via RJ25.
OUTPUTS: 2 RGB LEDs, Buzzer, IR Transmitter, 2 motor ports on board.
Each kit comes with either a WiFi or Bluetooth module that sits on mainboard headers.
POWER: Standard female DC power jack or standard Lithium 2.0 connector.

The sensors plug in to RJ25 jacks and the motors have 2 pin JST connections. There are 4 available RJ25 jacks. 1 and 2 contain Arduino I/O pins 9 through 12. 3 and 4 contain Arduino A0 through A3 pins. There is an ICSP header. There are no other I/O ports supplied. There are solder points for two 0.1" x 6 headers. On the left is A0, A1, A2, A3, SDA, SCL and on the right is GND, 5V, 9, 10, 11, 12.

The kit also comes with an IR remote (requires a CR2025 cell), a USB cable and a hex driver for assembly. Putting it together takes no time. The main board needs to be removed to change batteries if you are using AA cells. The main board supports charging Lithium batteries which are not included but might make a wise investment considering the way DC motors use up battery power.

Straight out of the box I had the mBot running in no time. The default program lets you control the mBot via Bluetooth (or WiFi), or via IR or it can be set to autonomous run around and avoid obstacles mode or line-following mode. I like the mBlock IDE because you can quickly program the mBot using Scratch-like blocks and see the Arduino C code result in the right hand window. This makes for an easy transition for grade 9 or 10 students who have used Scratch and want to start coding in C.


I think the mBot is a good platform for teaching robotics, interfacing or Arduino to grade 9 and 10 students. The price is very good. We purchased a similar all-in-one platform a few years ago that needs to stay tethered via a USB cable to work. The old platform engages students but can be frustrating because the tether cable limits motion. The mBot should be operated on the floor but drops and kicks will be inevitable. The mBot is very robust. The metal chassis can handle some pain. Parts like wheels and DC motors are easy to replace. The kit comes in a handy reusable box that can hold the mBot after assembly and stack in a cupboard.

I usually shy away from endorsing products but this unit deserves mention for its competitive price and ease of use. I would recommend these to anyone starting out high school Computer Tech or Robotics classes. A class set might be impossible to budget in one year but as I always recommend - have a plan. Buy 2 or 3 a year. These units will do a great job at covering many of the learning outcomes in TEJ courses.