If you own an Android device, or for that matter visit any Android-related news site then you will have heard about ROMs. Though a lot of people catch onto what ROMs are, for some people it’s not such an easy thing to get your head around. If you aren’t quite sure what a ROM is, hopefully I will clear things up for you today.

First I should explain what a ROM is. The term ROM is misused, and a pseudonym. Up until recently, ROM’s were storage chips consisting of Read-Only-Memory. Ever played Gameboy games? They were ROM’s. Sometimes there was a separate area in the cartridge where you would save games to, but the game itself was Read-Only. You couldn’t modify it. The term which is closer to being correct with reference to Android, is Firmware. You can easily replace it all, if you choose to.

This board has a few ROM chips, one of which tells the device how to boot the Android software (Firmware)

When people talk about installing ROM’s on their devices, they are referring to erasing/overwriting old Android software/system files, and replacing them with new ones to alter the behaviour of Android and the device. If you’ve ever reinstalled your computers operating system (Windows 7, OSX, Linux), this is pretty much the same procedure. Wipe the disk or ‘memory’, then give the computer some new software for it to boot into.

Custom ROMs


Carbon Glass Theme for ICS

A custom ROM is one that has undergone any modification from being a pure distribution of Android. Google make the Android source code available for anyone to play around with, and people take this code and alter it for themselves. Whether to add features they come up with, or to redistribute it with fun tweaks and additions. So a custom ROM can range in definition from some custom code modifications to make Android run better on a device, all the way to changing the homescreen, background services, and default software.

Many software experts collaborate together in communities to build the fastest or most feature filled ROM’s. The most popular today are CyanogenMod (which supports over 70 devices!), AOKP (a lightweight ROM with plenty of customisation options), and Android Revolution, a heavyweight ROM which often focusses on looking great. Just because these Android builds are made by ‘ordinary people’ and not highly paid developers at HTC or Samsung doesn’t mean they are full of bugs or risky to use. In most cases the software built by communities is ten times better. Release cycles are much shorter, fun features can be put in, and anyone can contribute an idea to the development.

I like to use AOKP myself, and in the screenshot below is an example of how much they let you customise things. My Navbar, Clock, and battery-charge-level bar are neon-green. Also note that my WiFI Signal is measured by percentage, and as well as the charge meter running along the top of the nav-bar, I have a circular meter in the bottom right too.

Some ROMs!

If you aren’t satisfied with your current software from HTC or Samsung, take a look at these websites. These are three of the most popular ROM’s in existence today.

  • CyanogenMod – They almost certainly have a minimalistic and speedy build for your device.
  • AOKP – A great ROM that is rising enormously in popularity. They don’t support an enormous amount of devices right now, but worth a look to find out.
  • Android Revolution HD – The big daddy in appearances – Scroll down the page to see a list of supported devices, mostly HTC and the Asus Transformer, Galaxy Nexus too.

The advantages of having Custom ROMS on your device

  • Regular Releases – Rather than waiting month after month for a new Android distribution or a set of features from your carrier. Custom ROM developers can turn them out within a few weeks. Keeping you on the very cutting edge of what Android is capable off.
  • Interchange With Ease – Once you have Rooted your phone once to install a ROM, you can easily install any other one afterwards. If you wanted to, you can even revert to the stock build your phone came with, as most manufacturers release the software.
  • You have Root – To install a custom ROM, you need to root your device. This allows you to remove and tinker with anything you like on your phone. It also means that some applications require Root access such as overclockers can work.

We have loads of rooting articles for you to take a look at here, covering the rooting process and ROMs across a range of devices.

What ROM;s have you tried? Any favorites?

  • iphoneandroidtips

    There can not be any better explanation of Custom ROM and you have explained everything just perfect. Thanks for this detailed post, you guys rcok

  • Heshsham Abdul Basit

    Very good explanation. However, it would be much better if you could provide some link for tried and tested ways for installing Roms on different devices.


  • How dare you forget to mention MIUI?

    • Sam Cater

      The aim of this post was to explain what a custom ROM is, and AOKP and CM9 are the two most prominent examples today. If it was a line-up of ROMs then yes I would have mentioned MIUI.

  • Thanks for the useful information, I am new to android hacking. I am using CM7 on O2X as of now.I have few queries if you could answer, I know they may be very modest, but still they are unclear to me if you could help —

    What is the difference between ROM/ Kernel/ Baseband?

    If I apply a custom ROM will it change Kernel and Baseband too?

    I did a nandroid backup before installing a custom ROM, but when I restore it, it doesn’t work the screen keep on flashing and nothing happens. Can you suggest something here?

    • Sam Cater

      Thanks for reading!

      A ROM is the overall collection of software which contains everything Android needs (and often more), including the kernel, drivers, applications and so forth.

      The kernel is the system command processor, a program that sits as a bridge negotiating application and hardware information, transfers, access etc. For example it is the Kernel that detects a memory card being plugged in and then alerts a corresponding application. If the application chooses to use the SD card, the kernel is given further instructions to conduct at the hardware level.

      The ROM will almost 100% change the Kernel, replacing the factory-released one with the CM7 one for example. It doesn’t usually change Baseband but I am not too sure on that.

      I have had that problem and it was a corrupted nandroid, happens occasionally. After a little struggle I reinstalled the original ROM the manufacturer (HTC in my case) released. It was a little tricky to get right, but I did get it and afterwards flashing a new ROM worked fine.

      Hope this of help to you, again – thanks for reading.

  • harmon

    thank you so much..

  • This is one clear explanation i’ve seen in a website after months…

  • ravi rudani

    I have recently upgraded my galaxy s2 to 4.1.2 jelly belly cyanogenMod version 10-20121031-NIGHTLI9100G.
    i am trying to install whatsapp and i get an warning ” CUSTOM ROM INSTALLED… THIS PROGRAM MAY NOT FUNCTION PROPERLY” and the application is not installed…… Can u suggest a way where i can install such application.

  • retired trebor

    So, does a custom ROM allow me to get rid of the pre-installed cr-apps on the phone, ie Google Search, Latitude, Nascar Places, Peep, etc?


    Helped me a lot, thanks…

  • Great explanation, thanks!

  • JP

    Best explanation, thanks!…. Where can I get a Custom ROM for HTC Touch Pro 1 in order to change it to Android?

  • akbar

    Thanks for the info

  • Kevin Leander

    Awesome and simple explanation