1
Getting Started with mBlock
by Wang Yu, Product Manager at Makeblock
Getting Started with mBlock
2
What is mBlock
You write programs to control your computer. To do that,
you need to know the languages of the computer - Java,
C, or Python are among those. If you want to control a
robot, probably you need to know Arduino C++ or a
similar language.
mBlock comes to help. You can write programs by
dragging and dropping building blocks. Furthermore,
with mBlock, you can not only design games and visual
effects in your computer, you may also write programs to
Arduino based robots.
mBlock and Scratch
mBlock is an open source branch of Scratch, a graphic
programming language developed by MIT Media Lab Lifelong
Kindergarten. That means you can make almost all Scratch
projects and open almost every Scratch files in mBlock; besides,
you earn the possibility of working with Arduino based robots.
mBlock and Makeblock Makeblock, the company making the famous mBot and construction kits for makers, is the one who translated Scratch into mBlock. Currently mBlock is actively maintained by Makeblock. But as an open source project, mBlock embraces a larger maker and educator ommunity by providing features like extension center, supporting not only Makeblock’s products by also arduino boards, Seeed Studio kits, Littlebits and more.
Tips
Tips
Controls pictures
(“Sprites”) on the screen
Controls robots and
Arduino boards
Getting Started with mBlock 3
mBlock can be downloaded for free at
http://www.mblock.cc
It supports windows and mac. Linux users can use an
online beta version located at:
Getting mBlock
“Windows Download” button.
After that, open the .zip file, and drag the mBlock.app to your
Applications folder.
After downloaded, click on the downloaded file or
double-click it in the windows explorer.
For Windows Users
For Mac Users
Virus?
Some old anti-virus software may claim mBlock as a virus. In this
case you may need to close that software before installing. Every
mBlock version is thoroughly tested, but since mBlock operates
with the hardware (Robots), some anti-virus software are just
vigilant about this kinds of software.
Mac OS Sierra
For the latest Mac OS Sierra
Users: When opening mBlock
the first time, you need to go to
the “Application” folder, right
click mBlock icon, and choose
“Open” to avoid the “unknown
source” error.
Tips
Tips
Drag
Getting Started with mBlock 4
A tour around mBlock
Open mBlock and you’ll see the following interface. You
may try to experiment around.
The “Stage” to
hold drawings and
moving pictures (we
call those pictures
“Sprites”)
The Sprite panel.
You can create new
sprites here. Drag blocks from
here to the script
zone.
the “script zone”,
where you place
your command
blocks.
Switch between different
types of command blocks.
Arduino and robot related blocks are located here.
Save or load
project files.
Connect to your robots
or upload firmware.
Select which type
of hardware you’re
using
Introduce new blocks by
downloading extensions.
Getting Started with mBlock 5
As a branch of Scratch, everything you learnt from
Scratch works with mBlock.
As a brief introduction, this guide will provide an
example on the Scratch part of mBlock.
Playing with Scratch
Open mBlock, and place the blocks as shown in the picture Scratch also has the drawing function. Complete the following
program, click the green flag, and let the Panda draw a star!
Click the green flag on the top of the screen, to let mBlock run
your program. You should see the Panda “walks a small step”.Drag from the
“Events” group
This changes the picture
of the Panda, creating a
“walking” effect
Drag from the
“Looks” group
Click here
From the “Pen”
group
From the “Control”
group
Change this to 144
Getting Started with mBlock 6
The primary reason of using mBlock is its power to
control and program robots. Here is a short guide of
how to connect it in several methods.
Connect Your Robot / Boards
Connect through the USB cable
Open mBlock, click on the “Board” menu, and select the type of
robots or boards you are using.
For Windows Users: From the menu bar, select Connect, Serial
Port, and the item like COM1 listed there. You may need to try
multiple times if you have more than one devices connected.
For Mac Users: From the menu bar, select Connect, Serial Port,
and the item like MakeBlock. You may need to try multiple times if you have more than one devices connected. If you are using mBlock the first time, select “Install Arduino
Driver” from the connect menu. This will install the programs
necessary for communicating between the computer and the
robot.
Note for Mac OS Sierra users: Please skip this step and follow the
instructions in this article:
This is because Apple changed the way drivers work in their new
operating system.
1
3
2
For Arduino Boards
(for example)
For mBots
-
Note: Not for the latest Mac OS Users!
Getting Started with mBlock 7
The 2.4G dongle is a nice way to control your Makeblock
robots wirelessly. It comes in a dongle for your computer,
and a 2.4G module for your robots.
Connect through the 2.4G dongle
Plug the 2.4G Module to your robot, and turn on the power
switch.
Press the button on the top of the 2.4G module, the LED light
should turn from blinking to blinking very quickly.
1
2
While the LED light on top of the 2.4G module is blinking quickly,
plug the 2.4G Dongle into the computer.
After that, the light on the 2.4G Module should lighten on
Steadily. Select “Connect, 2.4G Serial, the Connect” from the top
menu.
3
4
Now you can use your robot freely with the 2.4G
dongle!
Getting Started with mBlock 8
You may try to connect to your boards/robots through
Bluetooth, but this function is still unstable and is not
guaranteed to work in every computer. This is because
Bluetooth chips differ between computers, and operating
systems (eg. Windows 7, Windows 10) treat them in different
ways.
If you wish to try, here is a short guide about connecting boards/
robots via Bluetooth. To finish this guide, you need a computer
supporting Bluetooth, and the Bluetooth function needs to be
enabled from the system settings menu.
Connect through the Bluetooth (Beta)
For Windows Users
For Mac Users
Click “Connect, Bluetooth, Discover”. It will then pop up a list of
discovered Bluetooth Devices. Note that this process may take
around 60 seconds.
If it is the first time you connect this device through Bluetooth,
open the Bluetooth Preference through “Bluetooth Icon,
Bluetooth Preference”.
Select one from the list according to its name. For example, if
you are using Makeblock products, it will have “Makeblock” in its
name. Basically, I am unable to add hr compliance and related things on mBlock. If it asks about “Pairing”, click “Yes” to allow the computer talks
-
Make sure the Bluetooth is “On” in your computer Click on the prompt
to start pairing
Getting Started with mBlock 9
Click on the Pair Button on the right of the device you wish to
connect. For example, for Makeblock products, it usually have
“Makeblock” in its name.
Why Serial Ports?
MacOS does not provide the API (Application Programming Interface, the tool for programmers to work on something) for Bluetooth Devices. Instead, through using drivers, we can map a
Bluetooth device to another type - in this case, serial ports.
Getting Started with mBlock 10
Hello, mBot
This tutorial will guide you through writing the first
program for mBot, Makeblock’s educational robot. If you
are more interested in Arduino, you may jump to the
next chapter.
Connect the mBot with one of the three methods described
above (USB Cable recommended). When connected, it will say
“connected” in the title bar.
Select mBot from the “Boards” menu. This will bring up mBot
related commands in the “Robots” group.
(Optional) From the “Connect” menu, select “Upgrade
Firmware”. Wait until the upgrade is complete. This will allow the
mBot to talk with the computer.
Drag “when (Flag) clicked” from the “Events” shelf; “forever”
from the “Control” shelf; inside the “forever” block, place “say”
from “Look” shelf, then “light sensor” from “Robots” shelf.
With mBot connected, click the green flag, and you will say the
panda “saying” readings from the light sensor. Try cover the
mBot with your hand, and you will see the number decrease.“Upgrade Firmware” and “Reset Default Program”
“Upgrade Firmware” will allow you control the mBot from mBlock,
but it will disable the IR remote controller and switching mode
with the on-top button; “Reset Default Program” will enable
these functions like the mBot has just come from the factory, while
it only support a part of the sensors available in mBlock. If you
buy extra sensors from Makeblock, you may need to “Upgrade
Firmware”.
Tips
Click
See the number
change
Getting Started with mBlock 11
Now let’s try upload a program into the mBot. Drag “mBot
Program” from the “Robot” group, and attach “forever” to
“mBot Program”. You may delete the “When (flag) clicked” block
Select “Edit, Arduino Mode” from the menu. See what happens
Oops, mBlock says “unsupported block found”. This means not
every block can be run in the Arduino Mode.
6
7
Scratch Mode In Scratch Mode, the robot or Arduino board must be connected to the computer in order to run the program. You can use Scratch blocks to create graphics or make games.use Edit/Arduino Mode menu item to toggle between Scratch and Arduino modes This “Say” block can only be used in the Scratch mode; while the “(Repeat) Forever” block can be accessed in both
modes.
- Arduino Mode
In Arduino Mode, the
program is uploaded
into the robot and the
robot is run on its own.
However, you cannot use
graphics from Scratch
since the computer is no
longer there.
Getting Started with mBlock 12
Now let’s try another program. Place blocks as shown below: The
green block is from the “Operators” shelf.
Make sure “Arduino Mode” is selected in the “Edit” menu. Find
“Upload to Arduino” button and click it.
Now unplug the USB cable, put the mBot on the ground,
you’ll find it keeps running forward and turns left when there is
obstacles ahead!
Click
Reset Default Program?
You will find that mBot now does not respond to your command from the Makeblock App or the Scratch Mode in the mBlock. This is because the default program used to talk with these apps is
overwritten by the obstacle-avoiding program you uploaded. You’ll need to update firmware or “reset default program” to let it work again with the Scratch Mode or other Apps.
Hello, Arduino
This guide will give a short introduction on how to
program Arduino boards with mBlock.
Connect the Arduino board through the USB cable, and follow
the steps list on the “Connect through the USB cable” section.
From the “Boards” menu, select the board that match the one
you have. The most popular choice is Arduino Uno.
1
2
Select “Edit, Arduino Mode” from the menu.
Place the following program in the script region
3
4
From the “Control” shelf
Click on the number field
and input 13
From the “Robots”
shelf
Click the “Upload to Arduino” button on the right panel
You will find a LED on the Arduino board starts blinking.
5
6
Click
Why the LED blinks?
This is because in Arduino Boards, PIN13 is connected to an onboard LED; this is usually used as a test device. The program we
wrote tells PIN13 to output high(on) and low(off) every 2 seconds,
resulting in a blinking LED.
Tips
Hope this article helps everyone properly.