Weloop Tommy Smartwatch (FAQ/Updates/Hacks)

Search This thread


Senior Member
Jun 5, 2011

Usage(under linux)
wget https://raw.githubusercontent.com/alvaroalea/ossw-importerwatchface/master/dowatchface.py
chmod +x dowatchface.py
./dowatchface.py original_file.bin ["Optional Name of Watchface"] > file.json

it should also work under windows from python console

Only support digital watchfaces.
Not support additional date formats of .Net creator from xda forum
Look closely at watchfaces mentioned these are without date.

Guys I encourage you all to use OSSW, project matured and its ready to be daily driver.
Generally all builds after april 2016, preferably latest.
Last edited:


New member
Sep 20, 2016
Hi guys,

I have Go Clever , but as i understand its the same as WELOOP.
Today i recieved 6,01 android on my SONY Z2, and from now i recieve only SMS and Call notifications to my watch. Then there was 5 android - it worked perfect.
All the apps like fb are added in notification section, but no notificationa at all.
Reinstaled app, reset the phone, but nothing.

Maybe you have some advice, what im doing wrong.


Sep 22, 2009
My Home
Hi guys,

I have Go Clever , but as i understand its the same as WELOOP.
Today i recieved 6,01 android on my SONY Z2, and from now i recieve only SMS and Call notifications to my watch. Then there was 5 android - it worked perfect.
All the apps like fb are added in notification section, but no notificationa at all.
Reinstaled app, reset the phone, but nothing.

Maybe you have some advice, what im doing wrong.

Unfortunately, the app is not compatible with Android 6, I solved by installing OSSW


Dec 21, 2011
guys i am on 3.19 firmware
and fitness is not working properly

how can i got back to 3.18 firmware
please help


New member
Oct 20, 2016
its so weird that there is no tommy2 seller outside of china, i just ordered a second hand one for myself here, and they already have tommy3. it almost got all the functions i need on paper. Can someone tell me, if i can just change the language to English when it arrives, or do i need to install a custom rom or something. One more thing, i already have a watch, so i wanna use this as secondary screen, is there any way to make watch faces wechat barcode , alipay payment barcode, weather, calendar or something like that?


New member
Dec 23, 2016
I'm a new coder, and I'd like to take weloop as my first project.
First of all is it a good idea? And if anyone have guides/tips..


New member
May 24, 2013
Recently i got to use again my old Chronos Eko and i find out that watchfaces server didnt work anymore, but luckily goclever server worked, but didn't had most of watchfaces and it sometimes dies.... so i made my own :D

i hope someone is going to use it, and its going to be useful, and if anyone have any questions fell free to ask.
  • Like
Reactions: itllsendamsg


New member
Apr 19, 2017
Hi Grzesjam,

I had the same watchfaces problem with my goclever chronos, so I want to follow your solution, any tips?

Thank you


Nov 22, 2014
Server problem?

Recently i got to use again my old Chronos Eko and i find out that watchfaces server didnt work anymore, but luckily goclever server worked, but didn't had most of watchfaces and it sometimes dies.... so i made my own :D

i hope someone is going to use it, and its going to be useful, and if anyone have any questions fell free to ask.

Hi Grzesjam :)

I've taken a look at your solution (https://github.com/grzesjam/weloop-watchface-serverlike):


Simple CMS-like server for own watchfaces for Goclever Chronos Eko and Weloop Tommy in PHP and HTML

1) Usage
Put all files on WWW server, change $URL in watch.php and index.html to correct domain and create "uploads" folder

2) Prerequisites
Any web server

3) Preparing modified version of app
Unpacking app by Apktool
java -jar apktool d [name of apk]

4) Modifying address of server
on Chronos app (in weloop probably in similar place) in
[name of apk]\smali\com\yf\weloop\activities\SendDialActivity$13.smali in 107 line
to "http://[domain]/watch.php"

5) Packing app
java -jar apktool b [name of folder]

6) signing apk
Find on google how (sorry)"

