How to Convert Your HTC One into a Developer Edition for Super Fast Sense Updates

HTC has made it their mission to get updates out to its devices as quickly as possible, with new builds slated for release 90-days after Google finalizes a build—this is dubbed HTC Advantage.

After Google I/O, the company announced they would have the Android L version of Sense ready to ship within three months of the official release, which is pretty much unheard of for skinned Android ROMs (we're looking at you, TouchWiz).

Keeping with that same time frame, HTC released the Android 4.4.3 version of their Sense 6 ROM, but if you do not have a Developer or Unlocked Edition of the M8, you are SOL, thanks mainly to carriers delaying release until they can inject their own crap into the software.

However, every M8 is pretty much the same. Yes, they have support for different cellular frequencies—depending on what carrier they are attached to—but other than that they are identical. Because of this, we can simply flash over all the system files of a Developer Edition model, and turn any GSM M8 into a Dev Edition.

Sprint, Verizon, and other CDMA-based customers will still need to wait on your carrier to issue a release, or for a developer to port over a ROM.

Before We Get Started

This process is pretty straightforward, but it does come with some prerequisites.

  • Your M8 must be a GSM model, like AT&T, T-Mobile, and most international variants.
  • S-Off and an unlocked bootloader are a must.
  • ADB and fastboot are going to need to be installed on your computer; both Mac and Windows PCs will work.
  • USB debugging must be enabled from your Developer settings.
  • This process will WIPE YOUR DATA, so a complete backup of all your files. That also includes your internal storage, because that will be wiped as well.

Once these prereqs are out of the way, you'll be ready to start the process, although I'd recommend reading through the guide once and downloading the necessary files prior to beginning this process.

Step 1: Change CID to SuperCID

The CID, or Carrier ID, of your device determines what carrier it is attached to, and what ROMs can be flashed to it. This is what prevents an AT&T or T-Mobile ROM from being flashed to a different carrier's device. Since we will be flashing the Dev edition, we will be using that specific CID: BS_US002.

Plug your device into your computer, open up cmd/terminal, and enter the following commands followed by the Enter key each time.

  • adb reboot bootloader
  • fastboot oem writecid BS_US002
  • fastboot reboot

Step 2: Find Serial Number & Download Files

Download and extract the TWRP backup file. You will then have to place the files in the TWRP folder in your internal storage. If you don't have a backups folder, go ahead a create one. The folder structure should look like this: TWRP/BACKUPS/[SERIAL NUMBER]/BackupName.

The [SERIAL NUMBER] portion will need to be changed to your device's serial number, which can be found in Settings -> About -> Phone Identity.

Step 3: Flash Stock Recovery

With your backup in place, it's time to start the conversion. You will not need to flash TWRP, but you will need to download the stock recovery.

Now enter the following commands:

  • adb reboot bootloader
  • fastboot flash recovery {location-of-Stock-Recovery.img}
  • fastboot erase cache
  • fastboot reboot-bootloader

Step 4: Boot into TWRP & Wipe Data

Because the stock recovery is needed to apply OTA updates, we will only boot into TWRP instead of completely installing it. To do that, download the latest version of TWRP, then boot into it from fastboot:

  • fastboot boot {location-of-TWRP.img}

Now that you are in TWRP, tap Wipe -> Advanced Wipe and select Dalvik Cache, Cache, and Data.

Step 5: Restore from TWRP

Your device is now clean of your old ROM, so all that is left to do is to select Restore from the main TWRP screen, then pick the backup file from Step 2 and apply it.

Step 6: Reboot & Check for OTA

To ensure that everything worked out fine, check to make sure you can receive OTAs from Settings -> About -> Software updates.

It will take a few updates before you are all caught up to Android 4.4.3, so keep checking for updates.

Step 7: Manually Flash OTA (Optional)

Sometimes it takes some time for you to get an OTA pushed to your device, so if you are not the patient type, go ahead and download the, which will update you to Android 4.4.3.

After it finishes downloading, reboot into recovery by pressing and holding the Volume Down and Power button for about 15 seconds, then select RECOVERY from the HBOOT menu.

Now that you are in the stock recovery, hold Volume Up and then press the Power button. All that is left to do is install the update, apply from phone storage -> 0/ ->

And that's all she wrote. This process may seem a little daunting, but trust me when I say it is totally worth it to have quick OTAs and a life free of carrier bloatware.

Feel free to root this ROM, but keep in mind that if you install a custom recovery, you will not be able to apply official OTAs. If you run into any issues or need any clarification, drop me a comment below.


tims-iMac:~ timgoodall$ fastboot flash recovery Desktop/stock\ recovery\ 1.12.1540.17\ recovery.img
target reported max Download size of 1830711296 bytes
error: cannot load 'desktop/': Is a directory
why do i keep getting this error please?

Rename the image to something simpler like "stockrecovery.img" and try again.

yeah i figured that out just after i posted question...thanks...

Hey Andrew, can you help im new on htc phones, i have it stock, non rooted, no bootloader unlocked, but i dont know how to start, if you can pm me would be great thanks

after root it and unlock the bootloader what do i have to do? Im using windows, so for fastboot and adb where i can find them, the last phone i unlocked the bootloader was a Xperia Arc S, a long long time ago, You're the man for helping us

hey Andrew my device stays in Entering Recovery, what can i do? I install the recovery image, unlock the bootloader, please help

Andrew, now i have rooted and unlocked bootloader, i need s-off right? But the thread says i need custom rom and custom kernel for this, so im downloading Insert Coin but im not pretty sure if it will work on my At&t M8, is based on sense 6, KK 4.4.4, is v5.0.1, with this one, can i flash it and proceed to s-off?

Hello Andrew. I have an att htc one m8 i unlocked it and went over to tmobile. I have a tmobile apn but the phone still is att connected (so to say). well suffice to say I cant get the android update because it searches from att but im unlocked. hopefully youre not confused. My phone is not rooted, (dont know a whole bunch about rooting and whatnot), but i want to switch to developer/unlocked (from carrier) to make the phone htc. I know that's what this guide does. But my question is, I don't have to be rooted to do this right? is there any way you could walk me through this if i have to do anything different beacsue of my situation?

You're first going to need to use this guide to root your device. Afterwards you will need to use the Sunshine tool to S-Off your device and then you can use this guide to convert to a developer edition.

Why this procedure don´t work for an HTC m8 Verizon?

I bought the phone in USA, im from Ecuador and i want to enable the hotspot,

Anyone knows how to unlocked the Hotspot Verizon security?


Thanks for the detailed info. After changing the CID to BS US002, will the MID from Bell Canada be a problem? Mine is 0P6B16000.

Will I lose my carrier unlock if I follow this procedure? My phone was purchased from Bell Canada and carrier unlocked by them. I really need to keep my carrier unlock as I use the phone a lot in Asia and Europe as well as Canada. Thanks!

You will need to change your MID to P6B12000 and to do that use this XDA thread. Your carrier unlock will not be lost either. If you run into issues getting signal you may want to flash a different radio.

Hi. Thanks for the tutorial, but I'm having problems in step 4.

After "fastboot boot {location-of-TWRP.img}" the phone reboots but not into TWRP recovery.

Do you have another way to restore the backup?

Thanks again

What happens when you enter the command? If you are still having issues you can flash TWRP using the command fastboot flash recovery FILE.IMG and then after you restore you can flash the stock recovery back using the same command.

Hello, i'm trying to change the CID in my M8, but i got this message:
C:\Adb>fastboot oem writecid BSUS002
(bootloader) SecuritySDInit: counter = 3
(bootloader) m8
initsd, SD card already power on
(bootloader) SPEW GPIO 0 status is 0
(bootloader) sdhw
7xxxopen: id=0
(bootloader) clock
updatecfgsd is done
(bootloader) sd clock set done
(bootloader) clockupdatecfgsd is done
(bootloader) sd clock set done
(bootloader) sdcc
initmemorydevice done
(bootloader) SD clock freq = 19MHz....
(bootloader) GPLL0 is enabled
(bootloader) clockupdatecfgsd is done
(bootloader) sd clock set done
(bootloader) TuxeraError Failed to open a file '//SMART
IO.CRD', err
(bootloader) ENOENT
(bootloader) JAVACARD_ERR SMARTIO.CRD cann't find
OKAY 0.296s
finished. total time: 0.312s

Do you have any idea of what could be?


Everythings done but i cant apply the OTA because appears a leggend that say that my phone is running a modified version. What can i do??

Have you rooted or installed a custom recovery?

Thanks a lot Andrew. The problem was the MID. I had changed the CID but not the MID. To change the MID, you have to do over a rooted device to gain SU on a shell over ADB SHELL. then, follow your tutorial and all fine.

You are a real asset.
P.S. my M8 is a Mexican Carrier subsidy (Telcel) and never will have 4.4.3 nor 4.4.4 upgrades.

Hey Mario soy de Mexico y tengo un M8 de At&t, quisiera saber si me puedes guiar para modificar mi cel y tenerlo como version Developer o Unlocked, te posteo en español por que vi que pones que eres de Mexico, entiendo casi todo lo de la conversion pero aun tengo dudas, si pudieras agregarme en Facebook y me explicas te lo agradeceria saludos

i I have the same issue. I had a custom ROM installed. Any suggestions?

I cant apply the ota either it says the same, I'm in mexicoand it says my phone is modified what do I have to do?

I get to the last step, resorting in TWRP and I only have 3 options checked, your video has 4. I have data, cache, and boot I don't have system. I tried to restore but it fails. Any ideas?

All the needed files are in the restore zip. Download it again and unzip it. Make sure you didn't receive any errors during the extract.

There are 5 files within the .zip. 2 boot, 2 cache, 1 data. Am I missing some files?

Andrew, you were spot on! For some reason I had a corrupt zip file so I downloaded, repeated your steps, and everything fired just fine! Thanks again for providing a wonderful guide!

No problem! Happy to hear you got everything figure out

Hey i have done everything fine and got an OTA same as above video but when i try to install it takes me to TWRP recovery and when i try to flash from TWRP it fails..

so here i need to flash stock recovery right which one should i flash either 1.54.1540.9 stock recovery or 1.12.1540.17????

help needed guys!!
thank you

Check your Hboot version from the bootloader menu and flash the recovery version that matches that number.

when installing flash recovery it says it can't load stock... any ideas of what it might be?

Take a screenshot of the error or copy it over please.

Mine won't accept OTA's. Says I have tampered software. I install this coming off of ViperRom. Any suggestion on a fix?

If you are rooted or have any other mods OTAs will not install.

while manually flashing OTA in stock recovery to says "installation aborted.........

Can I still apply this to a verizon version of the phone since I use AT&T prepaid anyway?

Nope. This is only intended for GSM models, so the Verizon version will not work.

Hi, i Get as far as Boot into TWRP and then it just reboots the phone. When i manually try to go into recovery i just get The red phone with Triangle.

Please advise what im doing wrong!

You can just flash TWRP normally and then flash the stock recovery again afterwards.

i Got a newer twrp from the website. That worked. I then followed your instructions in twrp. Unfortunatley after wipping then going to restore, notheing seen in that part. i reset my phone, moved to nother folder, still didnt see. I choose the first folder when the computer sees the device (internal storage)

Did you place the restore files in the TWRP folder?


Just tried to an software update, It says my device is running a custom rom so cannot update. Please advise

Have you changed your CID and MID to the Dev edition numbers?

I changed the cid. How do I change the mid?

Ii have a question, after do all and convert to Developer edition, what happend if I hard reset the device? sorry for the question, im new modding HTC Phones....regards!

Once your device is converted it will always stay as the Developer edition. The only way to go back to a carrier branded ROM is to flash a carrier specific RUU.

Thanks for you answer, other question is,in the developer edition ROM, do you know if is compatible with LTE 4G in Mexico (Telcel)? (bands 4G LTE 700, 1700, 2100, 2600), and last one, the "S-off" in the developer edition is for default , or I need to "S-on" after convert?

You should leave your device as S-Off. You'd have to check with the data sheet that is specific to your device in order to see which LTE bands are compatible.

Im probably thinking that its not possible but wanted to confirm anyways. .is there anyway to convert a factory unlocked verizon M8 being used completely on GSM. .using it currently like a normal GSM phone. .any chance this can be converted?

Thanks a lot!

Nope, Verizon models are incompatible.

Thanks!Was afraid of that!Oh well il just wait a little longer.

Why verizon model is incompatible?

The Step 5 fails for me, TWRP says the restore fails, apparently because "E:No partition selected for restore."
What does that mean ???

Did you select all of the partitions you want to restore from the Restore menu?

Hey Andrew, thanks for a great article. I came from a custom ROM (Android Revolution HD) and after following all your steps carefully, it will not reboot in to twrp. Is it not possible to convert to a developer edition if you've had a custom rom installed? If so, do you know of anyway to completely start fresh? (I do not have the original carrier recovery anymore sadly)

You can flash TWRP instead of just booting into it.

Thanks Andrew, did this and I can now boot in to TWRP. However, as per someone above, it doesn't see the TWRP backup that is definitely copied in to internal storage (TWRP>BACKUPS>(SERIALNUMBER FOLDER). Any idea why this might be? Thanks again!

Did you unzip the linked zip and add your personal serial number?

Yup, sure did

Will doing this... I'm currently connected with at&t, if I do this will it disconnected or affect it, and have to reconnect it?

Nope. Just make sure your APN is set to AT&T after converting.

hi great work andrew...I did all steps but struck at step 3 flashing stock recovery I get following errorDrs-MacBook-Air:~ revanlamboonavar$ fastboot flash recovery/Users/revanlamboonavar/Desktop/Android/stock\ recovery.img

unknown partition 'recovery/Users/revanlamboonavar/Desktop/Android/stock recovery.img'

error: cannot determine image filename for 'recovery/Users/revanlamboonavar/Desktop/Android/stock recovery.img' I have At & t rooted, boot loader unlocked s off htc m8

You need to add a space after the recovery portion of the command. It should read:

fastboot flash recovery /Users/revanlamboonavar/Desktop/Android/stock\recovery.img

It worked thank you so much..I lost root how to root now?

If you root you will lose the ability to flash future OTAs. If you're okay with that you can check out my other guide.

Hello, Andrew. I just came here to say thank you for this post! I managed to convert my AT&T branded device into the DevEd. Everything is working great so far and sucessfully received all OTAs until getting into Lollipop :)

