Primed for PineTime


There’s something about having a watch that’s special. For me, not only is it a good way to tell the time without looking at my phone, it’s also a way to “accessorize” myself (not into piercings or tattoos, gugh…). I’ve owned watches in the past, but I either lost them or they broke after just a few months of having them (the result of buying cheap watches).

These are just standard watches that I’m talking about; smartwatches have the burden of being tied down to a proprietary app on your smartphone in order to get any good use out of them, and what’s more, not only are they generally more expensive than a “dumb” watch, but they also need to be unstrapped from your wrist every week (or maybe every day, depending on what watch you have) and charged so that it can keep telling you the time.

Something about the PineTime struck me though. Not just it’s inexpensive price point ($27 at the time of writing this); but also the fact that this is the first smartwatch I’ve ever seen that’s not powered by Google, Samsung, Apple, or the likes of some other wallet-draining corporation. It’s powered by the community, through open-source software. I can rely on the fact that, as long as the developers stay active, I can keep getting updates to my watch indefinitely, and not have to buy a “second-generation” watch just because the guys at the big corps say, “Well, this watch is two years old now; we have a better model that increases the screen size by about 10 pixels, increases the battery by about 2%, and the vibration is just a hair stronger. You have to buy the new model now because we’re not supporting the older model anymore.”

None of that BS. The beauty the PineTime also has is that it’s not tied down to one specific type of operating system or firmware. I can use different types of firmware depending on my tastes; by default the PineTime ships with InfiniTime (more on that later), but if I want to change to say, WASP OS, that’s possible. Or any other type of firmware/operating system available.

And here’s one more thing: with today’s smartwatches, I wouldn’t be surprised at all if my heartrate and step count was sent on the daily to these big corporations, and then that data be sold to third-parties for whatever nefarious purpose they have with it. Though I haven’t personally looked at the source code to InfiniTime or WASP OS, I’m fairly certain there’s no telemetry behind them, and if there was, I’m certain there would be a lot of backlash for it (think of the time when Muse Group acquired Audacity).

So in a nutshell, with a open-source smartwatch you get the following benefits:

  • indefinite updates
  • the ability to switch between different operating systems
  • the ability to add features if you know how to work with the code
  • more usability without being paired to a smartphone, tablet, or PC
  • it can be paired with a lot more than just your smartphone; it can also be used in conjunction with a PC or tablet
  • no telemetry

And with something like the PineTime, you’re going to have a tough time trying to find a watch that has the same capabilities at a similar price point.

After a review of the original BraveHeart PinePhone, the UBports edition of the PinePhone, and the Pinebook Pro, you probably think of me as a Pine Head. A Pine-noisseur, if you will. Well, I just can’t get over how affordable their devices are, and as of the past few weeks, I have yet another toy from them: the PineTime.

Like the name implies, the PineTime is a smartwatch from Pine64. As of the past few months it’s been possible to get a “sealed” version of the smartwatch; in other words, a consumer edition. Previously, you could get a PineTime, but it had to be the developer edition. As progress matured on the software side, the PineTime is now at a comfortable point in time where they can be sold to the public for end users to enjoy without having to dabble around in coding (although, as I’ll get into here, it’s still lacking a few features).

The “sealed” PineTime currently costs $27. The only way you can get the developer kit is by buying a twin-pack: one sealed version, the other the developer edition. Shipping costs depend on the speed and the location it’s being delivered to: for my location along the east coast in the US, standard shipping costs $11. Expediated shipping is $22. Standard shipping took exactly two weeks: I made my order on August 5, and I got it on the 19th. I just wish Pine64 had a factory in the US, so I don’t have to pay so much for shipping.

The box was in bad shape when it came to my mailbox; fortunately within the box is another box that contains the watch, and this box had no visible damage. Here’s what you get when it’s unpacked:

PineTime kit

So besides the watch itself, we get the charger and a teeny welcome note that offers a quick start guide on how to use the smartwatch, and compatible software companion apps to get even more use out of it.

The watch is built out of zinc alloy and plastic and weighs just a tiny bit more than an ounce at 38 grams. It’s touchscreen capable, and can emit up to 65k colors. The screen measures 1.3 inches and has a resolution of 240x240. It’s powered by an ARM Cortex CPU clocked at 64 Hz, and only has 64KB of RAM (512KB for flash). The battery is 170-180 mAh, and is charged through a proprietary connection on the back, the other end of the cable being USB type A.

PineTime charger

