My first steps with the BraveHeart PinePhone

Florent V
11 min readFeb 8, 2020

--

I was lucky to be one of the first few to receive the “BraveHeart” edition of the PINE64 PinePhone.
Here is my personal report of its unboxing and of my first steps with it.

If you are reading this, chances are that you are already familiar with Pine64 and its awesome devices.
But let me give you a quick summary if it is not the case.

Pine64 Inc is a small geek company created with the purpose to create and manufacture open platform devices for hobbyist.
“Open platform” means being open and open source as much as possible in order to allow the (technical) user to use and extend his device as much as wanted. The additional benefit is to give back to the user the full control of every piece of software that is running within his device.
In a short time, they have created a impressive list of nice devices:
SBC (ie raspberry pi like), Laptop, smartwatch and tablet prototypes.

Their last project, the PinePhone, sounds like a dream for hundred of thousands of tech-savvy users.
This is how they describe it:

“An Open Source Smart Phone Supported by All Major Linux Phone Projects”

So, when they announced that the “BraveHeart Limited Edition” of the PinePhone was available for sale for “Early Adopters”, a few thousands persons (me included), ordered immediately.

After waiting 2 months for production, and one additional week for the delivery, I was finally the proud owner of one of them.

The packaging is simple:
a white box with the minimum of label.

Inside, the content is also minimal:
the phone itself, an usb-c cable, and a small note from the “Pine64 Community Team”.

The PinePhone itself is very nice. It does not look any different of all the other smartphones that are commercially available. It has smooth curved edge and a good finition.
One can see that the designer took care of all the details to create a desirable smartphone.
Its size and weight are similar to a Xiaomi A3.
So, from the outside, nothing really indicates that it is a “developer” device.

One particular thing to be noted is that its back cover is in plastic. But the quality is good and feels very natural to go along with the rest of the phone body.

On the good side, the 3d source model for the back cover is provided by Pine64 and so, in theory, anyone can print his own back cover.

They also nicely provided a “screen protector” that comes pre-installed.

The Hardware

Before starting the phone, the first thing to do is to remove a small plastic strip located on the battery connectors.
They put it to avoid any power up of the phone during shipping.

The casing is so nicely done that it took me a long time to figure out how to open the phone cover.
There is a small notch in the bottom right corner that you can use to easily open the back without any damage and without any tool.

Inside the “BraveHeart” PinePhone

The PinePhone is as beautiful on the inside as it is on the outside.

There is a removable battery with the right Samsung J7 form factor to be easily replaceable.
There are a micro sim, a micro sdcard slots and “pogo pins” to allow the development of ”custom hardware extensions such as wireless charging or an IR blaster. ”.

For the privacy cautious users, there are also 6 mini hardware “kill-switch” to physically block the usage of the modem, the wifi, the cameras and the microphone.

On the hardware side, the PinePhone is really a great device, and exceptionally for such a device, the hardware schematics for all of its components are openly available: http://files.pine64.org/doc/PinePhone/PinePhone_Schematic_v1.1_20191031.pdf

The mobile OS

Now, let’s talk about the Operating System and User Interface side…

Something that could have easily be missed by a lot of early buyers is that Pine64 only sells raw “Hardware” devices.
It means that they careful design their devices to use components that are as open and linux supported, but they don’t come with any “official” OS.

The community has to develop the OS that could be used with the device. And it is the task of the user to find and install the OS/UI of his choice.

In my opinion, this the great idea that allowed Pine64 to produce so many great devices in such a short time.

There are multiple “mobile OS” that could be used with the PinePhone.
But none of them is yet able to provide an acceptable “Smartphone” user experience.
Said differently, as of today, you can’t use most of the features of the phone: mobile call/data/sms, cameras, speakers.

The phone always starts directly when it is power plugged.

Out of the box, the phone arrive with a “factory test” OS pre-installed in the internal memory, and nothing more.

The easiest way to install a new OS is to install it on a sdcard.
If a sdcard with a valid bootable system is put inside the PinePhone, then it will boot this OS instead of any other one that would be existing in the internal memory.
The drawback of using an OS directly from a sdcard is that the system will be slower than when the OS is directly installed inside the internal memory.

At this point, the question for every owner will be:
Which OS should I use with my phone?
The reply to this question is probably different for everyone, but you will find here my notes and a few screenshots of all the OS that I have tested so far with my PinePhone.

TLDR: Ubuntu Touch is currently the more stable and functional one.
And without a bad bug, LuneOS would also have been a great choice.

Postmarket OS

My first test was done with Postmarket OS (also called pmOS).
This distribution is based on Alpine Linux and was developed to replace Android on a wide range of commercial phones and tablets.

Some “system images” are directly available for pmOS, but it is more interesting to do a self “build” as it is very easy with provided tools:

$ mkdir workdir
$ cd workdir
$ git clone https://gitlab.com/postmarketOS/pmbootstrap.git
$ python3 ./setup.py install --user
$ pmbootstrap init
[... You will have to reply to a few questions to customize your image ...]
[Then, put the sdcard inside your computer]
$ pmbootstrap install --sdcard /dev/mmcblk0
[... This will build the system and prepare your sdcard ...]