P.S: I had issues booting into TWRP so I had to first flash it, then restore the nandroid and finally flashing stock recovery to receive OTA.

Your tutorial works for Telcel in México?

If it is a GSM model then it will work.

Hey man! I'm currently running Lollipop 5.0.1 with latest firmware.My phone is rooted, unlocked bootloader and S-off! Now, i was wondering if i have to downgrade my firmware or it will work with 4.16.401.10? also this will work with s-off and unlocked bootloader, right?

If i flash stock recovery , who will i be able to boot into TWRP afterwards?Thanks!

If you want to keep the ability to receive OTAs you cannot root or modify your phone in anyway after converting. As for your first question you can use this guide even if you are on the latest firmware.

Hi Andrew, can I use this tutorial on HTC one M7 (AT&T).

That requires different files. Are you familiar with RUU flashing?

Hi Andrew I am done with lollipop I want to go back to kit Kat is it possible? can I follow the same steps as above?

I want to wait till lollipop bugs fixed in next update..untill then kit Kat is better for me

You can use this to get an earlier version of Sense.

Why this procedure don´t work for an HTC m8 Verizon?

I bought the phone in USA, im from Ecuador and i want to enable the hotspot,

Anyone knows how to unlocked the Hotspot Verizon security?


Thank you very much for you replay, but i prefer maintain the original sense in the phone, i think a better option is modifying de default.xml.

