Pebble Time Steel


A year ago I made the upgrade to a Pebble Time Steel. I really have fallen in love with the Pebble smartwatch, and Android Wear of the Apple iWatch were no valid candidates due to their shortcomings in battery life & user interfaces. The PTS upgrades the Pebble experience finally with a color screen (though the readability indoors is disappointing), and the smartwatch really looks like a watch now (Pebble OG looked like plastic toy). This thing survives nine days on a single charge which is one of the main advantages of Pebble hardware. I could never support a daily charge cycle on a smartwatch, which makes the Pebble Round (2 days on a charge) a no-go.

However, Pebble Time still has its drawbacks : it carries a large bezel (which is now addressed in Pebble Time 2), and the screen resolution remains far below Android/Apple competing devices.

The largest surprise was the Pebble Timeline in firmware 3.x : it carries your whole daily agenda on a glance within a single button press, and this has become one of the most pleasant features of the smartwatch.



My old PC has survived for 10,5 years : mostly thanks to Linux and its low resource requirements. That is very impressive, but the box started to show its age : boot times up to two minutes, and a hard drive which performed sub-par. Time for a new machine : Intel i7 Skylake, SSD + 3TB HDD and 16GB of DDR4 RAM. Fast and furious.

I made the switch as well from Debian to Fedora : I must admit that I'm quite charmed by Fedora. Stable and on the bleeding edge side (my previous box was Debian Stable based, so your definition of "bleeding edge" may vary). Anyway, Fedora installed without a glitch, and the subsequent upgrade to Fedora24 was one of the fastest PC upgrades I experienced.

The machine is called Nostromo, to the spaceship in Alien. I guess I ran out of pronounceable Tolkien names, and didn't found any suitable Game of Thrones based names. Science-fiction to the rescue.



Even more Pebble adventures ! Now that Skylines was thriving in the Pebble appstore, I decided to generate a watchface for the new Pebble Time, so I had something to show off when my Pebble Time will arrive in August. And what better app could I implement than some colorfull spirographs ?

It took quite a while to finish this : as I didn't had my Pebble Time yet, I had no real hardware to test the app, so I had to rely solely on the Pebble emulator on my computer. Eventually, I came up with a first version which I published on the appstore. However, soon, different people remarked that the app was slow and crash prone. Turned out the app used quite some sine/cosine functions which were the cause of all those slowdowns. Hard to believe that my 20 year old HP pocket calculator was more powerfull than a wearable with a modern ARM chipset !

So it was clear I couldn't use sine/cosine functions. Pebble had a workaround in the SDK with sin_lookup functions which use a precalculated table to come up with this. However, this was mostly oriented to create the movement of analogue watches, and the generated values didn't make any sense to me. So I quickly programmed my own co/sine lookup table, and used the default hypotrochoids equations. This worked a lot better & quicker, but this needed also a lot of iterations to come up with a decent spirograph. And in some cases, the spirograph turned into gibberish. More debugging revealed that this was to events coming in when the Pebble was generating the spirograph, like the flick_wrist_to_update option I added to the watchface.

So eventually, I turned to the default Pebble SDK co/sine_lookup functions, and implemented my own hypotrochoids equations with it. This time, all worked well without any glitches. The result is Spiro, a colorfull watchface for the Pebble Time, and the original Pebble (only in B&W off course)..



Now that my Pebble NMBS app is wrapped up, I decided to have a look at the SDK2 for Pebble, and build a watchface for it. I didn't need to search long for some inspiration for a new watchface : on the Moto360, someone made clever use of the black horizontal bezel at the bottom of the screen, adding some scenery to it, as if it was some shadow (default was a man sitting on a bench in the park). So I took the skyline of Prague, converted it to B&W, and I got my first watchface, which I called Skylines.

The app has been extended currently with skylines up to 30 cities from all over the world. I also included a random mode, where the skyline changes every two hours. Just like you're on a world trip ! I also added a Night mode, where the screen inverts and a beautifull night sky appears between 8pm and 6am.

All in all, programming in C went quite well, considering I didn't touched C during the last 20 years. Only problem was the implementation of the configuration window, which was a bit of a hassle. Turned out I defined my app as SDK3 compatible, which seemed the cause of the errors.



My daughter Lenthe is now 3 months old, and our sleep habits are slowly returning to their normal hours. I'm used to a limited hours of sleep, but 4 hours was way too less for me !


Subscribe to RSS