Makeblock mBot Neo robot review with Smart World Add-on Pack

makeblock mBot Neo Kit review

MakeBlock mBot Neo, also known as mBot2, is an educational robot that builds upon the previous generation mBot1 robot, and the company has sent us a review sample, following our earlier review of the Ultimate 2.0 10-in-1 educational robot kit, along with the Smart World Add-on Pack.

The mBot Neo features a new ESP32-based CyberPi control board with WiFi connectivity for IoT and AI support. The robot is also equipped with a 2nd generation Ultrasonic sensor with improved object detection accuracy and status indicator, a built-in 4-ch RGB line sensor that can detect colors, as well as a new drive motor that comes with an encoder for more precise motion control.

The mBot Neo robot kit is expandable with metal parts from other Makeblock models, mBuild modules and various electronic modules can be added making it also possible to build custom robots with third-party structural parts. The mBot Neo robot kit is suitable for pupils from elementary up to high school level thanks to (block-based) visual programming, drag-and-drop programming, and more advanced programming in the Python language.

Makeblock mBot Neo robot specifications and key components

The chassis is made of metal anodized blue aluminum metal parts that are colorful, beautiful, and durable.

makeblock mBot Neo Description

CyberPi control board

The CyberPi is the main control board of the mBot Neo robot and was custom-designed by Makeblock themselves. It features an ESP32 WiFi and Bluetooth microcontroller, a 1.44-inch color display, a USB Type-C port for power and programming, a gyroscope and accelerometer, a light sensor, an RGB LED, a buzzer, and a microphone. User controls include an analog joystick, A/B buttons for navigating the menus, and a Home button for selecting various programs of CyberOS.

makeblock CyberPi

mBot Neo Shield expansion board

Equipped with a built-in rechargeable lithium-ion battery, the mBot Neo Shield can supply power to the CyberPi control board and comes with two multi-function ports that can be used to connect servos and DC motors, as well as two additional servo connectors, two extra DC motor connectors, two encoder motor connectors, and a CyberPi port for connecting it tot he control board. MakeBlock also provides Block-Base and Python libraries for the expansion board

makeblock mBot2 Shield

Quad RGB Sensor

The Quad RGB sensor comes with four light sensors with a range of 5 to 15 mm and four “fill light” LEDs to reduce light interference with the sensor from the outside. The sensor can also memorize color values during use.
makeblock Quad RGB Sensor Description

The Auto exposure measurement mode can be calibrated to compare two color values by pressing the button located in the center of the sensor twice. At that point, the lights on the sensor will flash quickly, and you can move the sensor back and forth between the two colors (on the track) until the LED light turns off. This typically takes around 2.5 seconds and the sensor will automatically remember both colors going forward.

makeblock Quad RGB Sensor

Ultrasonic Sensor 2

Makeblock’s second-generation ultrasonic sensor has been improved to increase its detection accuracy. The company also added a neat protective case and a blue LED light that can be used to detect the distance to the objects in front of the robot.

makeblock Ultrasonic Sensor 2


The left side of the sensor comes with an ultrasonic wave transmitter, while the right side features an ultrasonic wave receiver, so when the robot comes close enough to an object it will report the distance with about +/- 5% accuracy.

Encoder Motors

The DC motors have an optical encoder that can count the revolutions of the motor which allows us to precisely control the mBot Neo robot’s wheels up to an RPM speed of 180 RPM. The motors come with two M4 threaded holes on each side for an easy connection to the Makeblock robot’s mechanical parts.


Photoelectric Encoder Motor 180 RPMSpecifications:

  • Gear ratio: 39.6
  • Voltage: 7.4 volts
  • Current without load: 240 mA
  • Current under load: ≤750 mA
  • Idle speed: 350 ± 5% (RPM)
  • Starting speed: 14,000 ± 5% (RPM)
  • Starting torque: 5 g·cm
  • Maximum torque: 800 g·cm
  • Shaft length: 9 mm
  • Power: 3.7 watts
  • Encoder rotation: 360°

Makeblock mBot Neo robot kit content

makeblock mBot2 part list

  • CyberPi control board
  • mBot Neo Shield
  • 1x Ultrasonic Sensor 2
  • 1x Quad RGB sensor
  • 2x encoder motors with 2x cables, a wheel hub, 2x slick tyres, 2x mini wheels
  • Cables – USB Type-C cable,2x 10cm mBuild cables, 1x 20cm mBuild cable
  • Various screws – 4x M.2 x 12 mm,6x M4 x 25mm, 6x M4 x 14mm, 6x M4 x 8mm
  • Screwdriver
  • Line-following Track Map

Software used to program the Makeblock mBot Neo robot

mBlock 5 Editor is a coding platform based on Scratch 3.0, with support for visual programming and Python language, and specially designed for robotics, STEAM, and learning to code. It’s a good coding software for educators, students, creators, and kids. For reference, Scratch is a programming tool developed by MIT and is considered the world’s most popular programming language for kids. mBlock 5 also includes features such as Python programming, AI, IoT, and more.