i havent tried before.

this post its very interesting, i want to apply this to my cell phone but is from verizon according i read its imposible with this htc m8 variant.

but i have a doubt, my carrier is gsm and the phone its unlocked, i supposed it will work, what do you think?

It should be fine as long as its a GSM model

hey andrew, i have got as far as the wipe stage but it just says, wipe failed' can you help with this?

Hi, Marty i have the same problem ,, you can fix them?

Hi, i have the same.. 'problem', when i try to wipe chache, dalvik and data, give me a error message 'wipe failed' ... and int the bottom of screen E: Can't mount /cache/. what can i do? i have so close :(

Reboot TWRP and then try again. If the problem persists you may need to update TWRP.

yeah! Its works !! ,

to solve the wipe error i use this versión of open recovery, openrecovery-twrp- , _ , the newest don't boot.

I Have now a pure HTC One m8 (Lollipop) free of TELCEL craps .
Thank's to Andrew and everyone in the thread.


Does this work on the m7? And if so how can I do so using RUU files? Then I've been trying to flash the sense 6 lollipop ROM and it gives me an error ( to many links) how do you reckon I can go about it? Thanks in advance :-)

Alright thank you. Will do. And question are they the files from htc straight or are they from that developer? :-)

They're from HTC, but packaged as a by that developer.

