For readers who celebrate, Happy Lunar New Year guys! Thanks to an uber long weekend (3-day break + weekend) for Chinese New Year, I am finally getting around to my backlog of blog topics I’ve planned out for this site. The post I am writing today is sort of “back to the roots” for me as Cyanogenmod-related flashing/tweaking articles were why people started coming to read this blog in the first place.

Buying OnePlus One

There’s an invite to buy OnePlus One sitting around in my inbox for the better part of the last few months but I didn’t really get down to buying because I was deep in my research on what’s next from Nexus 5, which had really served me well for the past 1 year until the power button issue made me seriously consider switching.

After much deliberation, I decided to go ahead with OnePlus One as it would be future proof for a few quarters before more off-contract phones worth buying come out. I was quite impressed that the shipping services from OnePlus One as well as vPost were very efficient; I got my phone within 10 days of placing the order, which is quite awesome, considering Singapore is not officially in the list of countries.

Unboxing Shots


Technical Specifications

As with any product review I do, let’s get the technical specs out of the way first:

Dimensions 6.02 x 2.99 x 0.35 in
Weight 5.71 oz
Screen 5.5 inches LTPS LCD Capacitive TS
Resolution 1080 x 1920 pixels (401 ppi)
Operating System Cyanogenmod 11S, upgradable to v4.4.4 (KitKat) | Planned upgrade to v5.0 (Lollipop)
Storage 64 GB
Chipset Qualcomm MSM8974AC Snapdragon 801
CPU Quad-core 2.5 GHz Krait 400
GPU Adreno 330
Main Camera 13 MP, 4128 x 2096 pixels
Bluetooth Version 4.1, A2DP
Battery Non-removable Li-Po 3,100 mAh

Back To The Flashing Biz

I haven’t flashed Cyanogenmod to any of my devices in the last couple of years, mainly because I started working full-time and most of the time I needed my phone to be working 100%. That and the lack of time – I simply couldn’t prioritize spending many hours a night reading through forum posts, backing up, setting up the phone and testing on a regular basis.

OnePlus One (OPO) came with a modified version of Cyanogenmod 11 called CM 11S that is meant only for OPO (if you want to know the main differences between 11 and 11S, check out this piece by Android Pit). Out of the box, I received a system update that should contain bug/stability fixes for the shipped OS but it’s still based on Android 4.4.4 Kitkat. Not that there’s anything wrong or bad about using Kitkat but after using only Android Lollipop for the last few months on my Nexus devices, I just find it very lacking to go back to an older OS on a new phone.

So, this happened within the first few hours of unboxing…..

Fastboot ADB on OnePlus One

Team Win Recovery aka TWRP

Cyanogenmod 12 Nightly + Franco Kernel 

If you’re familiar with the process, you are only here for review on stability and whether it’s good enough as a daily driver, which I will get to in a min. New to the flashing scene? Fret not, make sure you read through this OnePlus forum post multiple times before attempting anything.

The post only covered flashing CM 12 and GApps with a ton of useful information on backup/restoration and other stuff. Franco Kernel is recommended by people over at Twitter simply because it could make the battery life as good as stock – as of writing this, I am on Franco kernel r38 version (available here) and three days in, there’s absolutely zero issue with performance or battery life for that matter.

OnePlus One About Phone


In the first build that I flashed (20150215), there was this annoying volume bug that would pump up the media playback volume a notch at random times (usually after locking the phone). That almost became a deal-breaker because I listen to music all the time on my mobile phone during commute and it’d be quite annoying if the listening experience is not seamless.

As I looked to single out the one audio issue, I decided to flash a new build (I left the “Check Daily” option on by default. Now changed to weekly). There’s no more volume bug in the current build I am on, 20150217.

CM 12 Nightly OPO

Battery Life

A little bit of context into the screenshots that follow. My main use cases are as follows:

  • Brightness level at 50% (I don’t use adaptive brightness)
  • MX Player (watched 45 mins of videos with Bluetooth audio through Jaybird Bluebuds X)
  • Heavy use of Flipboard, Instagram, Whatsapp, Facebook, Fenix throughout the night
  • Took 15 – 20 shots with camera
  • Spotify offline music playback with Bluetooth audio on my commute (about 1.5 hour)
  • LTE always-on (otherwise, Wi-Fi)
  • Ambient display notification on
  • 15 – 20 mins of YouTube playback (1080p)

OPO CM 12 Battery

OPO CM 12 Screen On

Is it good enough to be a daily driver?

For me personally with the use cases mentioned, it’s a big yes! There’s no major bug on these nightly builds anymore and Franco kernel makes damn sure that there’s no sacrifice when it comes to battery life. I will be updating these nightly builds once a week or maybe I will just wait until the stable version comes out. The bottom line is – if nothing breaks, don’t flash a new build.