In this age of technological saturation we have many convenient devices, but they often come at great cost to privacy. They are often designed to last the length of a warranty before coaxing the owner into an unnecessary upgrade. There is a need for ethically better gadgets that don't insult their owners, similar to how Linux and other Free Software projects treat their users much better than the offerings from Microsoft, Google or Apple.
One such company attempting to create an open hardware community is Pine 64. From them we have the PineBook Pro laptop, PinePhone, Pine Rock64 single board computer, PineTab, even a Pinecil programmable soldering iron. I own some of these devices. Last of all is the PineTime, a hackable smart watch.
After two months owning a PineTime I've gained enough experience to form an opinion. Overall impression is very positive but I've noted some minor snags. These are well within tolerable and the software improves usability with every release. Full details follow.
I'd recommend these watches for moderate to heavyweight techies, i.e. anyone who is wondering what this generation's Casio CA-53W will be. These watches aren't quite ready for the everyman yet, if they are ever meant to be. Notwithstanding that, the hardware and software is loaded with promise. Read on if you're curious to know why.
Very solid. No compromises were made in the construction. The PT is made from a solid metal body, the strap adjustable to a wide variety of wrist sizes and made from rubber as decent as any I've worn on a watch. Here is a photograph of mine (click to enlarge):
The PT has just one button at the side. All control is through the touch screen UI. The display is clear and bright. It has a sold, tactile feel. I wouldn't want to drop it, mind you, but neither would I drop a Rolex if I had one.
The PineTime comes well-packaged (good enough for a gift), with a small getting started tract and a USB charging cradle.
- CPU: 64MHz ARM Cortex-M4F NORDIC nRF52832
- RAM: 64KB (all it needs)
- STORAGE: 512KB + 4MB Flash Storage
- SCREEN: 65K colours, 240x240px, 1.3" capacitive touchscreen
- CONNECTION: Bluetooth 5 with Low Energy support.
- BATTERY: This lasts 5-6 days or more on a full charge. If you don't pair your PT anywhere it lasts slightly longer.
For the PineTime itself we have a choice of operating systems. The retail PineTime comes with InfiniTime OS preinstalled. This OS looks to be most robust and feature complete. The software is built atop a C++/RTOS core.
The UI is rugged, sparse, but not minimalistic. Functional but not bland. Colour is used subtly. This reminds me of the better UI patterns from the past and not the current ugly and shallow flat-monochrome designs. A credit to the implementer's taste.
Ready your phone
Currently the best software support is on Android phones. The PineTime does have a means of talking to iPhones. I'm aware that work is underway on an iOS app called InfiniLink and it is now possible to install this companion app onto an iPhone. Follow the work on InfiniLink for iOS here or install it from the Apple App Store here. I haven't access to an iPhone so cannot advise how to configure PT with one, but the instructions in this article may still be helpful to iPhone users.
Pair with Android
It is possible for any Bluetooth device to pair with a PineTime, all that is required is the right software on a host to pass it the right messages. This software is termed a companion app; the companion app on Android is known as GadgetBridge. It will link your Android phone to your PineTime.
Given we are in the world of Free/Open Source software, GadgetBridge is an F-Droid store exclusive. Should you search for 'GadgetBridge' on the official Google Play Store you'll find an unrelated news app, which is very much incapable of syncing with your PineTime.
If you haven't already installed the F-Droid store, you should. It is an alternative to the official Google Play Store and features a slew of free & open source Android software. It may be installed on any Android phone, though it must be 'sideloaded' through a manual installation. This isn't hard to do.
Get the F-Droid Store Here. You will have to 'Allow installation from unknown sources' (or similar) in Android. Once F-Droid is installed, it is easy to search for and install the GadgetBridge app.
If you have any questions of trust, remember open source software is just that. The source code may be audited by anyone. You should have much more serious questions of trust with the closed-source Google Play Store.
Pairing with your PineTime
With the GadgetBridge app installed and ready, enable Bluetooth and Location on your Android Phone. It is necessary to enable location for paring with your PineTime, but it is not necessary to leave Location enabled after pairing. This is due to how the Bluetooth LE protocol has been implemented in Android and therefore not the fault of the PineTime's designers or developers.
In GadgetBridge, configure a few options to make life easier. Open the side menu tap into 'Settings'. There is a long list but among it I recommend you enable the following:
- Connect to GadgetBridge device when Bluetooth is turned on
- Reconnect Automatically
- CompanionDevice Pairing (Scroll to the very bottom to find it. Enable this if you are on Android 8 or above)
Then, go back to the Gadgetbridge home screen and tap the blue plus
+ to begin scanning for your PineTime. All being well, the PineTime will appear named as 'InfiniTime' and you may then connect.
Update the PineTime's Firmware
You will certainly want to update the firmware. The retail PineTime has InfiniTime 1.0 ready-installed, which is an outdated release as of this publish date. Release 1.8.0 fixes bluetooth connection problems that plague v1.0, so you will want to upgrade.
To upgrade the firmware, download the latest firmware ending in
dfu.zip from here on your Android phone. Be sure to download the
dfu.zip and not the file ending in
.bin. It will be saved to your Android device.
In your Android OS use the file manager or 'Downloads' app to open the downloaded firmware. You should be presented with the Android OS' 'Open With' prompt. Among the options choose to open the file in Gadgetbridge. The Gadgetbridge companion app will launch in firmware upload mode and connect to your PineTime. Once this upload is complete InfiniTime will begin flashing it to the PineTime's internal storage; the flashing progress will be shown on screen. All being well this will complete without problems.
Verifying the firmware
On the PineTime itself it is necessary to 'validate' the update so it persists after restarts. Otherwise your PT will revert to the original firmware after a reboot. To do this:
- Swipe rightwards on your PT
- Press the gear icon, to enter the settings page
- Swipe upwards to get to the next page in the list
- Tap 'Firmware' and tap the button to validate your firmware update
Using InfiniTime & Recommendations
First the obvious: The OS is very intuitive for anyone who has used Android, iOS, or even Palm OS. Navigation is achieved by swiping. Actions are executed by tapping anything that looks like a button.
To lock and unlock the PineTime, press the hardware button.
To reboot the PineTime, hold in this button. During a reboot notice that
1.0 appears on screen, this is the bootloader version, not the OS version.
Some less-obvious things
On the homescreen swipe:
- downwards for notifications. The 5 most recent notifications on your phone are available here.
- rightwards for 'system tray': settings/brightness/silence
- upwards for the 'app tray' where many fun and useful applets await
Swiping the opposite direction navigates backwards in the menu hierarchy. I.e., swipe upwards to go back to the homescreen when in notifications.
A new face
The update to 1.6.0 gives the option for a stylish and colourful new watch face. I recommend switching to this watch face, for the default is a little bland. To do this go
System Tray (rightwards swtipe) -> Settings (gear) -> Watch Face -> PineTimeStyle.
You will also want to customise the colours. Go back to the settings menu and scroll down a screen. Tap
PTS Colors and you may adjust the arrows back and forth to configure a colour scheme.
There is also a Unix terminal style, which is the one I've now settled into using.
In settings enable the following to make your life easier:
Settings -> Wake Up -> Raise Wrist
This will do as it says. The PT will wake up and show the current time when you raise your wrist, which saves you tapping or pressing the button to see the time. This makes it act quite a bit like a conventional watch.
Inside the previously-mentioned app tray, we have the following applets:
- music controls (controls for music/podcast apps on your phone)
- step counter
- heart rate monitor
- countdown timer
- a number puzzle
- a metronome
Correct as of InfiniTime 1.6.0.
What is pulled from your phone
- Recent notifications. If someone emails, texts or IMs you, the PT will vibrate and show a summary of what was sent and from whom.
- Phone calls. If you are phoned, the PT will vibrate and give you the choice of answering or hanging up.
- Now Playing. If any music or podcast is playing, it will be displayed in the music controls applet. It is possible to control your music with next/previous/play&pause buttons.
- Navigation. I haven't tested this, but it seems the PT can receive directions from a navigation app.
I have used the PineTime with InfiniTime on and off for two months. While my overall impression is positive, there are a few outstanding problems that need fixed. There are workarounds but eventually I hope to see these fixed. These are:
The current time doesn't update on first connect with GadgetBridge. (FIXED in InfiniTime 1.8.0)
Workaround: Disconnect and reconnect. This is done as follows: Long press the InfiniTime card in your GadgetBridge home screen to disconnect, then tap it once more to reconnect.
The PT doesn't reconnect when Bluetooth drops (still as of 1.6.0, FIXED in InfiniTime 1.8.0).
I customarily switch off Bluetooth when going to bed. When I wake up the next day and switch on Bluetooth, Gadgetbridge says it is connecting to InfiniTime, but always fails even when I have the PineTime very near my phone. The solution is to delete the PineTime from GadgetBridge and pair it afresh. Hopefully the connection stability will be improved. Connection stability is vastly improved in IT 1.8.0. Update to the latest firmware, delete your old pairing from GadgetBridge and re-pair your PineTime to your phone. The latest patches also introduce BLE secure paring, which ensures your connection is encrypted.
Vibrations continue when a call is answered on the phone.
Having a steadily vibrating bracelet while trying to speak on the phone is an obvious annoyance, unless this is a particularly stressful call and you fancy a massage. The solution is to tap 'answer' on the PineTime even after you've already answered on your phone.
GadgetBridge needs your phone's location services enabled to pair for the first time.
It doesn't need it thereafter. So I always turn it off after pairing. Were it possible to pair without location enabled, as is the case with other Bluetooth devices, I would prefer this. This is a problem with how BLE is implemented in Android and not the choice of any of the GadgetBridge developers.
The stopwatch doesn't work in the background.
Because it must stay on screen to continue counting, the screen is easily tapped and time is lost. Or if I switch to use the heart rate monitor simultaneously, the stopwatch is reset to 0 next time I open it. Ideally, both these could be run at the same time, or as background tasks. This would make the PineTime perfect for exercise sessions.
There should be a 'reset to watchface' timeout.
I've set the PT to unlock when raising my wrist. Sometimes my sleeve swipes the screen, which makes the InfiniTime enter a menu screen. The next time I raise my wrist, the PineTime is still showing the menu screen. What should happen is that InfiniTime will timeout and display the home screen after a configurable period of time, i.e. say 5s. This would make the raise to wake up feature even more convenient.
Against the gripes
These all work very well:
- Notifications - these mirror the notification contents on your phone, so notifications may be received from a variety of chat apps and email clients.
- The applets
- Sound/media controls - Integrate with podcasting & music, as mentioned before. Quite handy when you're paired with a bluetooth speaker and need to quickly skip a track.
- Step counter - Very effective for inducing guilt. I promise to walk more tomorrow.
These work somewhat well
- Heart rate monitor - I am sometimes curious to know how fast my blood is being distributed, the PT can tell me. Though unfortunately it fluctuates widly while measuring the heart rate. I set it to measure my heart whilst I was exercising and it stuck at 68bpm; this seemed a little off. I hear there were some improvements to this feature in IT 1.9.0, but I still see the problem.
Day to day, I mostly use the media controls and notifications. This is no criticism, I like the inclusion of the extra applets and features. Watches shouldn't be confined to serious timekeeping; they can have a fun side too.
In closing, why this matters
I am eager to see how far the community spirit carries this humble electronic timepiece.
The PineTime matters because it is born of open source. It aims to be sustainable and supported for a long time with parts and easy repairability. The goal is to be 'hackable' but usable everyday.
In that spirit, the hardware specification is accessible to everyone, which makes for longevity. The software community founded is just as important, the produced source code will be used for other watches in the future. Ideally, the same spirit that gave rise to Linux on desktops and servers will give life to every kind of electronic device, bringing with it the same freedom.
This is something we much need with the ever-steady encroachment into our lives. We can't leave computing at the mercy of Big Tech. We also want to enjoy technological advancements and the conveniences they bring to our lives. But we don't want to yield our freedom for convenience. We don't want to lose good discretion and let our personal data be pillaged by myriad nebulous corporations and the ever-growing state. In the information age, freedom is only preserved through open hardware and software freedom.
Thus, the Pine64 project is well worth your patronage. I sincerely hope this organisation never loses its scruples.
I want one
This is not a sponsored post. I am getting nothing from Pine64 except the joy of recommending something with great promise. Buy one or buy a dozen here.
A note on alternative operating systems
My review has concentrated on InfiniTime, but it would be to their detriment if I passed mention of the other operating systems that have been developed for the PineTime. You may read of them here.
A notable alternative OS is WASP-OS, which is written in MicroPython. This would make it more approachable for a beginner to embedded hacking. This OS has most of the major features in place. It is possible to flash it over InfiniTime if you wish to try, and it is always possible to jump back to the previous OS. Instructions are available here WASP-OS: Getting Started Guide. Screenshots at the official GitHub.
I've found the following to be quite helpful. You may consult them to find more information on the PineTime. There is much I haven't covered, so delve away:
If I find the time, I would like to jot about the following:
- Using the PineTime with my PinePhone, or my Linux laptop
- Trying the other operating systems
- Looking at its other features in depth