Upgrade PineTime to InfiniTime 1.0.0

From PINE64
Revision as of 09:21, 5 May 2021 by Pfeerick (talk | contribs) (→‎Install the recovery firmware: Reinforce don't update recovery firmware before bootloader)
Jump to navigation Jump to search
Page under construction, information subject to review and feedback.

Congratulations on receiving your new PineTime!

From the factory, it ships with InfiniTime 0.7.1, and an older bootloader. So now you're probably wondering exactly how on earth do you go about upgrading your watch to the latest and greatest version of InfiniTime - you know, that version you've seen all those great pictures, videos and reviews of. To those that of us that are developing stuff for it, its pretty easy and straightforward, but like with all technology, it is a bit tricky.

Warning: Some people ran into issues during the update process that would temporarily make their watch unusable (display frozen or blank). The only know workaround consists of waiting for the battery to drain completely and try again. With the display off, and battery fully charged, you can expect a wait of 5-7 days so it is best to not fully charge it. If it freezes with the display on, it will likely be flat by the end of the day. We've never heard of any PineTimes that were permanently bricked (were not recoverable), though.

In a nutshell, you need to:

  1. Charge your watch, but not to 100% - keep it at approximately 50% - for the reason described above.
  2. Update InfiniTime
  3. Update the bootloader
  4. Install the recovery firmware

Update Process

So how do you do this? Where do you start? Well, with a sealed PineTime, your only easy option is via Over The Air (OTA) Device Firmware Update (DFU), which is done via Bluetooth. There are a couple of different ways and apps you can use to do this. If you have an Android device, you can use Gadgetbridge or NRFConnect. Otherwise, if your laptop or desktop computer has bluetooth and runs Linux, you can use Siglo. You can also use Siglo on your Pinebook Pro or Pinephone if you happen to have those devices.

The reason for installing the updates in the the specified order is because newer versions of InfiniTime have a more robust bluetooth update process, and since we're updating everything over Bluetooth, the less retries and failures from that you have the better. It will still sometimes disconnect mid update, meaning you'll need to try again, and possibly restart the watch a few times as well. And since the recovery firmware is new to the 1.0.0 version of the bootloader, it's best to update that last.

Update InfiniTime

To update the main InfiniTime app, you want to flash pinetime-mcuboot-app-dfu-1.0.0.zip.

Gadgetbridge

  1. Download the aforementioned file to your phone.
  2. Find the file in your file manager.
  3. 'Open With' Gadgetbridge F/W Installer (method varies by device) - on my phone, it is press and hold, select the file, and then choose 'open with app' from the more options menu
  4. If Gadgetbridge gives an 'Element cannot be installed' error, add '.fw' to the end of the downloaded zip file, and try again.
  5. Confirm that you wish to apply the update
  6. Wait for the update to complete

Video showing how to start the update


NRFConnect

  1. Download the aforementioned file to your phone.
  2. Open NRFConnect
  3. Scan for for your device
  4. Connect to it
  5. Choose the DFU option at the top right of the screen
  6. Ensure the 'Distribution packet (ZIP)' option is selected, and press OK
  7. Select your previously downloaded file
  8. Wait for the update to complete

Video showing how to start the update


Siglo

In Siglo, you can do this by picking the 1.0.0 tag, and flashing the aforementioned file.


Update the bootloader

To update the bootloader, you want to flash reloader-mcuboot.zip.

Using Gadgetbridge

Same as above.

Using NRFConnect

Same as above.

Using Siglo

In Siglo, you can do this by picking the 0.14.1 tag, and flashing the aforementioned file.


Install the recovery firmware

Warning: Don't do this before updating the bootloader, otherwise your PineTime will freeze at the end of the process, and you will need to wait for the battery to go flat

To install the recovery firmware, you want to flash pinetime-mcuboot-recovery-loader-dfu-0.14.1.zip. You will know when this is running when it shows an InfiniTime logo with a progress bar running across the bottom whilst it is installing the recovery firmware.

Using Gadgetbridge

Same as above.

Using NRFConnect

Same as above.

Using Siglo

In Siglo, you can do this by picking the 0.14.1 tag, and flashing the aforementioned file.

Guides and Videos

Troubleshooting

Sometimes during the update process, the connection will drop, and the update will fail. Your PineTime isn't broken, most likely the Bluetooth link dropped for a moment, so just try again. Try rebooting your phone, if it keeps failing, try restarting the watch by holding the power button down for approximately 8 seconds. Try to avoid holding down the button with the screen off. Or try with another device, just in case there are compatibility issues.

Version 1.0.0 of InfiniTime is merely the first version that was considered sufficiently feature complete and stable enough for daily use. This isn't to say there aren't still bugs present ('cause there are!). So there are a few bugs still present in the update process and the bootloader. One unfortunate bug appears to be that sometimes when the watch tries to restart after an update, the bootloader locks up, and the watch won't turn on. In this case, you will need to wait until the watch battery goes flat, in order to force the watch to reset. This will most likely involve waiting for a week, and then when you put the watch on the charge cradle, it will power up and you should be right to try again.

If you get stuck, or have any questions, join us on your preferred chat platform or on the product forum. There's usually someone available who can help, or will get back to you in a few hours.