MetaWatch WDS111 – change boot logo

with 15 comments

I bought this Metawatch WDS111 (“Analog”) watch on a discount TI’s Back To School. I decided I will give it more thought when I have time. Yesterday I decided to take it out of the box and figure out first how to program it and find source code. So I searched quite a while and found very few information. Most modifications are on the mobile phone side (Arduino or iPhone).

ti-meta-watch-analogSome technical specifications:

  • MSP430F5438A (256Kb of flash)
  • CC2560 Bluetooth host controller
  • Vibrating motor
  • Three-axis accelerometer
  • Ambient light sensor
  • Dual OLED Displays (80×16 px)
  • Analog Hands
  • 3 Buttons

My introduction into code modification is HOW TO CHANGE BOOT LOGO.

Source code for just this model is on GitHub: Emeryth-MetaWatch-WDS111
My whole MetaWatch Dropbox repository (links, pictures, projects):  https://www.dropbox.com/sh/9w5vuvk6zcmgshv/YB4QG46qtZ (live repository)

First I tried to edit code in IAR for MSP430, but linker was throwing some errors. Then after Emeryth emailed me back I tried Code Composer Studio 5.5 90-day trial.  It WORKS! There is a lot of code. Loading it on a watch takes long time.

I searched for “METAWATCH” in files and found something interesting in Public/Aplication/OledDisplay.c

row | code
70: const tImageBuffer MetaWatchLogoBuffer;
480: DisplayBuffer((tImageBuffer*)&MetaWatchLogoBuffer);
2.714: const tImageBuffer MetaWatchLogoBuffer =

metawatch boot logo

I first partly changed code of MetaWatchLogoBuffer to 0xFF. Which resulted in boot logo change (more active pixels). I found out bits are arranged as in code comment ( little endian, col scan, preferred row, not packed)

My name in MS Paint, saved in .bmp. Next I needed a program online/installer to translate .bmp into hex code. Program on this link: BMP to PIC table for graphic LCD assembly utility does that sufficiently.  After importing image I was able to replace existing boot logo code with mine.

Oled 80x16pxAfter that I really wanted to also change bottom oled. I did that by adding 2nd const tImageBuffer MetaWatchLogoBuffer2 using it in 2nd DisplayBuffer((tImageBuffer*)&MetaWatchLogoBuffer2); I modified const 
tImageBuffer MetaWatchLogoBuffer2 similar to top oled. But something went different. Top 8 rows of logo were on botttom and bottom on top. I switched hex code, but found out that it was mirrored (turns out bottom oled is a vertically mirrored to top). Flipped image in MS Paint and also changed rows later in code and voila -> boot logo with my name on top and Hackaday’s on bottom. Changed time to boot from 2 to 10 seconds.

Youtube video of both boot logos modified:

 

Written by luftek

December 2nd, 2013 at 6:18 pm

Posted in Metawatch

15 Responses to 'MetaWatch WDS111 – change boot logo'

Subscribe to comments with RSS or TrackBack to 'MetaWatch WDS111 – change boot logo'.

  1. Hi…
    How do you think it is possible to implement Bluetooth 4.0 in firmware…

    Roman Sand

    6 Dec 13 at 17:39

  2. hm, I will be looking into this later. They state CC2560 is compatible with 4.0. I will first make standalone time, alarm, vibration, light apps. I am learning as I go. Will you join firmware development?

    luftek

    6 Dec 13 at 20:38

  3. I have this watch for a year, and I always wanted to start development for it…But the time is the problem, soon I will receive arduino i needed to home automation and I will need to do custom firmware for watch to use it…

    Roman Sand

    6 Dec 13 at 20:45

  4. […] was nice enough to demonstrate this smart-watch hack by displaying our name and logo (we love pandering!). It features the MSP-WDS430 which is a […]

  5. I think screen of my watch got dimmer…

    Roman Sand

    9 Dec 13 at 16:32

  6. You can change OLED illuminance level by pulling on middle button and then pressing button B (Next). This helps?

    luftek

    9 Dec 13 at 16:37

  7. no it doesn’t help… I see change only on first 2 levels after it remains same…

    Roman Sand

    9 Dec 13 at 16:42

  8. I watched mine under table lamp (and it seems it changes level).
    You can change levels in code (OledDisplay.c)
    row 200
    0,32,64,96,128,160,192,224,255 //default

    luftek

    9 Dec 13 at 16:53

  9. I think OLED displays are dying like in old SE watches.

    Roman Sand

    9 Dec 13 at 19:35

  10. I read on some forums that OLED are a problem. Hope they last as long as possible.

    luftek

    9 Dec 13 at 20:29

  11. 1 year from Sony Ericsson experience.

    Roman Sand

    9 Dec 13 at 20:33

  12. 1 year of constant use? how much in operational hours?

    luftek

    9 Dec 13 at 22:44

  13. I think max 1h a day in average…Maybe less…

    Roman Sand

    9 Dec 13 at 23:13

  14. I received answer from metawatch they told what don’t support their devices and there is only 1 month warranty because they produce watch for developers. I think this is not right and the defect is in LCD that they put inside that means that their engineers don’t work so good… Personally I wouldn’t recommend
    metawatch to nobody and will never buy any products from them again.

    Roman Sand

    12 Jan 14 at 22:35

  15. Sorry to hear that. I agree no/bad support, bad OLED…
    Hope to get at least some functionality out of it.

    luftek

    12 Jan 14 at 23:49

Leave a Reply