Archive for the ‘Pebble’ category

Pebble Watch Screen Tearing Fix (with lots of pictures!)

February 1, 2016

I’m a big fan of the original Pebble Watch. Day-to-day it allows me to keep my phone in my pocket while still getting my notifications and controlling my music and its long battery life at around a week negates the fact it doesn’t have fancy graphics. I’ve even coded an app or two for it.

The only annoying thing about the Pebble is the infamous screen tearing issue. I’m on my third Pebble in three years and every single one has succumbed to this intermittent issue within a year:

CL-h7ILWwAAxPfJ

Click to Enlarge

Credit to Pebble – they’ve carried out two free replacements for me so far with no arguments. One of those was out of warranty. They didn’t even want the broken one back the second time around. So now I’ve got two Pebbles with the annoying screen tearing issue.

I was sure Pebble would do a fourth replacement if I asked nicely. However, this seemed very wasteful for what could be a simple issue to fix myself. Indeed I’d seen a few forum threads like this one describing how I could go about making a fix myself. Based on these I set about fixing both my Pebbles with only a few tools. Each Pebble took less than three minutes to fix. With a little care you can do the same.

This is my step-by-step guide to fixing the screen tear issue. I’ve included what I didn’t see in any of the guides I read – lots of pictures covering each step.

1) There’s some stuff you’ll need as pictured. Left to tight we have a small flat head screwdriver (I use an electrical screwdriver), a small Torx screwdriver (I used a size T4), an edged plastic tool, some masking/painters tape and some scissors.

The only stuff I had to buy was the Torx screwdriver and the plastic tool. I ordered a really cheap mobile phone repair kit from Amazon (only £3) to get these.

20160201_185207

Click to Enlarge

2) You’ll also need a broken Pebble. Flip it over and you’ll find four small screws, one in each corner. I believe the original KickStarter Pebbles have no screws and are therefore probably glued together so I’m afraid you are on your own if you’re one of the early adopters.

20160201_185317

Click to Enlarge

3) Use the Torx screwdriver to remove all four screws.

20160201_185524

Click to Enlarge

4) Put them somewhere safe as they are tiny and look really easy to lose.

20160201_190210

Click to Enlarge

5) Next is the tricky bit. Take the plastic tool and prise the back cover off. Be very careful here as you don’t want the back cover to come completely off yet (and if it does your Pebble will be completely broken as a result. You’ll see why in the next step). Just break the seal all the way round and lift the back case no more than a few millimetres.

20160201_190439

Click to Enlarge

6) Slowly prise the back cover away from the top and take a look inside your Pebble. Looking at it from the top you’ll find a small, round vibrator on the lower left-hand corner. This is glued to the inside of the back cover and attached by two tiny wires to the main body of the watch. It looks really easy to snap these wires if you pull the back cover away from the watch too far.

20160201_190643

Click to Enlarge

7) Instead use the small flat head screw driver to prise the vibrator off the back case.

20160201_190604

Click to Enlarge

8) Now completely remove the back case. The vibrator will remain connected to the Pebble by its wires when you do this.

20160201_190757

Click to Enlarge

9) Push the vibrator back down into the case. Then take a length of masking tape and fold it over on itself four of five times. Cut the folded tape to be the same width and height as the bottom compartment of the Pebble not including the tall gold section on the left side.

20160201_191124

Click to Enlarge

10) Place the masking tape into position as pictured.

20160201_191148

Click to Enlarge

11) Finally reattach the back case and replace the four tiny screws using the Torx screwdriver.

You should now have a jagged screen free Pebble. It probably isn’t water proof anymore but at least you can read the display.

 

Advertisements

“F Weather” Pebble Watch Face

March 21, 2015

Hot on the heels of my Cirrus Pebble WatchApp I’ve just completed another creation for the Pebble: “F Weather”. F Weather is my homage to one of my favourite web sites: THE FUCKING WEATHER. THE FUCKING WEATHER tells the weather like it is and so does F Weather except it does so for your current location:

Click to Enlarge

Click to Enlarge

There are a few differences between F Weather and my Cirrus WatchApp. First of all this is a watch face rather than a watch app so it’s not interactive (but then again it doesn’t need to be interactive to relate the current temperature through the medium of swearing). Secondly F Weather is written in C and PebbleKit JS. This makes it much faster than the PebbleJS based Cirrus WatchApp. I haven’t written any C for 13 years or so and thoroughly enjoyed getting back into it.

Current conditions are looked up from Yahoo’s RESTful query services which involves two calls.

The first call takes the current longitude/latitude position available to the Pebble and looks up the corresponding WOEID and city name:

https://query.yahooapis.com/v1/public/yql?q=select city, woeid from geo.placefinder where text=”40.87,-74.16″ and gflags=”R”&format=json

The second call uses the WOEID to look up the current temperature:

https://query.yahooapis.com/v1/public/yql?q=select item.condition.temp from weather.forecast where woeid=12760611 and u=”c”&format=json

This process is repeated every 15 minutes.

My code is open source and hosted on github. It can be found here: pebblec-watchface-fweather. The install PBW can be found under Releases.

Cirrus Pebble WatchApp for Weather Display Live

January 17, 2015

I don’t mind admitting that I am a bit obsessed about the weather. I am especially fastidious in keeping up with the current conditions where I live. This has manifested itself in several of my recent coding projects that display data from my weather station including my own web site, a web service, a PiFaceCAD based console and an android app widget.

I bought a Pebble smart watch last year on a whim and have found it useful for its notifications of texts, emails and phone calls (I keep my phone on silent so the Pebble’s vibration based notifications are especially handy). Given I have access to my weather station’s data on all of my other devices doing the same with the Pebble was a logical choice for a new project.

Previous weather projects I have written have directly fetched and processed Weather Display Live’s clientraw.txt file. For my Pebble watch application I wanted to make more use of my own web service. This would simplify the coding process as the service, unlike clientraw.txt, exposes weather data in a well-defined structure and many different measurement units. In addition PebbleJS toolkit has built-in support for making http calls to JSON-based web services.

I coded the application in Javascript using the CloudPebble website. For a browser based IDE CloudPebble is very feature rich with syntax highlighting, github integration and logging. It also has the ability to deploy directly to a pebble watch provided you have a paired smart phone for the watch on the same wireless network as the computer running CloudPebble.

The only other code that was required was a web page to expose configuration settings for the application. This currently has to be hosted on the web. In my application’s case this page allows the configuration of the web service URL and a choice of metric or imperial weather measurement units.

The finished application makes use of the Pebble’s menu UI. It populates a top-level menu of current weather data including temperature, surface pressure, humidity, rainfall and wind. Selecting any of these top-level menu items displays a sub-menu of more in-depth information for the particular measurement including daily high and low values.

As usual my code is open source and hosted on github. It can be found here: pebblejs-watchapp-cirrus.

Click to Enlarge

Click to Enlarge