This project has been discontinued
As we take on new projects, some of the older ones are no longer updated from our side. This also means that when external domains we link to are no longer maintained or expire we might not have been alerted to it. However, this doesn’t mean that we want you to stop using, exploring or contributing to the projects.
How to flash alternative firmware
IMPORTANT
Please make sure to read the Important information on the Open SmartWatch Project page before you flash alternative firmware. You may permanently damage device by executing the instructions below.
This guide is for advanced developers only. Normal users are strongly adviced not to follow the steps below.
Quick guide
- Install dfu-util.
- Make sure SmartWatch is powered off, then connect the charger cable to SmartWatch.
- Press the SmartWatch power button while inserting the other end of the charger cable to the computer, and then quickly release the power button. This is a bit tricky since the sequence must be completed within one second. This will put SmartWatch in DFU mode. If DFU mode was successfully entered, a green line with a moving dot should be shown at the bottom of the SmartWatch screen (see the picture below).
- Warning! If you perform this step, you will flash new firmware. This may void your warranty and/or any warranty from your operator. If you still want to flash new SmartWatch firmware, write dfu-util -c 1 -i 0 -a 0 -D SmartWatch.dfu in the command prompt on your computer.
- Restart SmartWatch. The new SmartWatch firmware has now been flashed to your device.
Detailed instructions for how to flash new firmware to SmartWatch
The SmartWatch firmware is updated over USB, using the DFU (Device Firmware Upgrade) format. There are several open source tools available to do this, but the instruction above is for the dfu-util tool. The developers of dfu-util offer binaries for Windows, Mac OSX and Linux distributions, and if you want to learn more about how dfu-util works, you can check out the dfu-util manual page.
However, the main dfu-util instructions that are used in this case are:
-l, –list
Lists the attached DFU capable USB devices.
-c, –cfg CONFIG-NR
Specifies the Configuration number for of the DFU device. Note that this is only used for matching. The configuration is not set by dfu-util.
-i, –intf INTF-NR
Specifies the DFU Interface number.
-a, –alt ALT
Specifies the altsetting of the DFU interface by name or by number.
-D, –download FILE
Writes firmware from FILE on to the device.
When the SmartWatch is in DFU mode, you can list the SmartWatch device with the dfu-util.
As you can see, there are two flashable DFU areas on SmartWatch.
- Internal Flash – this is area should be your target when flashing the alternative firmware, as this is where the SmartWatch firmware is located. The area consists of 12 sectors, for a total of 1 Mb.
- Sectors 1-3, 16 Kb, read-only.
- Sector 4, 16 Kb sector, read-write.
- Sector 5, 64 Kb, read-write.
- Sectors 6-12, 128 Kb, read-write.
- OTP area – OTP means One Time Programming. Note! This area should NOT be updated or you may brick the device.
You update the Internal Flash area by specifying the altsetting of the DFU interface. And to be completely sure you are not targeting some other connected DFU device, you should also state the Configuration number and the DFU Interface number.
If you list the device with the dfu-util, you will see that the Configuration number is 1 (cfg=1), the DFU Interface number is 0 (intf=0) and the Altsetting is 0 (alt=0). This is why we get the update command dfu-util -c 1 -i 0 -a 0 -D SmartWatch.dfu
If you run that command, you will get the following result:
This means the alternative firmware has successfully been flashed to the SmartWatch device. Just restart the device and it will now be running the alternative firmware.