Software manager

Updated software to work with your MiRo is published periodically to the MiRo-E Software Page of the CQR Labs website.

Usually, an update to the software on your robot will be published at the same time. You should update your robot to use the new software when you install the new software on your workstation.

To return to the Home page, click the red exit symbol.

Please do not attempt to update your robot's software manually—use the procedure described on this page.

Operating system security updates

If your robot is networked, it is critical that you keep its operating system updated regularly. Whenever you request an update of the robot software, the OS is automatically updated, so you should run a software update regularly even if no new robot software has been published.

Alternatively, you may prefer to set the robot to update automatically at boot. You can select a frequency (e.g. daily, weekly) on the Home page. In this case, the operating system will update automatically as required. Automatic update at boot will slow down the boot process when updates are pending—whilst it is running, you will hear the update melody.

If you do not keep the system up to date your robot is at risk of compromise—please see the Owner's Guide.

Software update procedure

Current software

The table shows the software currently installed on your robot. Unless something exotic has happened, your table will look something like the one shown here.

You can only update the software if the on-board software repository is "clean" (as opposed to "modified"). If you have modified the on-board repository (under ~/mdk) you will have to revert these modifications before you can update. For this reason, we strongly recommend that you do not modify the repository. Updating your robot after modifying the repository may become impossible.
See the related FAQ Why is update not working (software state is 'modified')?

Update software

Can I update my robot's software?

The easiest way to find out is to try. Follow the procedure, and you will be offered the latest release by default. If it is different from the installed release (indicated at MDK in the Current software table) you should update.

The latest software release is always listed at the top of the MiRo Software Page of the CQR Labs website—if there is a new release published there, it will also be available to your robot.


  1. Click on "Update software repository" and wait a few seconds for it to complete.
  2. Click on "Update operating system". A monitor dialog will open which includes a big red cancel button. Hit this button if you want to continue the process later, or if your robot starts to sound the low battery alarm and you need to charge it. Otherwise, the process will take a few seconds to a few minutes to complete.
  3. Click on "Switch MDK release". You will be offered the latest release, which you should usually accept, but you can also show all releases and choose whichever you want, for compatibility with other software.
  4. When the final step completes, the Current software table will update. If you have updated to a new release, you will be instructed to reboot the robot now.
If "Update software repository" fails with "git pull failed", you have insufficient access to the network. Check that the wifi is connected, and that there is not a firewall blocking your access to
If "Update operating system" fails with "failed to install package ...", there may be a firewall blocking your access to updates which come from or

Program firmware

If you have updated your robot's software to a new MDK release, you should program the latest firmware into your robot also by clicking "Program firmware". Usually you can program P2 and P1 together. Various lights will flash, and the process will take around thirty seconds.

After programming, the values P2 and P1 in the table should match the value for MDK.

Not all MDK updates require you to update the firmware, but there is no harm in doing so.
The value for P1p will not update—this is normal.
Under some conditions, MiRoapp will disconnect during or after firmware programming; reconnect and come back to this page to confirm that the firmware has programmed correctly.
Please reboot after firmware programming to ensure correct operation.