How to update Movesense sensor firmware
The Movesense sensor can be updated with the process called DFU (="Device Firmware Update"). The update process takes a "DFU package", which contains all the relevant data, and sends it to the Movesense sensor for the actual programming.
The easiest way to update your Movesense sensor is to use either iOS or Android Showcase App. You can download the installation package for Android from https://bitbucket.org/movesense/movesense-mobile-lib/downloads/. For iOS, the Movesense Showcase App is available in AppStore.
The update process puts the sensor into a "DFU mode" which is recognized with the constantly lit LED. When the sensor is in the DFU mode it advertises with name "DfuTarg", the firmware can be updated with Showcase app or using Nordic Semiconductors "nRF Connect" application. The device also stays in the DFU mode if the update process was stopped in the middle or the sensor doesn't have a valid application for some reason.
Tutorial Videos
Detailed videos on how the firmware update is performed, can be seen in our Youtube channel:
- iOS: https://youtu.be/1I8gd5aSuTA
- Android: https://youtu.be/50YUIiy8q08
Preparing your DFU package
There are two ways of getting a DFU package:
- Choose one from our selection of pre-built sample firmware.
- Build your own application and prepare dfu package. See the build commands here.
Transfer your zip DFU package to the mobile phone and run Showcase app.
NOTE: There are two different DFU packages available: The bigger one is marked _w_bootloader in the name and it contains also the BLE stack (Softdevice) and the bootloader. That version must be used if the bootloader needs to be updated between the two versions (e.g. updating from 1.9.x to 2.x).
Update using iOS Showcase app
- Send the DFU package to your phone with any of the supported methods (email, airdrop, slack, etc.)
- When the package is visible in the phone, choose "Save to Files" and select "Movesense" folder location.
- Open iOS Showcase app
- tap "Connect a sensor"
- Choose sensor on the list
- tap "Connect sensor" and wait until sensor is connected
- tap text "Device Firmware Upgrade"
- You can read detailed instructions by tapping "How to upload a firmware file"
- tap "Select firmware"
- The sensor will go into DFU mode, the LED is lit
- Choose the DFU package from the list
- tap "Select Firmware"
- In "Available DFU Targets" dialog, choose the "DfuTarg"
- tap "Update Selected Target" button that appears
- The update will start. During update the LED either stays on (v 1.9.x and earlier) or blink (v >=2.0).
- when the update has completed, there is message "All Done" and sensor is restarted
- Open tasklist and kill the Movesense Showcase app (just in case) and re-open it.
- Make sure that updated sensor is awake
- Connect the updated sensor (should be listed already)
- tap "Sensor info" and confirm that the correct firmware was installed
Update using Android Showcase app
Note: It is a good idea to kill Android Showcase app before and after DFU process. It is known that sometimes the app goes in a non-connecting state.
- From main screen, tap DFU-button
- tap "Select file" button, and choose the DFU package (.zip)
- tap "Select device" button, and choose the sensor that you want to update
- tap the "Proceed" button in the bottom of the screen
- the phone will connect the sensor, check that the battery is good enough and ask confirmation
- Tap "YES, UPDATE" on the confirmation dialog
- the sensor will go into DFU mode (LED on) and update will start. During update the LED either stays on (v 1.9.x and earlier) or blink (v >=2.0).
-
when the update has completed, there is message "Updated succesfully" and sensor is restarted
-
Open task-list and kill the Showcase app, reopen it and check that new firmware is installed correctly:
- Tap "Movesense" button on start screen
- Make sure that updated sensor is awake, and choose it from the list
- Check the firmware details top of the screen and in the "App Info"
DFU Recovery Mode
There could be situation that build package contains faulty application (it can happen during development process of new application). For those situations there is a mechanism to put Movesense into DFU mode manually:
- Remove battery
- Short circuit AFE pins (studs) and keep them connected (touch with fingers or use some other method)
- Insert battery and make sure not let it disconnect again
- The LED will stay lit for a few seconds and then start blinking
- As soon as led starts blinking, immediately release AFE pins to enter DFU mode (less than 1 second period)
When the Movesense device has entered DFU mode it will be visible as "DfuTarg" with different BT-MAC address.