Thank you... Will tell you if I encounter any problems...

Hi Andrew

It still gives me the same error even with files from that site. Also I followed your guide and still no fruits :-(.... still trying FYI

The error is

FAILED (remote: 02 data length is too large)
finished. total time: 0.016s

Is your device S-Off? Do you have the proper CID/MID? Are you in RUU mode when trying to flash the

Yes to all. I am S-Off, CID is BS-001, mid is PN0712000, and yes I am RUU mode

Does hboot version matter? Mines 1.54

Redownload the RUU zip and try again.

I already did. The KitKat one, which I didn't want then then sense 6 lollipop one which is the one am working with

I used the HTC fastboot and it now gave me the too many links error. The other fastboot gives me an error.

Are you using the most up to date fastboot/adb?

I believe so... But can give me a link I redownload. And the other fastboot gives me the error failed (remote: 02 data length is too large)

I have version 1.4.2

Yes that's the one am using...

What if I used the ota to manually update? Coz all I need is to upgrade to sense 6 lollipop. Whats your thought on that? And that's the one on the xda link you sent to me.

You can manually update. Just be sure to stick with stock recovery.

I can't use custom recovery ? What would be the result of using custom recovery?

In order to install an OTA you need to be on stock recovery.

And based on this update would I loose custom recovery and root privilege? And I can't use adb to update?

hi andrew.

First of all a big thumbs up for the article!! although doing an s-off was a bit difficult as firewater doesnt work now but i managed it. :) im using an at&t htc one m8. my problem is at step 4. when i boot into twrp and try wipe it says wipe failed. ive tried different versions of twrp everytime the same error. also when i try to enter into recovery manually from my phone a red triangle in a phone shows up on my screen. what should i do?

