---
title: "Getting Started With The Micromelon Rover"
date: "2021-06-09"
categories: ["All", "Getting Started"]
tags: []
excerpt: "Crash course on basic rover function, how and what to program and starter activities to attempt."
featuredImage: "/images/resources/getting-started-with-the-micromelon-rover.png"
---

![](/images/content/18fb08-rover-1.png)

### The Micromelon Rover

The Rover is a versatile tool for learning robotics and programming designed by the Micromelon team in Australia. It is tough, packed with sensors, and will run for hours. This post will cover the Rover’s basic functions, its included sensors and actuators, and how to program them.  There is also a variety of detailed activities and robotics challenges you can do right out of the box.

### Rover Basics

![](/images/content/97475e-charging-port-26-power-switch.png)

**Turning The Rover On & Off** The ** ON/OFF Switch** is located at the back of the Rover. Use this switch to turn the Rover on. Once turned on, the Rover will beep, the LEDs will light up, and the ** Rover Screen** will show a 4-digit number (the Bot ID) and the battery indicator.

On a full charge each Rover should last around 5 hours of use. It is a good idea to charge your Rover before first use.

**Charging The Rover** The Rover’s ** Charging Port** is located next to the ** ON/OFF Switch**. The Rover charging port is USB-C.

**Charging Class Sets**

School sets come with a 10 Rover charging dock.

![](/images/content/410073-charging-dock.png)

Connect the Rovers to the charging dock with the USB-C cables. Plug the charging dock into any wall outlet. Any Rovers attached to the dock will begin charging.

**Charging Individual Rovers**

Inside Rover box there will be an included USB-C charging cable. Plug the cable into the charging port and connect it to the included power adapter. Other USB power adapters and computers will also work if they can provide sufficient power.

![](/images/content/e57b93-individual-rover-charging.png)

**Charging Tips**

- While charging you can still connect to the Rover, however its motors will be disabled.

- If Rovers are intermittently starting and stopping charging, you may be using an underpowered adapter. This issue should not occur with any power adapter shipped with Micromelon Rovers.

### How To Program The Rover

![](/images/content/1e0bac-laptop-looking-left.png)

Each Rover has 5 different types of sensors, 2 motorised tracks, 8 RGB LEDs, a buzzer, 2 servo motor connectors and a UART/I2C expansion header. All of these are programmable with either the Micromelon Code Editor or the Micromelon Python Module.

The Python module facilitates programming the Rover with any Python capable IDE. If this is your first time using Micromelon, we recommend you use the Code Editor. The Code Editor is the most accessible method of programming the Rover. To learn more about the Code Editor, continue reading below.[ ](/blog)

**The Code Editor**

The Code Editor is the programming environment developed by Micromelon for use with the Rover. Code that you’ve written in the Code Editor can be run on any Rover that you connect to.

**Step 1: Download The Code Editor**

**﻿Step 2: Open The Code Editor & Create An Account**

Once downloaded, install the Code Editor and open it. If you are using Micromelon in your school as a teacher or student, your accounts will be created by your school administrator. If you are using Micromelon outside of a school package, you can create a home account. You can also choose to use the Code Editor in offline mode, although some features require an account (particularly in the Micromelon Robot Simulator).

**For School Users**

If you are the school admin, you should have instructions on how to create accounts from Micromelon. If you aren’t the school admin, you can have the school admin create your account.

**For Personal Users**

Press the ‘Create Account’ button and fill in the details for your account.

**Step 3: Turn on Bluetooth & Connect To The Rover**

Now that your Code Editor is set up, you can connect to a Rover and begin coding. Make sure your device’s Bluetooth is turned on as Bluetooth is required to connect to a Rover. Once your Bluetooth is on, turn the Rover on. The 4 digit number on the Rover screen is the Bot ID. Enter the Bot ID into the Bot ID box in the code editor and press GO!

![](/images/content/b64a9f-connect-diagram.png)

Only one Code Editor can be connected to a Rover at a time. To disconnect a Rover from the Code Editor press the Unlink button or turn the Rover off.

**Step 4: Code Editor 101**

You’ve now connected the Rover and it’s time to start programming the Rover with the Code Editor.

Block programming is done in the **Block Editor**. Drag in blocks from the** Block Catalogue**. Alternatively, you can write Python code in the** Text Editor**. You can find information on the Micromelon specific Python functions that are available to you in the** Function Dictionary**. Once you’ve written some code you can run it by pressing the** Run Code ** button. The code will be executed by the Rover connected to your Code Editor. Any errors or print messages will appear in** The Console**.