In case of strange “build” issues, the following command can be used before trying again the previous pmbootstrap init/install: pmbootstrap zap

Note: When pmOS ask you to set a “New password”, you should only use a numeric code. Otherwise, you will be blocked by the phone lockscreen that only allows numbers and not characters.

Multiple user interfaces are available in pmOS and only one of them have to be selected at build time.

Of the 11 interfaces, only 2 looks like to be “usable” with the phone:
phosh and plasma-mobile-extras

In my testings, with all of them the wifi was not working.

Also, try to lock the screen by using the power button was not working great and a lot of times it was hard to recover without rebooting.

  • User interface “Phosh”:

Phosh is a GTK based interface developed for the Librem phone of Purism.
Long story short, nothing really works with this interface and it crashes constantly.

  • User interface “Plasma-mobile-extras”

The interface is Plasma-mobile with a few additional apps pre-installed.
It works ok enough but there are still a lot of bugs, crashes, and apps or settings that don’t work.

Single positive point: plasma-mobile-extras “terminal” app is, in my opinion, the best terminal app of all the OS that I have tested.

KDE Neon

KDE Neon is the official OS of KDE with the plasma-mobile interface.
“System images” are directly available to install it on a sdcard.
It works a lot better than pmOS with with plasma-mobile.
The interface is neat and more stable, and the wifi is working.

There is a nice application store, but still quite empty.

But, there are still a lot of interface bugs, like windows or popups that don’t adapt well to the screen size.

The default terminal app with KDE Neon is not really functional as it uses the default keyboard without some needed extra keys.

Ubuntu Touch (UT)

UT was originally developed by Canonical to be OS of the Ubuntu Edge phone.
The development of the phone and the OS was mostly abandoned by Canonical but taken over by the community under the UBPorts fundation.
“System images” are directly available to install it on a sdcard.

Personally, I don’t like very much the “unity” user experience and dock.
But it is currently the OS that is working the best with the PinePhone.
The wifi is working and the interface is also working quite well.

At first start, there is a nice setup wizard but it does not include the setting of the password that is “phablet” by default.

Sailfish OS (SFOS)

SFOS is a mobile OS developed by Jolla, a company created by former Nokia employees.
This system is only partially open source: the base linux OS is free and open source, but the User Interface itself is closed source proprietary software with some features restricted to “paying” users.

I understand their business model, but in my opinion, if you get a PinePhone to have a free phone, it would not be smart to use a closed source interface…

There is no “system image” that can be installed directly to prepare a sdcard, but one have to get a “flash-it.sh” script and execute it to setup a sdcard for SFOS. That being said, the process is easier than for pmOS as this script only ask for the sdcard device path.

The interface is good looking but I’m not feeling very confortable with it.
To me, it feels a lot like windows phone user experience.
For example, there is a very annoying 6 steps tutorial at first boot that force you to perform multiple actions and that you can’t skip.

Note: At first boot with the PinePhone, after the splashscreen, my screen was completely black and so I was thinking that the OS was not working. In fact, the system is working but there is an issue with the auto-brightness feature.
“ You need to hold your phone up to a bright light to enable the screen, then disable the auto brightness in Settings -> Display.”

The good:

The bad:

Wifi connected but web browser not working

The ugly:

Note app: nice design but bad user experience to have text in front for an image background
Interface check-boxes: a bigger halo means “checked”…
Terminal app borken…

Nemo

Nemo is basically SailfishOS but with an open source interface.
I was not able to try it as there is no “system image”, no instruction or script, and just a file archive.
But, based on a few videos that I saw, it looks promising.

Maemo Leste

The “system images” available for the PinePhone are more than 6 month old and target the previous revision of the device (dontbeevil). Sadly this image doesn’t look to be working anymore with the Braveheart PinePhone.
After boot, the screen stay black and the flash light is enabled and remain like that.

A new “system image” should be available at some point in February.

LuneOS

LuneOS is an OS based on the open source remains of Palm webOS.
Despite a very annoying bug that prevents to use it everyday, this system is very good looking, stable and works surprisingly well.

The wifi is functional, and this is the first OS where I was able to send and receive SMS out of the box without any command line configuration.

Here is the annoying bug:
after a few minutes, the screen goes completely dark and the phone is not usable anymore. Sometimes, we can get back the screen a few minutes later by pushing the power button. This looks like to be due to the “screensaver” timer that is set to 2 minutes and that is triggered even if the phone is actively used.
The trick that allows to test longer the phone is to go to the developer settings, and set the option:
“screen is always on when USB is connected”

There is a web browser that works
There is an application store with a few working apps

One last tip, to go back to the previous page or screen with LuneOS, you should hold the bottom dash button and do a move to the left side.

This complete the report of my first experience with the Brave Heart PinePhone at the beginning of February 2020.
Now that it is also in the hand of the contributors of the different mobile OS projects, we can hope to see a very fast evolution of them in the coming weeks.

--

--