I have htc one m8 tmobile , rooted viperonem8 ... can I do this ?

Thank you very much :)
any suggestion easy way to do ??

Your best bet would be to use Sunshine:

Hey Andrew. Thanks again for taking the time to write this.

I successfully installed your version of the DevEd. Now when I try to download the OTA update it says that I'm running a modified version of the system software and it can't update the phone. It says I need to revert to the official HTC system software to update.

Are you using the stock recovery image?

Trying to redo this right.

So when I try to flash stock recovery (step 3) it starts it alright and then:
target reported max download size of 1826414592 bytes
sending 'recovery' <24576 kb>...
OKAY 1.963s
writing 'recovery'...
<bootloader> signature checking...
FAILED <remote: signature verify fail>
finished. total time 1.335s

What Sense/Android version are you on?

Android 4.4.2 and Sense 6.0

Btw, you da best for helping me man. I really appreciate it.

No problem

Run the fastboot command fastboot getvar all and let me know your MID, CID, version-main, and version-bootloader.

Messaged you the getvar results

So I successfully updated to the dev edition but now I can't update OTA. It says I'm using modified software.

"The TWRP backup file" link does not work

Hmmm that is strange. I just checked it and it worked fine for me. Are you using it on mobile or on a computer?

Hi! Sorry for that, I was trying to download it from work, so probably it was blocked by the security system.
Now I have another problem - the Wipe (step 4) is failing. Restarting the TWRP did not help...

