With the unending upgrade cycle, it is no surprise that most people tend to have an old smartphone lying in a drawer somewhere that’s collecting dust.
Some of these devices may end up as ewaste or be given to a younger family member as his or her first smartphone, but there is a community of Android enthusiasts that have been helping breathe new life into old devices.
For these folks, it goes beyond just extending the lifespan of a device that is no longer getting software updates – it’s about taking control and customising it as they see fit, and it’s been made possible by one thing: custom ROMs.
The Android ROM (read-only memory) is essentially the operating system that the smartphone runs on, akin to Windows or macOS for laptops and desktops.
Except that Android is open-source – the code for it is freely available – which has led to tech communities building custom versions of the mobile operating system.
According to Wong Qi Lun – a software engineer and Android enthusiast – many users opt for custom ROMs to get rid of unwanted applications that can’t be removed otherwise.
“This is especially true for more budget models, which can come with a lot of unnecessary apps or bloatware, and some can go as far as to display ads with no option to disable it.
“Having access to features exclusive to new versions of Android is also a big plus, especially if a device is no longer receiving updates from the manufacturer,” he says.
For smartphone technician Muhammad Nur Amirul, the freedom of choice and customisation is a big reason for the popularity of custom ROMs.
“Some users want a stock Android experience, such as Google’s version of Android found on its Pixel phones,” he explains, “while others want to completely ‘de-Google’ their devices from the company’s services and only use open-source apps to avoid being tracked by the tech giant.”
However, whether the device is supported – and for how long – is dependent on the community.
“For example, devices like the Poco F3, along with the OnePlus 8 and 8 Pro, are actively being maintained due to their popularity and being custom ROM friendly,” Muhammad Nur Amirul added.
Yet, opting for a custom ROM isn’t without its drawbacks.
“The most common downside is voiding the warranty, though some brands encourage users to tinker and will continue to honour the warranty.
“Some smartphones may also lose device-specific features – this is another reason why users have to do their research,” said Muhammad Nur Amirul.
Wong also pointed out that those who use a custom ROM may not be able to get customer service.
“The customer service representative isn’t going to be able to provide support for any issues you face with a custom ROM, and while the community is full of great people, they are not customer support and may not be able to give you the help you require,” he explains.
Step by step
Those who have decided that the pros of switching to a custom ROM outweigh the cons must first check to see if the device’s bootloader can be unlocked.
“To load custom ROMs, your device needs to be able to unlock its bootloader, as a locked one will prevent custom software and code from being loaded onto the device,” says Muhammad Nur Amirul.
Good starting points are developer forums like XDA (bit.ly/tech_ROMforums) for threads on the specific device to check if others have successfully unlocked the bootloader.
Some smartphone manufacturers even have their own forums for such topics.
Next, users will have to decide on what software experience they want before choosing their ROM – whether they want more customisation and software optimisation, or independence from Google.
When it comes to picking a ROM, it’s all about what suits the users’ needs the best and user preference, says Muhammad Nur Amirul.
“The most common is LineageOS, which is a version of Android that is stripped out of Google Mobile Services (GMS) and is only loaded with open-source apps.
“There’s also a ROM called PixelExperience for users who want their devices to feel more like Pixel devices,” he says.
He recommends GrapheneOS and CalyxOS for privacy-conscious users, which, like LineageOS, completely remove GMS while providing greater control over security and privacy by allowing users to monitor background data traffic. They also offer better device encryption.
Once you have decided on the ROM, it’s time to download the files needed for the ROM “surgery”.
This guide is specific to Windows – however, there are other guides available online for both Mac and Linux.
The following items will be needed: A custom recovery program – Team Win Recovery Project (TWRP) is the most common and has the widest range of device support – the custom ROM, and the Google Apps package to make the Google Play store work if the chosen ROM does not have it bundled.
It’s important to be careful when checking whether the chosen custom recovery firmware and custom ROM are meant for that specific model of phone.
To be safe, users can double-check the model number of the device under the “About phone” section of the phone’s settings.
At the same time, the version of the Google Apps package has to match the device’s processor architecture (ARM, ARM64, or x86).
This can be checked online using the model number of the device at sites like GSMArena (bit.ly/tech_customroms).
For those that want to cut Google out of the equation entirely, the Google Apps package won’t be needed.
Before being able to start with the actual flashing, the Software Development Kit (SDK) platform tool will have to be downloaded from the official Android developer website at bit.ly/tech_devtools.
After this has been downloaded, all the files should be extracted into a single folder.
Ready for the ROM
Once you have all the files, it’s time to start the ROM flashing process – do make sure to read up on the steps needed for your specific device, as some phones have differing steps.
First off, grab your device and navigate to the “About Phone” section in settings, then tap on “Software Information”.
Locate the “Build Number” and tap it seven times until a message saying that you are now a “developer” pops up.
After this, navigating back to the main settings menu will reveal an additional section called “Developer Options” where the options for USB debugging and “Enable OEM Unlock” should both be enabled. The device can now be plugged into the computer via USB.
When plugged in, a pop-up will appear on the smartphone asking if USB debugging should be allowed on the computer – tap OK to proceed.
If this is not done, the device will be listed as “unauthorised” in the next step and the smartphone will have to be plugged in again for the pop-up to appear again.
Navigate to the folder where you stored the files, enter “cmd” in the address bar to open the command prompt and then type “adb devices” and press enter.
This will bring up a list of connected Android devices, which will include the phone that’s plugged in.
The next step will involve a factory reset of the device that will wipe out all data and apps, so there’s no going back unless you have a backup.
To proceed with unlocking the bootloader, type “adb reboot bootloader” into the command prompt and press enter.
This will automatically reboot the device into the bootloader, and once it’s been loaded up, enter “fastboot oem unlock” in the command prompt.
Confirmation on the phone will be needed – navigate to “yes” with the volume buttons and select it with the power button.
It will take a while for the device to complete the factory reset, but once it’s done, the bootloader will be unlocked and it will be time to flash the custom recovery firmware.
Should a message saying “< waiting for any device >” appear in the command prompt, then it is likely that the computer is missing the necessary driver for the device’s fastboot mode.
The driver can be obtained from this online library (bit.ly/tech_drivers).
Simply type in the device’s brand and the word “driver”, which will bring up the USB driver page in the results page.
Once you download and install the correct driver, things should be good to go again.
It’s worth noting that additional steps may be needed to unlock the bootloader of some devices – as with the other steps, prior research is required to be on the safe side.
Like before, navigate to the folder where the custom recovery file was stored and bring up the command prompt with the address bar again.
In this case, we’re using TWRP – enter “fastboot flash recovery xx.img” and replace “xx” with the name of the recovery file. This will flash TWRP.
With TWRP flashed, the device is almost ready to accept the new ROM.
Use the volume buttons to navigate the menu to find the “Recovery Mode” option, and select it with the power button to boot into TWRP.
Alternatively, entering “adb reboot recovery” in the command prompt will also work after the device has booted normally.
From here, navigate through the TWRP menus to find the “Wipe” option, tap it and select “Advance Wipe”, then choose “System”, “Data”, and “Cache” before starting the wipe.
Reboot the device and once again enter recovery mode. Type “adb push xx.zip/sdcard” in the command prompt – replace the “xx” with the name of the custom ROM – and hit enter to transfer the ROM to the device.
The same should be done for the Google Apps package if one is being used.
You are now at the final step of the procedure.
In the TWRP menu, select “Install” and choose the custom ROM that was transferred to the device, then press “Add more Zips” to include the Google Apps package if needed – do make sure the ROM is the first item selected.
All that’s left to do is proceed with flashing, and after some time, you’ll finally be able to boot into your new custom ROM, though the first boot may take longer.
After that, it will be just like setting up a normal Android device but with the operating system of your choosing.
As one might expect, considering the long process involved, there are a few pitfalls along the way while trying to flash a device.
“One of the most common situations is users bricking their devices, leaving them stuck on the device manufacturer’s logo screen.
“This causes all personal data on the device to be lost, forcing them to start afresh by flashing the stock ROM.
“This is why it’s very important to back up your important files and apps before starting,” explains Muhammad Nur Amirul.
According to him, most custom ROM groups have a Telegram group chat for a user to join for device support.
“I would recommend joining the group so that you can get updates and support regarding the ROM from the developer or maintainer,” he adds.
Wong emphasises that flashing the wrong version of a ROM may cause issues like bootlooping, where the device will be stuck in a reboot loop.
“If all the steps are followed properly, with good research, there shouldn’t be any issues cropping up.
“But if you download a version meant for a different device, you’ll just be giving yourself extra work to fix things.
“Look up the model number of your device, and scour online forums for info that’s specific to the model so that you gain an understanding of ROMs that are compatible with your particular device.
“Before doing anything else, backup your device,” Wong stresses.
He also emphasises that flashing a custom ROM and rooting a smartphone are not the same thing.
“Rooting involves giving admin-level access to the file system to yourself and applications.
“This allows them to modify system files freely, but flashing a custom ROM is essentially just changing the operating system without opening up access.
“This is very important to take note of, especially as some banking apps may not work on rooted devices due to the security measures put in place,” Wong explains.