Use cases

Use case Robot Android device Wireless network Workstation
On-board developerRequiredHelpfulRequiredComputer with SSH terminal
Off-board developerRequiredHelpfulRequiredPowerful Linux computer
Simulator developerPowerful Linux computer with graphics acceleration

I am a demonstrator

If you plan to use only the demonstrator capabilities of MiRo (i.e. you do not plan to develop your own control software), then all you will need is a MiRo robot and an Android device with which to control it.

I am an on-board developer

If you mean to develop control software on board your robot, you will also need a wireless network[1] and a computer that can connect to MiRo using terminal software. Through this connection you can develop your software to run on the built-in Raspberry Pi.

[1] Multiple robots on the same network will be easier to find if you have sufficient administrative rights to assign unique static network addresses to each one.

I am an off-board developer

If you mean to develop control software off-board (e.g. if your application will be too complex to run in real time on-board, or will involve multiple robots) your workstation will also have to be equipped with ROS (Robot Operating System). Using the robot's ROS interface your software can run on your workstation and communicate in real time with the robot itself. ROS is only well supported on Ubuntu Linux (and similar) and you may need a powerful computer.

I am a simulator developer

If you mean to use the simulator instead of—or alongside—the physical robot, your workstation will have to be powerful enough to run the physics and rendering of the simulator. Any modern workstation with a graphics card is likely to be sufficient, but you will find life much easier if the machine is towards the stronger end (e.g. a quad core with a mid-range graphics accelerator). More lightweight (e.g. mobile) computers may struggle to run the simulator at all. The simulator is supported only on Ubuntu Linux (and similar).



See Commissioning to get started with your robot and connect it to your network and/or Android device.

Android device

Most recent Android devices are likely to be suitable. Specifically, your device must include Bluetooth Low Energy (BLE) hardware and provide Android to at least version Marshmallow.

Wireless network

Any network to which the installed Raspbian Linux system can connect by default will be suitable (usually, WPA2 networks). However, some networks (perhaps those configured in an unconventional way) may require some intervention by the user to get the robot connected. This may involve temporarily removing the Raspberry Pi from inside the robot and connecting a monitor and keyboard to it whilst the network connection is configured.

Internet access

To work with your robot, no internet access is required. However, if you want to update to the latest robot software - this may be required to interface your robot to online applications - you will need the wireless network to have open access to various internet servers. In addition, if you connect your robot to the internet, you are responsible for maintaining its security, to which end the operating system must be kept up to date. OS updates are performed automatically as part of any robot software update, so if you perform a successful robot update your OS has also been updated successfully.

Robot software updates are delivered from Operating system updates are delivered from,


Supported systems

2020 edition

In early 2021 we made the first release of the new 2020 edition, R210210. This edition is based on Ubuntu (or Mint) 20.04 LTS, and will be supported on subsequent LTS Ubuntu releases. We explicitly support ROS at version Noetic and Gazebo at version 11.3 or higher. This edition will not work correctly on earlier operating systems, or with earlier versions of ROS or Gazebo. This edition also moves all systems to Python 3 (Python 2 was sunset in 2020), and retires the 32-bit (deb32) binaries.

2016 edition (legacy)

The final release of the 2016 edition is R210104, and with that release the edition is being deprecated, to be replaced by the 2020 edition. Users not wishing to upgrade their systems may keep using this edition (release R210104 is recommended) but no new features will now be delivered.

We explicitly support Linux distributions Ubuntu and Mint and only LTS editions released in 2016 or later (for instance, in Ubuntu that means 16.04 or 18.04, and so on). We explicitly support ROS at version Kinetic and Gazebo at version 7.14 or higher.

Unsupported systems

We do not offer explicit support for earlier releases or non-LTS versions of Ubuntu or Mint, or for other Debian-based systems. However, we expect that most Debian-based systems will be compatible and will support users of these systems as far as it is reasonable to do so. Generally, if your Debian-based system can install ROS and Gazebo and run them both without problems, it is likely to be compatible.

Non-Debian-based Linux distributions are unlikely to be compatible without considerable work by the end user. The level of support we will be able to offer for users of these systems will be very limited. However we know of no barriers to their use, at time of writing.

If software is to be developed on board the robot, any system supporting a terminal emulator ought to inter-operate with MiRo. This includes Apple and Windows systems, with appropriate software installed, but we do not test compatibility with these systems and cannot guarantee interoperability. We expect that non-Linux systems will be challenging to use with ROS, so that off-board software development may be difficult or impossible.

Please let us know about your requirements, successes, and failures.


We explicitly support only running natively (i.e. not inside a Virtual Machine). In particular, the Gazebo robot simulator may not operate correctly—or even at all—in a VM. We suggest installing Linux as a dual-boot if you are using some other operating system (a Linux install will typically fit comfortably in only 8GB alongside your existing systems).

However, if you do not plan to work with the simulator, you may find working within a VM is just fine. Please do let us know how you get on.


If you plan to develop on-board the robot, any hardware should be suitable. If you plan to develop software on your workstation, something with sufficient power to run that software will—naturally—be required. If you intend to use the MiRo simulator, your workstation must be suitable for running the Gazebo robot simulator (—please refer to the system requirements for that software.