Upgrading Firmware

From Mooshim Engineering Wiki
Jump to: navigation, search

For iOS

Ensure you have the latest version of the app by finding “Mooshimeter” in the App Store. If a newer version is available, please update.

The Mooshimeter iOS app checks our website for the latest version of firmware when it starts up. Make sure your iOS device has an internet connection and start the Mooshimeter app.

To upgrade, you will need to perform a manual reset of the meter and connect within the first 5 seconds of resetting. This is demonstrated in the video below in the “For Android” section. The update will take about a minute.

For Android

Ensure you have the latest version of the app by finding “Mooshimeter” in the Google Play Store. If a newer version is available, please update.

To upgrade from Android, you will need to perform a manual reset of the meter and connect within the first 5 seconds of resetting. This is demonstrated in the video below. The update will take between 3 and 10 minutes.

Legacy Mode

"Legacy Mode" firmware update slows down the process. Uploads in this mode can take between 3 and 10 minutes depending on the phone. The purpose of slowing down the update is to reduce the severity of some of the Android bugs detailed below.

Known Issues

No Firmware Update Prompt

The Mooshimeter App checks on startup for firmware updates at moosh.im using your phone's internet connection (either wifi or mobile). If no connection is available, the app will not offer firmware updates until it is restarted with an internet connection available.

Low Battery Firmware Update Failure

Firmware updates sometimes fail when the voltage of the Mooshimeter's batteries is too low. If the batteries register as < 50% full in the app, or less than 2.5V when checked externally, consider replacing the AA batteries before trying a firmware update again.

Android Service Discovery Bug

If you can see from the LED that the Mooshimeter is in one mode (eg. bootloader mode with a solid 1sec on, 1sec off blink), but the app is indicating that it sees a Mooshimeter in the other mode (eg. application mode), you might be affected by the Android service discovery bug. If you're a developer you can read more about it here.

If you're trying to force the meter in to bootloader mode for a firmware update, you can get around the bug as follows:

  1. Reboot your phone
  2. Open the Mooshimeter app
  3. Reboot the Mooshimeter (press the reset button)
  4. Connect to the Mooshimeter from the app while it is in OAD mode (meter will be giving long slow blinks)
  5. You should now be connected in OAD mode, and the phone should recognize the correct state. Proceed with the firmware update.

If you are in application mode after a firmware update, but the app seems to insist it sees a meter in bootloader mode, reboot your phone.

Android Packet Swapping Bug

This bug is detailed in a blog post here. If

  • the firmware update completes
  • the meter stays in OAD mode
  • the AA batteries are charged

there is a good change your phone is affected. Unfortunately there is no perfect workaround for this bug. Pressing the "Legacy Mode" checkbox slows down the upload and increases the success rate. The best workaround is to borrow an iOS device for the firmware update. iOS is unaffected by the Android bugs documented here.