Difference between revisions of "Upgrade PineTime to InfiniTime 1.0.0"

From PINE64
Jump to navigation Jump to search
(Update both bootloader and recovery loader links)
(Add OTA instructions with Amazfish)
Line 14: Line 14:


= Update Process =
= 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 [https://f-droid.org/en/packages/nodomain.freeyourgadget.gadgetbridge/ Gadgetbridge] or [https://play.google.com/store/apps/details?id=no.nordicsemi.android.mcp NRFConnect]. Otherwise, if your laptop or desktop computer has bluetooth and runs Linux, you can use [https://github.com/alexr4535/siglo Siglo]. You can also use [https://github.com/alexr4535/siglo Siglo] on your Pinebook Pro or Pinephone if you happen to have those devices.  
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 [https://f-droid.org/en/packages/nodomain.freeyourgadget.gadgetbridge/ Gadgetbridge] or [https://play.google.com/store/apps/details?id=no.nordicsemi.android.mcp NRFConnect]. Otherwise, if your laptop or desktop computer has bluetooth and runs Linux, you can use [https://github.com/alexr4535/siglo Siglo] or [https://github.com/piggz/harbour-amazfish Amazfish]. You can also use this applications 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.  
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.  
Line 45: Line 45:


[https://youtu.be/jnX7WwYDiDE Video showing how to start the update]
[https://youtu.be/jnX7WwYDiDE Video showing how to start the update]


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


=== Amazfish ===
# Run Amazfish (service + UI)
# Pair with you device:
## Unzip the DFU file to extract the .bin file.
## Click on "pair with watch" on the top
## Select "PineTime" (if your device is running InfiniTime 0.7.1 or lower) or "InfiniTime (if it's running InfiniTime 0.8+) and choose your device in the list
# Click on "Download file" on the top
# Click on "Choose file" and select the .bin file you extracted from the DFU file
# Click on "Send file"
# Wait for the update to complete.
[https://video.codingfield.com/videos/watch/41cfcf5d-b0e6-4323-8056-b0a6682d1f25 See it in action!]


== Update the bootloader ==
== Update the bootloader ==
To update the bootloader, you want to flash [https://github.com/JF002/InfiniTime/releases/download/0.14.1/reloader-mcuboot.zip reloader-mcuboot.zip].  
To update the bootloader, you want to flash [https://github.com/JF002/InfiniTime/releases/download/0.14.1/reloader-mcuboot.zip reloader-mcuboot.zip].  
Once the bootloader is updated, you should notice that the boot logo has changed : previously, it was displaying a green "PineTime" logo, and now, it displays a big pinecone that is progressively drawn in green.


=== Using Gadgetbridge ===
=== Using Gadgetbridge ===
Line 64: Line 76:
=== Using Siglo ===
=== Using Siglo ===
In Siglo, you can do this by picking the 0.14.1 tag, and flashing the aforementioned file.  
In Siglo, you can do this by picking the 0.14.1 tag, and flashing the aforementioned file.  
=== Using Amazfish ===
You might need to re-pair with your device by selecting "InfiniTime" (since you've already upgraded to InfiniTime 1.0) in the device type list.




Line 81: Line 97:
=== Using Siglo ===
=== Using Siglo ===
In Siglo, you can do this by picking the 0.14.1 tag, and flashing the aforementioned file.
In Siglo, you can do this by picking the 0.14.1 tag, and flashing the aforementioned file.
=== Using Amazfish ===
Same as above.


= Guides and Videos =
= Guides and Videos =

Revision as of 18:54, 5 May 2021

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 or Amazfish. You can also use this applications 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.

Amazfish

  1. Run Amazfish (service + UI)
  2. Pair with you device:
    1. Unzip the DFU file to extract the .bin file.
    2. Click on "pair with watch" on the top
    3. Select "PineTime" (if your device is running InfiniTime 0.7.1 or lower) or "InfiniTime (if it's running InfiniTime 0.8+) and choose your device in the list
  3. Click on "Download file" on the top
  4. Click on "Choose file" and select the .bin file you extracted from the DFU file
  5. Click on "Send file"
  6. Wait for the update to complete.

See it in action!

Update the bootloader

To update the bootloader, you want to flash reloader-mcuboot.zip. Once the bootloader is updated, you should notice that the boot logo has changed : previously, it was displaying a green "PineTime" logo, and now, it displays a big pinecone that is progressively drawn in green.

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.

Using Amazfish

You might need to re-pair with your device by selecting "InfiniTime" (since you've already upgraded to InfiniTime 1.0) in the device type list.


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.

Using Amazfish

Same as above.

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.