Is the wipe saying it failed or is that actual boot into TWRP failing?

The wipe said it fails. I did smth like factory reset and everything is erased now:(

And when I click on "Restore", it's empty... And I cannot load any OS now, so I cannot view the filesystem

Now I managed to do everything as you said, but after the reboot it loads the bootloader again and stuck there. Cannot load the OS at all...

It looks like I've bricked my HTC using the guide... The recovery reaches 100%, it reboots and loads the bootloader. Any try to load it into system fails. It can only be loaded to the bootloader. I tried flashing new roms as well and the same happens. It finishes installing it and cannot be loaded into the system (bootloader only).

Any suggestion why it happens or should I buy new HTC?

Hi, Andrew!

Thanks a lot for your help, I'll try.
Which CID and MID should I chose for this RUU?

I've got a problem!.
I've done all the instructions, but it isn't working well.
My ATT ONE M8 is getting OTA update (1.54.1540.9)
But when I try to install it, I get a message:
We have determined that your phone may be running a modified version of its system software.
I'm stucked.

Are you rooted or running TWRP as your recovery image?

Thank you for putting this all together. I had to look back at this after receiving a new HTC One M8 (ATT stock) to replace my broken one.

"I've got a problem!.
I've done all the instructions, but it isn't working well.
My ATT ONE M8 is getting OTA update (1.54.1540.9)
But when I try to install it, I get a message:
We have determined that your phone may be running a modified version of its system software.
I'm stucked."

I too have this issue. I did everything step by step. Any easy fix?
Im not rooted and I have the stock recovery provided above.

Are you rooted? Do you have stock recovery? Have any tweaks installed? What is your current CID/MID?

I even relocked my bootloader to rule that out

PS. I have a T-Mobile variant. NOT ATT

Can I perform the same steps on a AT&T 0P6B120 with android 5.0.2?

As long as you are S-Off the steps will be the same

I didn't flash the stock recovery above since I was already on stock but got a "Variant system version" error message when installing OTA. Flashing it fixed that. Also I had to change CID and MID. Thanks.

This guide is somewhat incomplete.

Each model of the M8 has it's own Model Identification (MID). So if you have a European model for example, your MID would be 0P6B100 and your CID would be one which is paired with that particular MID.

This guide shows you how to change your CID to the developer edition CID which is BSUS002, which is fine, however you now have a MID/CID mismatch and the result is OTA will not work.

What you have to do after following this guide is change the MID to 0P6B120 - which is the correct MID for the developer edition. Once you do this step, OTA will work again.

To change the MID follow this guide here:

For a list of MID see here:

Yeah!! The correct MID and CID names are BSUS002 / 0P6B12000 respectively. Thanks for the information, now my HTC is Developer edition.

Excellent guide. Thanks alot. Whit the complement of Crhis Flowers I have htc one developer edition. But I have a problem, the recovery don't run, instead shows up a red triangle. Is there any way to fix it. I have installed the stock recovery.

Thanks for your help

So have you been able to convert the Sprint version of the M8 to DevEd?

The Spring version cannot be converted into a dev edition.

I am using htc m8 ,so i want to change its rom in iso 9 so tell me is it possible?
Can i root iso 9 on htc 8?
If this posible then help me please how this posible?

Are you talking about iOS 9? That is Apple's mobile OS which means it will never run on an Android device.

Hey Andrew I'm having this issue ..
After "fastboot boot {location-of-TWRP.img}" the phone reboots but not into TWRP recovery.
For what I red I should proceed in the following order:
adb reboot bootloader
fastboot flash recovery {location-of-TWRP.img}
fastboot flash recovery {location-of-Stock-Recovery.img}
fastboot erase cache
fastboot reboot-bootloader

If steps are not right... could you be so kind to provide me the list?

Correct me if I'm wrong, cause I already got a red exclamation mark that scare the shit out of me.

ps1. should I change MID too?
ps.2 is there any shorter way to install marshmallow instead of going though every OTA update?

after flashing the recovery it fail and says partition not selected

Share Your Thoughts

  • Hot
  • Latest