mBlock5 program

Programming the mBot Neo robot using the mBlock5 Editor

We’ll first need to connect the mBot Neo robot to your computer using a USB Type-C cable plugged into the USB port on the right side of the CyperPi control board.

Makeblock mBot Neo Conect Laptop

Now click on the “add” icon in the “Device” tab, then select “CyberPi” and “mBot2”

mBlock5 Choose Device Cyberpi

We’ll then have access to the mBot Neo robot’s command set from the mBlock 5 interface.

mBlock5 CyberPi All Extension mbot2

Next, click on “Connect” to connect to the robot,  a window will pop up allowing the user to select the COM port, and once done, click on the “Connect” button.

mBlock5 Connect CyberPi

if “Connected!” shows up, the connection has been successful, and we’re ready for the next step.

mBlock5 Connected CyberPi

Programming the display on the mBot Neo

For the purpose of this review, we programmed the mBot Neo to display a test message (“CNX Software”) on the display using different colors.

makeblock mBot Neo Test LCD Display

This is what the test program looks like with block-based programming

mBot Neo Block Base Programing LCD Display

and in Python:

RGB LED programming

Let’s now expand our code sample by programming the RGB LEDs at the from of the robot right under the display. We’ll program each of the five LEDs with a different color.

makeblock Mbot Neo review test RGB Light
Block-based program:
mBot Neo Block Base Programing LED RGBand resulting Python program:

Playing music through the buzzer

The mBot Neo robot also comes with a buzzer, so we wrote a program to play music with various notes (frequencies) and durations.

Block-Bases programming sample program:mBot Neo Block Base Programing SoundPython code:

mBot Neo motor control

As we noted in the description of the Mbot Neo / mBot2 robot, the kit comes with encoder motors and sensors such as an accelerometer. We used those to control the motors of the robot.

Visual programming sample:

mBot Neo Block Base Programing Movement with Encoder and Accelerometer
Resulting Python program:

Time-based movement of the mBot Neo robot

Instead of using sensors to control the mBot2 movement, we can also program it to move in a direction for a specific amount of time. The block-based program below shows how to do that.
mBot Neo Block Base Programing Movement Time DelayPython program:

Obstacle avoidance program

After the basic sample above, let’s now switch to something a bit more fun, as we’ll use the ultrasonic sensor to detect obstacles and make sure the robot does not collide with any object. If an object is detected less than 10 cm away, the mBot2 robot will turn 90 degrees to the left, and if no object is detected, it will move forward at a speed of 50 rpm. Note: additional obstacle avoidance sample programs are available in the example programs in the mBlock 5 program.

makeblock mBot Neo Avoid Obstacle

This seems more complicated, but visual programming makes it rather easy.

mBot Neo Block Base Programing Avoid Obstacle

The Python program is also short thanks to the CyberPi API:

Line-following demo

In the test, we wrote a line-following program using a PID (proportional–integral–derivative) equation to make the mBot2 robot follow the line on the map as best as possible.

Makeblock mBot Neo Line Follower

Example program using visual programming:
mBot2 Block Base Visual Programing Line Follower

Here’s the Python program for this slightly more complex demo:

Play with the Makeblock mBot Neo robot through the Makeblock mobile app.

Makeblock app is available for both iOS and Android operating systems. Once the installation is complete, start the Makeblock app, select the “Device” sub-menu, and then select “mBot2/mBot Neo”.

Makeblock Application Choose Device mBot2 Mbot Neo

Now turn on the mBot2 robot switch, tap on the Bluetooth symbol, and select the Bluetooth MAC address that appears in the app.

Makeblock Application WiFi connection

The app will then try to automatically connect to the robot and report success if everything worked smoothly.

The Play menu enables user to quickly start with the robot without having to write a single line of code.

Makeblock Application Menu Play
Four modes can be selected in the Play menu.

Makeblock Application Play Mode

Mode 1: Drive – It comes with a joystick, buttons to change the color of the RGB LEDs, and various action buttons for example to play sound or move the robot quickly.

Makeblock Application Play Drive
Mode 2: Draw and Run – As its name implies you can draw a virtual track in the app such as the heart below and the robot will run along the map drawn in the application once we tap on the start icon.

Makeblock Application Play Draw and Run

Mode 3: Musician –  This mode will show a small piano that allows the user to play music and also comes with four icons to automatically play birthday or Christmas songs.

Makeblock Application Play Musician
Mode 4: Voice Control. The robot follows voice commands (in English only) with six commands supported at the time of the review

  1. Go Forward
  2. Go Backward
  3. Turn Left
  4. Turn Right
  5. Dance
  6. Stop

Makeblock Application Play Voice Control
The Code menu is used to write code on your smartphone like you would on a computer through the mBlock 5 IDE, and you can also upload the programs via Bluetooth.

