Software Update Page

Periodically, an updated set of MiRo software will be released, bringing bug fixes and/or enhanced functionality. Updates are published on the Software page of the labs website.

Some software updates will include changes only to the off-board software (the simulator, or the tools for exchanging data with your robot). However, the RELEASE NOTES may indicate that you also need to update the software and/or the firmware on your robot. If so, this page of MiRoApp will help you perform both operations.

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

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

page_software.png

Operating system security updates

As shipped, operating system security updates are installed automatically. Once you have installed release R190828 (or later) on your robot, automatic system security updates are disabled, and these updates will, in future, be performed automatically as part of the robot software update described on this page.

Therefore, to maintain the security of your robot, you should perform a robot software update regularly. If your robot already has the latest software installed, you can still invoke a system security update by choosing to "update" your robot to the already-installed release.

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 configuration

The table shows the software currently installed on your robot. Unless something exotic has happened, you will see that you are on software channel miro2_release and on branch master. The field "Hash" identifies the installed software precisely—support may ask you for this value, in some cases.

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")?

Software update

Can I update my robot's software?

Installed software releaseThe software release installed on your robot is indicated next to the label "MDK" (MiRo Developer Kit). This will read R190211 on brand new MiRos (later production batches may ship with a later software release pre-installed).Latest available software releaseThe latest software release is listed at the top of the Software page—if this is a more recent release, you can update your robot.

Should I update my robot's software?

You only need to update your robot if indicated by the RELEASE NOTES, but there is no harm in updating your robot.

Procedure

  1. Please make sure your robot is fully charged before you begin, in case you run into problems.

  2. To start the update, click on "Update Software" and follow the instructions.

  3. Please be patient—the operation can take a little time, but will provide feedback as it proceeds.

  4. Usually, you will receive a message indicating success—you should immediately reboot your robot by clicking on OK, or by turning it off and on again using the switch.

Please DO NOT click "Abandon", close the app, or move to another app until a notification is given that the software update has either completed or failed.

If something goes wrong

If the update window stops responding (no new messages for ten minutes)...

  • Very probably, the update is proceeding and only the Bluetooth connection has been lost so that the progress messages are not seen.

  • In this case, please leave the robot alone for at least one hour to allow the update to complete cleanly. Updates are almost always completed in this time, but if you can leave the robot for longer please do.

  • You can then safely reboot and reconnect using MiRoApp, and run the update procedure again to confirm that it has completed.

Always reboot after a software update—until you do, the robot may not operate correctly.

If the update fails repeatedly, you can send a report to the support team either when you are offered the chance, or by opening the MiRoApp top menu and selecting "Send Report".

Firmware update

Can I update my robot's firmware?

Your robot also carries embedded software, or "firmware". Two firmware images, "P2" and "P1", are installed, and their revisions should match that of "MDK". If either or both do not, you can update the firmware.

Should I update my robot's firmware?

Like the software, however, you only need to update your robot's firmware if so indicated in the RELEASE NOTES. Usually you will not have to, and we recommend that you do not do so unless it is necessary.

Procedure

  1. To start the update, click on "Program Firmware" and follow the instructions.

  2. Select "Program firmware into P2 and then P1 in sequence", unless you have been advised otherwise by a support engineer.

  3. Please be patient—the operation can take a little time. There is no feedback through MiRoApp—which may drop the connection with the robot—but you will see the lights on the robot changing:

    1. Whilst P2 is being programmed, the illumination lights will flash red, green, blue, across MiRo's back.

    2. Whilst P1 is being programmed, the blue power LED will go out, and the red power LED will flicker rapidly.

    3. Whilst the system is restarting, the red, green, blue pattern will play for a couple of seconds.

    4. Finally, the neck will move to the start position, if it is not already, and MiRo is operational again.

  4. If MiRoApp is still connected, you will receive a message indicating success, or a reason for failure.

  5. Contact support if you are unable to perform this operation.

Always reboot after a firmware update—until you do, the robot may not operate correctly.

The final field, "P1p", indicates the firmware version in the back-up controller; you do not need to update this, unless instructed to do so by support.