Difference between revisions of "Switching your PineTime between InfiniTime and Wasp-os"
(Pictures!) |
(removed NRFConnect because it was removed with the same notice in the GitHub README) |
||
(8 intermediate revisions by 5 users not shown) | |||
Line 7: | Line 7: | ||
Flashing can be done with any of | Flashing can be done with any of | ||
* [https://www.gadgetbridge.org Gadgetbridge] (Android >= 4.4) | |||
* [https://www.gadgetbridge.org | |||
* [https://github.com/piggz/harbour-amazfish Amazfish] (SailfishOS and Linux) | * [https://github.com/piggz/harbour-amazfish Amazfish] (SailfishOS and Linux) | ||
* [https://github.com/alexr4535/siglo Siglo] (Linux desktop and Pinephone) (Use the 'Manual OTA File' option) | * [https://github.com/alexr4535/siglo Siglo] (Linux desktop and Pinephone) (Use the 'Manual OTA File' option) | ||
Line 15: | Line 14: | ||
** <code>InfiniTime/bootloader/ota-dfu-python/dfu.py</code> | ** <code>InfiniTime/bootloader/ota-dfu-python/dfu.py</code> | ||
** <code>wasp-os/tools/ota-dfu-python/dfu.py</code> | ** <code>wasp-os/tools/ota-dfu-python/dfu.py</code> | ||
''Note: We removed mentions to NRFConnect as this app is closed source and recent versions do not work anymore with InfiniTime (the last version known to work is 4.24.3). If you used NRFConnect in the past, we recommend you switch to Gadgetbridge.'' | |||
This guide has been last updated for Infinitime 1.1.0 and Wasp-os 0.4 | |||
This guide has been last updated for Infinitime 1.1.0 and Wasp-os 0.4.1 | |||
== InfiniTime => Wasp-os == | == InfiniTime => Wasp-os == | ||
All the zips you need can be found | All the zips you need can be found from the [https://wasp-os.readthedocs.io/en/latest/install.html#binary-downloads wasp-os installation guide]. | ||
* Make sure the watch is running Infinitime and can be found by your companion device (PC, phone, etc). | * Make sure the watch is running Infinitime and can be found by your companion device (PC, phone, etc). | ||
Line 33: | Line 34: | ||
[[File:Flash-infinitime.jpg|600px|thumb|right|Flashing <code>pinetime-mcuboot-app-dfu-1.1.0.zip.zip</code>]] | [[File:Flash-infinitime.jpg|600px|thumb|right|Flashing <code>pinetime-mcuboot-app-dfu-1.1.0.zip.zip</code>]] | ||
The <code>reloader-factory.zip</code> | The <code>reloader-factory.zip</code> was broken in the original wasp-os 0.4 but was fixed in wasp-os 0.4.1. However the Infinitime binaries are outdated the 0.4 release and I do not recommend flashing these. Older InfiniTime versions have flaky BLE which makes upgrading from there very unreliable. | ||
You can get newer binaries from the wasp-os projects CI system (see the [https://wasp-os.readthedocs.io/en/latest/install.html#binary-downloads wasp-os installation guide]) or alternatively, I made my own containing just the [https://github.com/JF002/InfiniTime/releases/tag/0.14.1 InfiniTime 0.14.1] [https://github.com/JF002/pinetime-mcuboot-bootloader/blob/develop/README.md#recovery-firmware recovery firmware]. This allows you to flash any future release of InfiniTime without having to find a new reloader zip. Get the [https://github.com/Peetz0r/wasp-reloader/releases/tag/infinitime-0.14.1-recovery reloader zip here] and the [https://github.com/JF002/InfiniTime/releases latest Infinitime here]. | |||
* Reboot the watch by holding the button until the pine cone arrow appears. | * Reboot the watch by holding the button until the pine cone arrow appears. | ||
* Flash the reloader zip: <br><code>reloader-infinitime-recovery-0.14.1.zip</code> | * Flash the reloader zip: <br><code>reloader-infinitime-recovery-0.14.1.zip</code> | ||
* After flashing, the reloader will run (blue smaller pine cone), then it'll boot the InfiniTime bootloader (large pine cone) will run. | * After flashing, the reloader will run (blue smaller pine cone), then it'll boot the InfiniTime bootloader (large pine cone) will run. | ||
* Boot the watch into recovery mode by holding the button until the pine cone turns red. It'll boot again (large pine cone will turn green) and then the InfiniTime | * Boot the watch into recovery mode by holding the button until the pine cone turns red. It'll boot again (large pine cone will turn green) and then the InfiniTime logo will appear. | ||
* You can now flash InfiniTime 1.1.0 (or any other version): <br><code>pinetime-mcuboot-app-dfu-1.1.0.zip</code> | * You can now flash InfiniTime 1.1.0 (or any other version): <br><code>pinetime-mcuboot-app-dfu-1.1.0.zip</code> | ||
* InfiniTime should now boot. Enjoy! | * InfiniTime should now boot. Enjoy! | ||
[[Category:PineTime]] | [[Category:PineTime]][[Category:Guide]] |
Latest revision as of 14:42, 15 November 2022
Introduction
Both Infinitime and Wasp-os are very cool OS'es for the PineTime and many people will want to try both. This is possible, even with a sealed device!
Both devices use the same Nordic (legacy) DFU protocol for updating firmware over the air. But the BLE stack and the bootloaders for both are different. That's why we need to use the reloader. However, instructions you find elsewhere (including Daniel Thompsons video) are somewhat outdated.
Flashing can be done with any of
- Gadgetbridge (Android >= 4.4)
- Amazfish (SailfishOS and Linux)
- Siglo (Linux desktop and Pinephone) (Use the 'Manual OTA File' option)
- PinetimeFlasher (Windows)
- ota-dfu-python (Linux CLI) which is included in sources of both Infinitime and Wasp-os
InfiniTime/bootloader/ota-dfu-python/dfu.py
wasp-os/tools/ota-dfu-python/dfu.py
Note: We removed mentions to NRFConnect as this app is closed source and recent versions do not work anymore with InfiniTime (the last version known to work is 4.24.3). If you used NRFConnect in the past, we recommend you switch to Gadgetbridge.
This guide has been last updated for Infinitime 1.1.0 and Wasp-os 0.4.1
InfiniTime => Wasp-os
All the zips you need can be found from the wasp-os installation guide.
- Make sure the watch is running Infinitime and can be found by your companion device (PC, phone, etc).
- First we need to flash the reloader, with the wasp-os bootloader as payload. To do this, flash:
wasp-os-0.4/build-pinetime/reloader-mcuboot.zip
- After flashing, it will boot using the Infinitime bootloader (green large pine cone), then it'll hang for a few seconds, then it'll show the reloader animation (blue smaller pine cone), and then it'll boot the wasp-os bootloader.
- Make sure the watch is on the screen with the pine cone and arrow. If it is in a bootloop instead, then reboot the watch by holding the button until the arrow appears.
- Now you can flash micropython with wasp-os:
wasp-os-0.4/build-pinetime/micropython.zip
- Wasp-os should now boot. Enjoy!
Wasp-os => InfiniTime
The reloader-factory.zip
was broken in the original wasp-os 0.4 but was fixed in wasp-os 0.4.1. However the Infinitime binaries are outdated the 0.4 release and I do not recommend flashing these. Older InfiniTime versions have flaky BLE which makes upgrading from there very unreliable.
You can get newer binaries from the wasp-os projects CI system (see the wasp-os installation guide) or alternatively, I made my own containing just the InfiniTime 0.14.1 recovery firmware. This allows you to flash any future release of InfiniTime without having to find a new reloader zip. Get the reloader zip here and the latest Infinitime here.
- Reboot the watch by holding the button until the pine cone arrow appears.
- Flash the reloader zip:
reloader-infinitime-recovery-0.14.1.zip
- After flashing, the reloader will run (blue smaller pine cone), then it'll boot the InfiniTime bootloader (large pine cone) will run.
- Boot the watch into recovery mode by holding the button until the pine cone turns red. It'll boot again (large pine cone will turn green) and then the InfiniTime logo will appear.
- You can now flash InfiniTime 1.1.0 (or any other version):
pinetime-mcuboot-app-dfu-1.1.0.zip
- InfiniTime should now boot. Enjoy!