![](/images/content/ce58d3-annotated-software.png)

### Writing Your First Line Of Code

Now that we have the basic layout of the Code Editor and a connected Rover, we can begin coding. Let’s write a program to move the Rover forwards to become familiar writing and running code.

**Editing Blocks** In the Code Editor, look over to the ** Block Catalogue** and find the ** Movement** category. Click this to expand the category. Find the ** Move Forward 10 cm** block. Click and drag this code block over and place it into the Block Editor area. We want to attach this block to the orange Start Block.

Note: Any blocks we want to run need to be attached to the orange Start block. Blocks not attached will not be run by the Rover.

We’ve written our first line of code using blocks, now let’s edit some Python.

![](/images/content/ccdec4-dragging-in-blocks.gif)

**Editing The Python** The Python in the Text Editor should have updated. Look to the Text Editor on the right, and you should see the code ** Motors.moveDistance(10)** on the first line. This is the same piece of code we just created with our blocks, but now it is represented in Python. All of the changes we make to the blocks will translate to Python and vice versa. Let’s edit the Python now.

The number 10 in the brackets is the number of centimetres the Rover will move. In Python we call this an argument. Let’s change this 10 to a 20. Our code will now make the Rover move 20cm instead of 10cm. Once we change this the Blocks will update to reflect the change.

![](/images/content/1be565-seeing-change-to-code.gif)

![](/images/content/831184-running-the-code.gif)

**Running Our Code**

The only thing left to do now is run the code. Press the Run Code button in the top right. This will send our code to the Rover and it will move forward 20cm. Make sure you place the Rover somewhere with enough space, so that moving forward 20cm won’t cause it to crash when you run the code.

If you need to stop a running Rover, you can click the ‘Stop’ button that replaces the ‘Run Code’ button in the Code Editor. You can also press one of the buttons on the Rover to stop it.

### What Parts Of The Rover Are Programmable?

As mentioned before, the Rover has 5 different types of sensors, 2 motorised tracks, 4 RGB LEDs, a buzzer, 2 servo motor connectors and a UART/I2C expansion header. All of these are programmable from the Code Editor. Let’s look at what each of these do.

![](/images/content/e87758-actuators.png)

**Actuators**

**Motorised Tracks**

The motorised tracks allow you to move the Rover around. You have control over both tracks and can control direction and speed of motors.

Blocks to program the motorised tracks are found in the **Movement** and ** Advanced Movement** categories of the ** Block Catalogue** in the Code Editor.

**Buzzer & LEDs**

Program the buzzer to play sounds and the LEDs to illuminate colours. These can be used to signal changes in robot behaviour or coordinated with motor movements to create music or dance.

Blocks to control the LEDs and Buzzer are found in the **Lights/Sounds** category of the ** Block Catalogue** in the Code Editor.

![](/images/content/7f2ef4-sensors.png)

**Sensors**

The sensors will help you program your Rover to respond to its environment, including objects, surfaces, and the orientation of the Rover.

Blocks to control all of the sensors discussed here can be found in the **Sensors** category of the ** Block Catalogue** in the Code Editor.

**Ultrasonic & IR Distance Sensors**

The ultrasonic and IR distance sensors are located on the front and sides of the Rover. These allow you to check distance (in centimetres) of objects from the sensors. These sensors allow you to check if there are obstacles at the front and sides of the Rover and how far away the obstacles are.

**Colour Sensors**

There are three colour sensors located on the underside of the Rover. The colour sensors can help you determine the colour of the surface the sensors are driving over.

**Accelerometer & Gyroscope**

The accelerometer and gyroscope allow you to determine the Rover’s current orientation in space and changes in velocity as well as rotation.

**Rover Sensor View**

When planning the code you are going to write for the Rover, it is useful to be able to see what the Rover sees.  When you are connected to the Rover in the Code Editor, you can click the Rover icon to the left of the Bot ID to open a live view of what every sensor is currently reading.  This can be useful for calibrating your sensors and debugging your code.  The sensor values can also be cycled through on the Rover screen using the buttons on the Rover.

![](/images/content/5611d1-opening-sensor-view.gif)

![](/images/content/19535e-expansion.png)

**Expansion**

The Rover has built in capabilities for attaching your own external attachments and electronics.

Blocks to interface with the Servo and UART/I2C connectors are found in the **Expansion** category of the ** Block Catalogue** in the Code Editor.

### Ready To Begin Programming? Here Are Some Activities

**Beginners**

If this is your first time using Micromelon or you are still becoming familiar with how to control the Rover, here are some good starter activities.