I've done the above things step by step, but when the app is installed and the smartphone is connected with the watch and I click on the "Watchfaces" button, the app attempts to download them for about 2-3 seconds, then the process ends. There are no notifications about any mistakes or anything like that....

I've got a few screenshots from my work:

1. The file which was supposed to be modified.
2. The Apktool app rebuilt.
3. The app signed and ready for use.
4. The server. I used Fenix.

I suppose there must be something wrong with my server....

Any help greatly appreciated :highfive:


Grzesjam contacted me in connection with this problem. That was a very fruitful and terrific conversation where the ideas of high quality were exchanged, and as a result of it the immediate solutions have been implemented. His solution is a fully functional answer in this nasty situation. Additionally, he underlined that everyone who thinks of this solution needs to remember that the server solution that you choose needs to support PHP.

Personally, I chose the solution where my server was really functional and user-friendly, but I didn't read the technical documentation in full and unfortunately it did not support PHP, so that I encountered quite a lot of problems in the beginning. However, everything functions as it should right now.

Many many thanks Grzesjam.


  • P(4).jpg
    54.8 KB · Views: 175
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 16
    The purpose of this thread is to have all information regarding the Weloop Tommy, gathered, fresh and to the point.
    (i am not affiliated with Weloop)
    Please read both post number 1, 2 and search thread before asking questions thank you.

    Q:What is the latest firmware?
    [Release] black watch v3.19 firmware update notifications [Copy link]

    This update to the firmware update, the client does not update the current firmware version v3.18 firmware watches friends can try to use the old client detects the firmware update.

    Solve watches restart, restore factory settings watches language will change.

    Download Link:
    iOS client 2.079: http://fir.im/iosobt
    Android client 1.29.3702b: http://fir.im/andobt

    Unofficial file archive of WeLoop Tommy. APK-Files with ending "b" are BETA http://www.wtf.li/

    Q: When is the next app update
    A: Weloop v. 3.0 will be released as closed beta 7the of March 2015 we don't know when there will be an open english release....

    the extensive update 3.0 have,
    • better health monitoring
    • profiles
    • sleep monitoring
    • more alarms weekdays/weekend
    • and more.
    (see attached pictures for app version 3.0 UI improvements

    Q: What does the settings do?

    - Backlight
    • 24H: Backligth always turns on when button is pressed
    • Nite: Backligth turns on when button is pressed at night time (from 17–8)
    • Off: Backligth Always Off
    - Motion
    • 24H: Motion detection always on (backlight turns on when motion is detected)
    • Nite: Motion detection on at night time (from 17-8)
    • Off: Motion detection Off
    - Night
    • On: Notification vibration disabled at night (from 23–8)
    • Off: Notification enabled at night
    - O Clock
    • On: every whole hour the watch will vibrate. 12'O'clock etc.
    • Off: Off
    - Fitness
    • On: Fitness functionality on
    • Off: Off
    - Language
    • Chinese
    • English
    - Anti Loss
    • On: Alarm when Phone is out of BT range
    • Off: Off

    Q: Is there Cyrillic support
    A: Yes

    Q: The GoClever Ecos Chronos is the same watch right?
    A: Yes it is on the hardware side, and you can with a "hack" install the firmware from the ECOS on the Tommy. (see next post for How to.!)

    Awesome Weloop Review by VECTRON
    WeLoop Tommy Watchface Creator new version released!

    2015/04/30 [v1.10.12]
    * New feature: add date to watchface
    * New feature: generate digit images from fonts (two color combinations)

    * Fixed gallery
    * Faster image loading in gallery
    * Bug fixes














    Download links are in first post. (link)

    Please hit the Thanks button to let me know it works without problems, or if you encounter a problem, please tell me.
    Hi Everyone!
    A few days ago I have started developing a Windows application: WeLoop Tommy Watchface Creator :)
    I don't have much freetime, but I will try to release it here soon.
    It will come with limited functionality, but will add more when I will have time for that ;)
    I hope it will be useful.
    So I've finally got around to starting to look into some stuff, and here's a few bits and pieces I've got so far:

    -Watchfaces are stored on phone in a folder called "DIALS" in the root of the storage (for me it was internal storage, if your phone has an SD card it might be there instead). This folder contains all current watchfaces, as well as preview images. The watchfaces are in .BIN files, the previews are .PNGs.

    -Opening the BIN files in a Hex Editor, made some interesting observations:

    Couple of things to note here:

    1. First 0x14 bytes are largely identical in every dial I've looked at so far [red boxes]
    2. Exception are bytes 0x04 & 0x05 which seem to be an "ID" of some sort for the dial, also found in the file name [yellow boxes]

    -Closer inspection of dial "0108" shows this:

    Obviously this is just a sample, but it's quite clear that this forms the shape of the numbers 22. The files goes through 00, 11, 22...99 and then through them all again, with slight changes (presumably the first are for hours, the second are for minutes?). My guess would be that each of the hex values has a "meaning", it seems like 0xE0 for example comes at the end of a "row", and 0x03 comes at the start. When there's a solid row, it seems to be filled with 0xFF in between the 0x03 and 0xE0, but when only some of the row is filled, different values are used. (Different hex values could correspond to different line thickness perhaps? Just a thought)

    And of course, this is just one dial that I have inspected slightly more closely (and still not that closely, really). For reference, here is the preview image from this dial:

    I have also not yet tried replacing a dial on the device storage and trying to sync it with the Tommy. I don't know if the app re-downloads the files if they're modified or if it would sync a modified one (if it syncs a modified one, it would obviously be more beneficial to reverse engineer the format, not much point in making custom faces if we can't get them on to it).

    Final thing I want to mention is that I have learnt that Android (as of 4.4) includes a built-in bluetooth logging capability. If you go into Developer Options in Settings (if it's not enabled, go into About Phone and tap on Build Number seven times, it'll pop up "you are now a developer" and then go back to settings and Developer Options will be there), there is an option "Enable Bluetooth HCI snoop log", which will dump a log of all packets being sent over bluetooth to the SD card/internal storage. This dump can then be read with a tool like Wireshark. Not sure if it's very useful, but maybe people who know more about bluetooth protocols and whatnot than I do would be able to make some use of it.

    EDIT: Woot, first custom watchface (PoC):

    EDIT: From this PoC, I can confirm that the first instances of each number are for the hours and the second are for the minutes (for dial 0108, anyways). I added the horizontal lines towards the tops of the first instances and towards the bottom of the second to verify this. I assume also that the "left" number is for the left of the screen and the "right" number is for the right of the screen, although I have not yet verified this (seems logical, editing a dial, transferring to phone and syncing takes time so haven't bothered verifying).

    Just to clarify, I got this onto the watch my editing an existing dial and replacing the .bin file in the "DIALS" folder on the root of my internal storage (i.e. the storage accessible over USB).

    EDIT: It's probably also important to note that the dials all have different file sizes, so clearly they all have different layouts etc. My guess would be in the 0x16 bytes that follow the 0x14 bytes mentioned above there are details about the layout (size of characters in bytes and such). It seems (although this could be inaccurate) that the actual dial starts at 0x30, and so the first 0x30 bytes (0x00 > 0x2F) are a "header".

    EDIT: Figured out part of the header, I believe:
    Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
    00000000  0A 0B 09 5C 08 01 00 00 10 00 00 00 00 00 00 00  ...\............
    00000010  30 00 30 00 30 19 30 19 06 02 4A 02 06 56 4A 56
    00000020  40 50 40 50 40 50 40 50 00 00 00 00 00 00 00 00  @[email protected]@[email protected]
    (from dial 0108)
    If you look at offset 0x10, the first 8 bytes are:
    30 00 30 00 30 19 30 19
    Taking these as two byte "words", and reversing the endianess (basically switching the order of the bytes), you get 0x0030, 0x0030, 0x1930 and 0x1930. Which are the offsets for the beginning of the first digit for the hours (0x0030) and the minutes (0x1930). Of course, as I mentioned before, each digit comes as a pair in this dial, so the first two words (0x0030 and 0x0030) I guess refer to the beginning of both the "0" digits for the hour, even though the second hour digit actually begins at 0x38.

    Hope you guys understand what I am talking about here.

    EDIT: Current estimate of header:

    Offset	Length	Description
    0x00	0x04	Magic
    0x04	0x02	ID
    0x06	0x0A	???
    0x10	0x02	Offset for left hour digit
    0x12	0x02	Offset for right hour digit
    0x14	0x02	Offset for left minute digit
    0x16	0x02	Offset for right minute digit
    0x08	0x18	???

    Q: i can not update my watch/its stuck/acting weird

    Have you tried to reset the watch? there are 3 ways to do it

    1. Restart watch from app. under update there is a restart button (it says reset but it restarts and keeps all your settings)
    2. Reset from watch (Last menu point, this resets everything)
    3. Hard reset (connect charge cable and press up and down button to reset)

    Force OTA update:
    1. Connect your watch to the charger. (watch must be charging)
    2. Press all 3 buttons on the side simultaneously
    3. Release the 2 side buttons, and keep the middle button pressed until you get the upgrade connecting display. (this might take some seconds)
    4. Delete connection from phone
    5. Connect and pair from app and upgrade
    6. If you are on an Android device and it cannot connect, try an ios device, and vice versa
    Q: The watch keeps switching back to chinese

    More people have experienced that if the language is non english the watch will reset to chinese. Changing the phone OS to english stops the watch from switching to Chinese.


    How to make your own watchfaces:
    user fcsabika has created a cool tool to create your own watchfaces
    WeLoop Tommy Watchface Creator

    attached are also some watchfaces made by user ruicoel filename "project rui.zip"

    How To install GoClever Chronos ECO firmware on Weloop tommy (android only)
    1. Download latest ECO firmware to phone
    2. Disconnect Watch from phone, install ECO app
    3. Go to “Check For Upgrade”
    4. Tap on the middle circle six times
    5. “Select a firmware file___ [Browse]”
    6. Watch must be in forced OTA
    7. Update watch.
    8. You can flash between weloop and Goclever firmware (always be careful and follow instructions when flashing, i take no responsibility for bricked or exploding watches...)
    9. To install weloop firnware, follow same instructions but use weloop app instead.

    PROJECT OPEN FIRMWARE (please make sure you understand what this is and what it does before you attemtp to flash your watch)
    Make a Weloop Tommy an open source sport watch that can be used without a mobile phone. Want to see a heart rate when running, cycling speed and cadence when cycling or number of laps while swimming? Help to make it possible! LINK
    This project is divided into six phases:
    • Phase 1: find out and document watch pinout so it will be possible to communicate with screen, accelerometer and a flash memory from a custom firmware. DONE
    • Phase 2: write a custom firmware that will print sample text on a screen and expose a BLE service. Firmware will be flashed using SWD connector. DONE
    • Phase 3: make it possible to upload a custom firmware using OTA. This will save the waterproof case from destruction. DONE
    • Phase 4: update softdevice to the newest version (S110 8.0.0). Add possibility to switch to other softdevice (S120/S130) DONE
    • Phase 5: create a "terminal" firmware that allows to control what is displayed on a watch from an android/iOS app. IN PROGRESS
    • Phase 6: create a "standalone" firmware using S130 softdevice that can connect to external sensors (HRS, CSCS etc) without a phone. TODO
    Go support developer Krzysiek

    Goclever APK & FW file is attached to this post.

    Latest Chronos ECO firmware 3.18
    Chronos ECO app (android)
    Chronos ECO IOS app

    BUGS & Annoyances
    • Notification not always deleted from phone when deleted on watch
    • Watch freezes sometimes
    • Being able to set the night time manually would be great (This can be done with the Goclever fw)