Friend
Friend copied to clipboard
Cloud update for firmware
Firmware on Friend's wearable should be able to be updated via cloud
Ideal scenario: All friend's firmware should check our github folder and auto-update once it has internet connection>
"ok" scenario: Friend's firmware should be able to update via the mobile app "appwithwearable"
User-story: As a user, I want to be able to open Friend's app, connect to my wearable, then click "update". It should update the firmware from github
Resources to help solve the issue: https://github.com/adafruit/Adafruit_nRF52_Bootloader/pull/291
https://enzolombardi.net/adding-ota-firmware-update-support-to-xiao-ble-boards-3db6f034c1fa
https://github.com/0hotpotman0/Adafruit_nRF52_Bootloader
So it looks like with the bootloader in place, we should be able to utilize nordic's swift and java libraries to do the updating for us from the app. Adafruit's bluefruit le connect app is an example (see this dir).
Initial implementation of firmware changes to support the OTA DFU, and a rudimentary button to trigger update from app asset currently in https://github.com/francip/Friend/tree/francip-ota-update-client
Known issues:
- need to instruct current users to update the bootloader to min v0.8.0, preferably to v0.9.0 using uf2 file (instructions in firmware/readme.md)
- need to produce new firmware v1.0.3 uf2 file
- going forward need to produce both uf2 file and a zip file for future firmware versions. UF2 will be used for manual update for advanced users, zip will be used by the app for OTA DFU
- need to add app changes to properly deal with OTA state and progress tracking
https://github.com/BasedHardware/Friend/pull/207
The firmware changes have landed.