Makeblock Application Menu Code
The Code mode will automatically connect to the mBlock app on your smartphone provided you’ve already instead it on Android or iOS.

mBlock Android Visual Programming Code

Smart World Add-on Pack review

We’ve just reviewed some of the features of the mBot Neo robot, but our kit also came with the Smart World Add-on Pack that further enhances the STEAM learning experience with parts and instructions to build a robotics carrier, a surveying robot, and/or a robotics arm.
makeblock mBot Neo and Smart World

Smart World Add-on pack content

makeblock Smart World add on for mBot2 Part

  • 1x Beam 036, 2x Beam 060, 4x Beam 076, 1x Beam 092
  • 1x Slide Beam 016, 2,x Slide Beam 032
  • 6x Stiffener
  • 1x Bracket 3×3
  • 2x Plate 3×6, 1x Plate B 7×9
  • Screws – 15x M4 x 8mm, 8x M4 x 10mm, 5x M4 x 10mm, 3x M4 x 16mm, 2x M4 x 22mm, 2x M4 x 25mm
  • 6x headless set screw M3 x 5mm
  • 2x Brass stud M4 x 8+6mm
  • 2x universal wheels
  • 2x 9g Servo (MS-1,5A)
  • 7x Nut M4
  • 6x Shaft Collar 4mm
  • 7x Plastic Ring 4x7x3mm, 2x Plastic Ring 4x7x2mm
  • 1x Wrench, 1x HEX Allen key 1,5mm, 1x HEX Allen key 2,5mm
  • A 20 cm connection cable
  • 3x D-Shaft 4x56mm
  • 2x color balls

Assembly and test of the mBot Neo’s Robotics Carrier kit

The mBot Neo Robotics Carrier robot can transport things to various points as we program it. In this test, we’ll make the robot move forward for 5 seconds, then set the servo motor at 0 degrees to deliver a package, then set the servo motor at 90 degrees and back for 5 seconds to pick up a parcel (See the video embedded at the end of the post for a demo)

makeblock Smart World Robotics Carrier

Block-based sample program:

mBot2 Block Base Programing Robot Carrier
Python program:

Test and assembly of Makeblock’s mBot Neo Surveying Robot

The mBot Neo Surveying Robot uses servo motors to rotate and find objects. It works with the Ultrasonic 2 sensor to detect the distance of objects and leverages the Quad RGB sensor to detect objects of various colors. (See a working example in the video below).

makeblock Smart World Surveying Robot
Both the block-based program…
mBot2 Block Base Programing Surveying Robot
… and the Python program start to be a bit more complicated:

Makeblock mBot Neo’s robotic arm

The mBot Neo robotic arm can lift and pick up objects through an arm that can go up and down vertically and can catch objects no larger than 15 centimeters. The demo program drives the robot to an object to pick it up and move it to another location. Again, you’ll find a demo in the video below.

makeblock Smart World Robotics Arm

Visual programming demo:
Makeblock mBot Neo Block Base Programing Robotics Arm

Corresponding Python program:

Video review and demo of the Makeblock mBot Neo with the Smart World Add-on Pack

YouTube video player


The mBot Neo educational robot kit and the optional Smart World Add-on pack are ideal for learning to build robots. Whether you are learning by yourself, or are teaching robotics to students from primary to high-school level it’s a good platform to learn programming thanks to its block-based programming and Python support.

The design of the robot is strong and durable, with bright colors, and it can be extended to various structural parts from third parties as well. The new ESP32-case CyberPi control board enables wireless connectivity which makes it more convenient to use for both IoT and AI applications. Software support is good thanks to a complete library that covers all the main features of the robot.

The mBot Neo robot also comes with an encoder motor for precise motor control, a line sensor that can compare lines automatically, and the second revision of the company’s Ultrasonic model that’s an improvement over the previous generation with better stability and accuracy. Some other highlights include a high-quality servo motor, the integration of a compass sensor, as well as both a color LCD display and several RGB LEDs. The robot kit is expandable with support for various MakeBlock modules, and an added advantage over competing solutions is the ability to program the robot both in a computer or smartphone since drag-and-drop programming is also supported in the latter.

We would like to thank MakeBlock for sending the mBot Neo robot kit and Smart World add-on kit for review. The mBot Neo robot kit with the Smart World Add-on Pack can be purchased for $218.99 on the company’s online store. The coupon “NEW10 ” can get you an extra $10 discount.

CNXSoft: This review has been translated from the original article on CNX Software Thailand by Kajornsak Janjam, and edited by Suthinee Kerdkaew.

Share this:
FacebookTwitterHacker NewsSlashdotRedditLinkedInPinterestFlipboardMeWeLineEmailShare

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

ROCK 5 ITX RK3588 mini-ITX motherboard

Leave a Reply

Your email address will not be published. Required fields are marked *

Khadas VIM4 SBC
Khadas VIM4 SBC