As for the wristband, though the store page doesn’t list the details concering the material, I’m pretty sure it’s rubber. It can easily be taken off from the pins on the back. As I’m looking at the Pine Store right now, there isn’t a wristband that you can order should yours get damaged; I would imagine it would be possible to use other wristbands though if they share the same length.

Whether the watch is waterproof or not, the store page also doesn’t say, but at it’s price point, it’s safe to assume it isn’t. I certainly wouldn’t go into the shower or go swimming with this on. I can, however, say it’s at least water-resistant; I’ve washed dishes with it on and haven’t noticed anything go wrong with it. (I think I’ve also had it on outside while it was raining, but I can’t remember.)

As for features, the PineTime has Bluetooth 5 (Low Energy) connectivity, an accelerometer, a heart rate sensor, and a haptic feedback motor. There’s a single button to the left that turns the watch on or off, or goes back to a previous menu.

Pre-installed with the PineTime is InfiniTime – open-source firmware that does everything you would expect a regular smartwatch to do: tell the time, measure your heart rate and step count, read text notifications, control the playback of your music, etc. So, you don’t need to worry about flashing any OS to your PineTime – you’ll be good to go as soon as you turn the smartwatch on.

PineTime text notification

The PineTime can be connected via Bluetooth to your smartphone, tablet, or even PC. Here’s a sampling of some of the apps available to help connect:

  • Gadgetbridge – for Android
  • Amazfish – for Linux
  • Siglo – for PinePhone (and Linux desktop)
  • NRFConnect – on the Google Play Store and App Store for iOS

InfiniTime actually comes with more features than you would expect. It has a “flashlight” function (all it does is turn the screen from black to a bright white, but it’s better than nothing), a navigation app, a stopwatch, a motion sensor, a “painting” app, pong, and 2048. The clock can be configured as digital, analog, or “PineTime” style; digital and “PineTime” can be displayed as a 12-hour or 24-hour clock.

Sometimes there will be an update for the InfiniTime firmware. When my PineTime shipped, it had version 1.2.0. As of the time of writing this, version 1.4.0 is available. Installing new firmware requires pairing your smartwatch to a compatible device (Gadgetbridge for Android, Amazfish for Linux, etc.), downloading the firmware, and installing it. For Gadgetbridge, this is fairly simple. Gadgetbridge can be downloaded from F-Droid. After pairing the PineTime to your smartphone, you just point your smartphone’s web browser to the download link to the firmware, download it, then run it. Gadgetbridge will open up the firmware file, and you will be prompted to install. Installing the firmware is done wirelessly. That’s all there is to it!

There’s a few other components to the PineTime besides the firmware – there’s also the bootloader and recovery firmware. Installing or upgrading these is similar to upgrading the InfiniTime firmware, but they need to be done in a particular order, or the device may brick. Check the Pine64 Wiki for more details.

As for the firmware itself, you don’t have to use InfiniTime. You can use something like WASP (Watch Application System in Python) OS as well. This isn’t something that I’ve tried yet, but from what I hear it seems to be a good alternative. I just wonder if it suffers from the same Bluetooth disconnects as InfiniTime (more on that later).

Unfortunately with InfiniTime, you can’t use a custom background like you can on most smartwatches. And for a while, you were stuck with a plain black background with white text. As of version 1.4.0, though, you can customize the text and background colors with the “PineTime” style watch face. It’s still not possible to use a custom background, and I would imagine that this is simply not possible due to the tiny amount of RAM in this thing.

PineTime style watch face with custom colors

With the beauty of open-source firmware comes the ability to change and add features as you desire. It doesn’t seem, at least this point in time, anyone has developed a feature for InfiniTime to be able to do things beyond what a normal smartwatch does, besides being able to play pong and a few other games. There’s not much else the PineTime can do that other smartwatches can’t. I don’t think it will take long, however, before someone creates a pull request on the InfiniTime GitHub that could, for example, allow the PineTime to act as a remote for your Linux PC, or act as a way to unlock it. The possibilities will be interesting to see! (There’s already a PR for an alarm clock; hopefully this will be merged with the main branch soon.)

If you happen to not like the font used on InfiniTime, it’s possible to generate a different font, but this requires compiling the firmware from source. As you’ll see in the building instructions, there’s a dizzying array of compilation options here…so I can’t say programming for the PineTime is noob-friendly (but then again, I’m sure someone is going to correct me on that…).

The battery report was inaccurate prior to version 1.4.0. Fully charged would be reported as 89% (or somewhere around there), and then it would die at around 30%. With version 1.4.0, however, the battery percentage is a lot more accurate as far as I’ve tested. Fully charged goes to 100%, then the watch died at 8%. Still needs a little tweaking here and there, but it’s much better than before.

