Quick Links

When you bought your phone it was cutting edge, had the latest version of Android, and made your heart sing. A year or two later, it doesn't get new updates, and the performance is a little sluggish. You can breathe new life into your phone--not to mention add a ton of useful features--by flashing it with a new custom ROM.

Why Would I Want to Do This?

There are many reasons someone might wish to install (or "flash") a new ROM to their phone. You'll get new features and customizations, you'll get rid of all the bloatware that came pre-installed on your phone, and you can get stock Android instead of your manufacturer's lame custom UI (I'm talking to you, Samsung). But most of all, you can upgrade to the most current and optimized version of Android, even if your phone has been all but abandoned by the manufacturer.

The sad reality is that most manufacturers and carriers quickly forget about old devices, and cease rolling out updates for them. Now while we understand the economics of the situation--it's not profitable to pay the hardware company to create new updates and to support legacy phones--we still think it's a shame that perfectly good phones are so quickly relegated to the support junk bin.

Take, for example, the Samsung Galaxy S III. When it was released in 2012, it was an incredibly popular (and powerful) phone. But Android 4.3 Jelly Bean was the last update it ever got--and it got it 6 months after Jelly Bean was released by Google. Sure, technology marched on, and it's far from cutting edge, but it's still a capable little device. Phone modders and customizers have made it possible for this three year old device to get the latest version of Android--Marshmallow--through custom ROMs like CyanogenMod. And, thanks to performance increases in later versions of Android, people are reporting that it runs better than ever.

Related: Does Rooting or Unlocking Void Your Android Phone's Warranty?

So if you have a phone that the manufacturer no longer loves, but that you still love, flashing a new ROM to your phone is a great way to keep it feeling new and snappy.

NOTE: Any time you monkey around with the internals of your phone, tablet, or other device in a fashion the manufacturer and/or supplying carrier did not intend for you to, you technically void your warranty--at least certain parts of it--and you risk permanently bricking your device. That said, we've been rooting, jailbreaking, unlocking, reflashing, and other wise modding phones, tablets, consoles, and other walled off electronics for years without so much as a single hiccup, let alone a bricked device. Read the instructions carefully and you'll be fine.

What You'll Need

You can't just take a brand new phone and start flashing ROMs. You'll need to first unlock bootloader and install a custom recovery environment like TWRP. So if you haven't done either of those yet, you'll need to follow those guides first, then come back here.

Related: How to Flash the TWRP Recovery Environment to Your Android Phone

Second, you'll need a ROM to flash. There are countless different ROMs out there from many independent developers and tweakers. Some are very popular--like CyanogenMod--and are available for many devices. Others may be created by more independent developers for one or two phones. To find out what kinds of ROMs are available for your device, head over to XDA Developers and browse the forum for your specific phone model.

Keep in mind that you'll want to stick to your phone's exact model--carrier and all. It helps to learn the model number and "codename" for your device, which will help separate it from the others. For example, the GSM Galaxy Nexus (GT-i9250) was known as "maguro", while the Verizon version (SCH-i515) was known as "toro". Verizon Galaxy Nexus users need to flash ROMs built for their phone, and can't flash ROMs built for the GSM AT&T version.

Other phones may use the same model across carriers, so it may not matter. But be sure to do your research and download a ROM that is compatible with your exact device.

cm-motox

For this guide, we'll be flashing CyanogenMod 12.1 to our 2013 Moto X, which comes in the form of a flashable ZIP file. So, we're going to download the latest stable version for our phone from CyanogenMod's download page. (You can see a list of devices in the left sidebar, which will take you to their available downloads). If you want a newer version of Android than the stable releases have to offer, you can click "nightly" in the left sidebar for less stable, but more bleeding-edge versions.

No matter what ROM you choose, you'll probably also need the "Google Apps" ZIP file, which bundles Google's proprietary apps like the Play Store, Gmail, and Maps, since those can't be bundled with ROMs. You can grab them from OpenGApps.org. Make sure to download the right version for your phone's processor and version of Android (if you aren't sure what kind of processor your phone uses, you can Google it). In our case, we need Google Apps for Android Lollipop 5.1 (since that's what CyanogenMod 12.1 is based off of) for an ARM processor (since that's what the 2013 Moto X uses).

Alright, you with me so far? You have an unlocked phone, with TWRP installed, and both your ROM and Google Apps ZIP files? Great, let's get started.

How to Flash a ROM with TWRP Recovery

In order to flash our ROM, we need to put these two .zip files on our phone. Plug in your phone with a USB cable and drag the ZIP files to the phone's internal storage or SD card.

screenshot.2

We're going to wipe most of the data on your phone. It should keep your internal storage intact (where your photos, music, and other files are stored), but you will lose most of your app settings and other data. If you want to save any of that data, use those apps' backup or export functions now. It's probably a good idea to back up your internal storage too, just in case.

Then, turn off your phone and boot into TWRP recovery. Doing this is a bit different on every phone–for example, you may have to hold the Power and Volume Down buttons simultaneously, then use the volume keys to boot “Recovery Mode”. Google instructions for your specific model to see how it’s done.

Once you’ve done so, you’ll be greeted with the familiar TWRP home screen.

NOTE: You should probably make a backup in TWRP before continuing with this process.

1-wipedata

From the home screen, tap the Wipe button and swipe the bar at the bottom to do a factory reset. You should always do a factory reset before flashing a new ROM. If you're just upgrading your existing ROM, you may not have to, but if you ever experience issues after flashing, a factory reset may help.

2-confirmwipe

Next, go back to the TWRP home screen and click the Install button.

3-install

The following screen will appear. Scroll down and navigate to your ROM's .zip file you transferred earlier.

4-choosezip

Tap the .zip file and you’ll see this screen. Swipe to confirm the flash.

5-confirmflash

It may take a few minutes to flash the ROM, so give it time.

When that finishes, it's time to flash the second .zip file. Go back to the home screen and tap the Install button. This time, pick your Google Apps .zip file, and repeat the process. This may take a while as well, so be patient.

6-choosezip2

When it's done, tap the “Wipe cache/Dalvik” button that appears and swipe to confirm.

7-wipecachedalvik

Once the cache has been wiped, tap the “Reboot System” button to boot back into Android.

Related: How to Root Your Android Phone with SuperSU and TWRP

If TWRP asks if you want to install SuperSU now, choose “Do Not Install”. Some ROMs, like CyanogenMod, will already have root access available in the settings, and for any that don't come rooted, it's probably best to flash SuperSU yourself.

It may take a while to reboot your phone the first time--remember, this is your first time booting a new operating system, so it has to get everything ready for you. Give it time. If anything goes wrong or the phone won't boot after a significant amount of time, reboot back into TWRP and restore from your backup, or try flashing again. Make sure you downloaded the correct ROM files, as well.


Related: Forget Flashing ROMs: Use the Xposed Framework to Tweak Your Android

That's all there is to it! Play around with your new ROM, and if you love it, keep it. If you want more... then hit up the various mod communities and forums like XDA Developers to see what else is out there. You might even try sticking with stock Android and using the Xposed Framework to add features one-by-one--essentially creating your own "ROM". The world is your oyster, so go out and enjoy it.

Image credit: iunewind/BigStockPhoto