As far as battery life goes, it lasts about a week, though I haven’t thoroughly tested this enough. With InfiniTime it’s possible to change between three levels of brightness, and you can also control how long the screen stays on from inactivity (it can be as little as five seconds or as long as 30). Vibration can also be disabled whenever your phone/tablet/PC gets an alert. That being said, even on the lowest brightness, the PineTime probably won’t last much longer than with the default medium brightness, as I don’t turn the screen on too often.

The heart rate monitoring and step count? I can’t say the step count is entirely accurate. It records a new number of steps taken every minute or so; it doesn’t constantly update. I counted 50 steps, but the watch told me I only took 30. For heart rate, it mostly hovers around high 70s to low 80s…a good sign of normal heart rate, I guess. Sometimes the number will randomly soar to something like 123 BPM, or go as low as 60, so I probably wouldn’t rely on this for medical purposes. (This is continuous heartrate monitoring. I have not compared the heartrate or step count with any other watch.)

PineTime heart rate monitor

My only complaint regarding the charging aspect is that it uses a proprietary connection on the back. There are smartwatches out there that have USB-C connectivity (my Shockwatch, for example); I would’ve prefered that over the proprietary connection, because if I lose the charging cable, I’d have to order another one. With the plethora of USB-C cables I have lying around, I wouldn’t need to worry about it. Even if it would have costed an extra three or four dollars to incorporate USB-C connectivity, I would still pay for it.

Something that has been a bit frustrating is the frequent Bluetooth disconnects. I’m pairing my PineTime to my Pixel 3a with the Gadgetbridge app. For the most part, connecting for the first time isn’t hard. But after a few minutes, the watch disconnects. The only way I can restore the connection is if I restart the watch by holding down the button on it and reconnecting from there. But it’s a loop that it won’t seem to get out of. I don’t know if it’s the PineTime’s fault, the firmware, the Gadgetbridge app, or my phone.

Fortunately I wasn’t the only one having the problem when I reported it on r/PINE64official. Someone in the comments recommended to keep track of the issue on InfiniTime’s GitHub. As I’m looking at that issue, a temporary solution for now is to tap on “Don’t Pair” instead of “Pair” on the Gadgetbridge app; it actually works now, strangely enough. But the watch will still disconnect later on.

It’s possible to connect the PineTime to the PinePhone. I have personally tested this with Arch ARM and can confirm Bluetooth pairing works. To get any good use out of the watch with the PinePhone, you have to use something like Siglo. I tried installing this app on both the PinePhone and the Linux desktop: through the PinePhone, the app was useless; it didn’t pair at all. On desktop, pairing doesn’t work with the Flatpak version. I had to compile the app from source, but after doing so, pairing works just fine now.

From here I can retrieve the PineTime’s MAC address, firmware version, and battery level, and I can also update and install firmware as needed. But that seems to be as far as what Siglo can do; I can’t extract any of the smartwatch’s data, such as heartrate and step count, to this app and view it as a graph or something along those lines.

Siglo app on desktop

I honestly don’t have much else to say about the PineTime. I love how affordable it is, I love how open-source-y it is, I love the fact that this device will continue to get updates by the community to time indefinite, I love how transparent the Pine64 community is about developer updates, I love how much more privacy-oriented the PineTime is compared to all these other smartwatches collecting data about your heart rate etc. and selling that information to third-parties…

The caveat that comes with the PineTime, is that the software – despite it being vastly improved upon, even during the time I’ve had the watch so far – is that it still needs…time to mature. Bluetooth pairing is intermittent at best, so it’s going to be a bit of a hassle getting any of the more useful functionality out of it: controlling music, receiving texts, etc. The PineTime also lacks the ability to record sleep activity, and you can’t get any good use of your step count or heartrate by recording it to an exercise app or the like; all you can get is the immediate data, which you can’t access later should you restart the watch. (Here’s hoping someone will be able to incorporate those kind of things later on.)

Even without pairing to a smartphone or computer, though, the PineTime can still tell you the time, you can still use it as a flashlight, you can still play pong on it, you can still keep track of your steps and your heart rate (albeit a little inaccurate), you can still use it as a stopwatch…I’ll still wear this every day even if Bluetooth doesn’t work.

And hopefully it won’t be long before the community figures out what’s causing the Bluetooth disconnects with InfiniTime. I might try out WASP OS in the meantime and see if I come across the same issue. But if you’re looking for an affordable watch that has the basic features you would expect from a smartwatch, the PineTime is the way to go.