Skull One
Member
- Joined
- Mar 11, 2010
- Messages
- 759
- Reaction score
- 6
OverClocking 101
This thread will be my attempt at helping you develop a very good foundation of knowledge for overclocking the Motorola Droid.
I am finding out that the second post is applicable to all Android based phones regardless of manufacturer. So if you want you can skip to the SetCPU section.
For those of you who have read some of my early work on this, I suggest a reread. I decided to get a tad more technically correct with this write up because I found most of you really wanted to know the complete ins and outs not just a sugar coated version that made sense.
So let's start with some ground rules.
1) Facts are king.
2) Opinions will be noted as opinions.
3) Subjective will be explained based on observations.
4) Examples will be simplified but I will post a link so you may research the full details when justified.
What is overclocking?
Overclocking is the practice of changing the frequency of a device so that it runs faster than intended.
That definition, while factual, is subjective when it comes to the Motorola Droid. The reason is simple. The stock Droid is clocked at 550Mhz. The OMAP3430 (The processor of the Droid) is built by the manufacturer to be clocked at 600Mhz. Who asked for it to be underclocked? Texas Instruments? Motorola? Verizon? Does it really matter? The best answer is no. Because we, as the owner of the phone, get to decide the amount of risk that is taken when we pick a kernel and clock speed.
So now we should cover the other side of the coin. What is underclocking?
Underclocking is the practice of changing the frequency of a device so that it runs slower than intended.
Once again a factual definition but also subjective when it comes to the Droid. The reason: the Droid underclocks itself, when it can, to extend battery life.
So what are the Pros and Cons of overclocking?
Pro: Faster Droid.
Con: Battery usage.
Could I list a whole slew of Pro's and Con's? Yes. But those two are, in my opinion, the two that matter for the purpose of this thread.
Let's review what makes a Droid overclockable.
Yield. It is a very interesting word in the world of electronics. Time to find out why. Each batch of chips and batteries made for a device are manufactured to achieve a certain yield. So let's do a simple run down on chip manufacturing. And let's start with the shiny metal plate called the wafer.
1) A wafer is X number of inches across.
2) The number of chips per wafer is based on the size of both the chip and wafer.
So a 12" wafer with .5" chip would have roughly 370 chips on it.
3) A chemical, photographical, electrical and mechanical set of processes etch/build the chips on the wafer.
4) The number of chips that meet the minimum requirement set by the manufacture is called the YIELD.
So if 100 chips are made on a wafer and only 80 of them pass quality control the yield is subjectively 80%. So if the next wafer has 85 chips passing QC, then that wafers yield is 85%. But the combined yield is now 82.5% ((80+85)/2). Once they have done a minimum run of wafers, anywhere from 10 to 1000, they calculate the yield across all wafers from that run as the base yield.
See Semiconductor device fabrication - Wikipedia, the free encyclopedia if you want the nitty gritty on what I just condensed.
So how does that affect what we are trying to do when it comes to overclocking? Simple, to get the highest yield possible they do their very best to make each chip on a wafer perfect. In that search for perfection it allows us to overclock. But the subjective part is, which chip did you get in your Droid? The flawless one that allows you to over clock to 1300Mhz or more? The good one that allows you to over clock to 1000Mhz? Or the marginal one that meets yield requirement and only allows you to over clock to 600Mhz? That is what makes overclocking very subjective. You won't know what the chip can do till you try everything.
Batteries are the next issue we need to discuss because heat is their enemy. If you overclock at a high enough frequency you are going to use more battery and generate more heat.
Subjective/Opinion: You should try to keep the battery between 32F (0c) - 120F (48.9c)
Subjective/Fact: As you approach cross 120F on the battery you are actually causing the battery to discharge at a faster rate. Even if the CPU isn't putting a large demand on it.
Getting your Droid's ambient temperature (the whole droid) above 130F for any length of time should be considered a bad idea. The battery itself is the issue. When a lithium-ion battery reaches around 140F, it can enter the state of "self heating" or more commonly referred to as "thermal runaway". Reach this state enough times or holding it there too long and the battery will become unusable as the individual cells of the battery break down from thermal overload.
The second issue is that the battery is the single largest surface area that can generate heat in the Droid. This heat is radiated in all directions. While the Droids back door is designed as a heat sink, the mother board on the opposite side is not. That heat will soak into the motherboard and it will eventually cause issues. Most notably Force Closes (Applications failure), erratic behaviors and finally failure of the Droid. The OMAP3430 CPU and support chips also generate heat. If both occur, you can actually heat soak the Droid to the point of failure by causing components to fail do to stress. What kind of stress? Physical. Remember grade school science? Heat something it expands and when cooled it contracts. Let's look at where that happens in the Droid.
Each material used in making a device has a different expansion and contraction rate based on their heating and cooling cycle. So, the mother board will expand and contract at a different rate than the solder. The solder will expand and contract a different rate than the leg of the chip. The leg of the chip will expand and contract at a different rate than the packaging and wafer it is connected to. As you heat soak the surface mount component they will go through this cycle from several times a day to sometimes several times a minute. As this happens, stress is being applied to the solder joints and the wafer in the chip. This stress will eventually cause a crack. If the crack breaks a connection, the chip fails and you buy a new Droid. The question of course is simple. How many times does this have to happen before guaranteed failure of either the solder point or of the chip itself? That is an answer that NO ONE can give with absolute certainty. We can only calculate a MTBF (Mean Time Between Failure). BTW, don't bother looking for the MTBF of the Droid. They have never stated it. Because the amount of testing to figure it out simply costs too much to be useful. But now you see why the Droid was underclocked to 550Mhz. The odds of it failing are greatly reduced.
The last part of overclocking we need to cover before moving on is Voltage.
CPUs are comprised of several types of components. Transistors, resistors, capacitors and diodes are the primary building blocks. With that in mind, electricity follows through each and is effected by their characteristics. So let's put that info to practical use.
A CPU needs electrons to work. Those electrons must meet two conditions to be useful to the CPU. A potential, known as Voltage and current (the number of electrons with a potential) known as Amperage.
As you raise the CPU frequency or Mhz, you are increasing the speed at which the electrons flow thru the circuit. This increase in speed results in more heat being generated by the CPU. Simply put the electrons are creating friction as they flow through the components of the CPU. The faster they go, the more electrons that pass a single point and the more friction or heat is generated at that point. Since there are millions of points in a CPU you can see why there can be a lot of heat. If you want a refresher course on friction and heat rub your hands together slowly. Not much heat. Now rub faster but maintain the same amount of pressure. Even more heat. Now apply more pressure at the faster speed. Even more heat. That added pressure is similar to what voltage does to a circuit. So let's see why different voltages exist for kernels.
Each CPU is technically unique. Some work better than others. Some work so well they only need low amounts of voltage to change the state of a transistor in a CPU. The issue is every transistor can be technically different on what voltage level is needed to switch states. And since there are millions of transistors in a CPU you have to find a voltage that will change the state of all of them properly. Now let's add in to the mix the frequency we want to run at. As you raise the frequency the electrons spend less time at each transistor. That time may not be enough for the transistor to switch state properly. Raise the voltage though and you will eventually have enough potential to cause the transistor to switch state. And there is where the chase to overclocking a Droid happens. Having the right amount of Voltage at the proper Frequency to make the CPU operate as expected.
So how do we know which frequency and voltage to pick? Testing. You should test each voltage and frequency over a period of time. So here are the signs you need to look for to know if what you are testing isn't working for you. And remember the higher the clock rate or Mhz the more likely a failure will occur.
Force Closes on things that used to work properly on stock voltage and frequency (IE how your Droid came).
Data corruption.
Unexplained anomalies.
The good news is, you shouldn't cause any damage to the hardware if you avoid generating too much heat, but your data on the other hand may become corrupted. Of course that is why we do nandroid backups before we do any new testing. I know the next question already. Where do I start?
My opinion is, medium voltage (stock) and 800 Mhz. Monitor your heat and programs. If nothing bad happens after an hour of testing, jump to 1000 Mhz. Then 1100 and finally 1200. As you get closer to 1200, you will see the heat in your Droid rise. Pay close attention to that. Now once you know your top speed, then start all over with low voltage and run the same tests. If you are lucky your Droid will operate the same way as it did with medium voltage. Should it work, you will end up using less battery to do the same job. And remember; my subjective opinion is you don't want to see the battery go over 120F or the CPU going over 135F for any length of time. The reason for this cautious limits reminder? Lithium-Ion batteries can reach thermal run-away at 140F. The CPU can handle up to 170F but the mother board holding it and the components around it are only rated to around 154F. So staying below both will help you stay happy with a working Droid.
Next up: SetCPU and how to use every feature to achieve your goal.
This thread will be my attempt at helping you develop a very good foundation of knowledge for overclocking the Motorola Droid.
I am finding out that the second post is applicable to all Android based phones regardless of manufacturer. So if you want you can skip to the SetCPU section.
For those of you who have read some of my early work on this, I suggest a reread. I decided to get a tad more technically correct with this write up because I found most of you really wanted to know the complete ins and outs not just a sugar coated version that made sense.
So let's start with some ground rules.
1) Facts are king.
2) Opinions will be noted as opinions.
3) Subjective will be explained based on observations.
4) Examples will be simplified but I will post a link so you may research the full details when justified.
What is overclocking?
Overclocking is the practice of changing the frequency of a device so that it runs faster than intended.
That definition, while factual, is subjective when it comes to the Motorola Droid. The reason is simple. The stock Droid is clocked at 550Mhz. The OMAP3430 (The processor of the Droid) is built by the manufacturer to be clocked at 600Mhz. Who asked for it to be underclocked? Texas Instruments? Motorola? Verizon? Does it really matter? The best answer is no. Because we, as the owner of the phone, get to decide the amount of risk that is taken when we pick a kernel and clock speed.
So now we should cover the other side of the coin. What is underclocking?
Underclocking is the practice of changing the frequency of a device so that it runs slower than intended.
Once again a factual definition but also subjective when it comes to the Droid. The reason: the Droid underclocks itself, when it can, to extend battery life.
So what are the Pros and Cons of overclocking?
Pro: Faster Droid.
Con: Battery usage.
Could I list a whole slew of Pro's and Con's? Yes. But those two are, in my opinion, the two that matter for the purpose of this thread.
Let's review what makes a Droid overclockable.
Yield. It is a very interesting word in the world of electronics. Time to find out why. Each batch of chips and batteries made for a device are manufactured to achieve a certain yield. So let's do a simple run down on chip manufacturing. And let's start with the shiny metal plate called the wafer.
1) A wafer is X number of inches across.
2) The number of chips per wafer is based on the size of both the chip and wafer.
So a 12" wafer with .5" chip would have roughly 370 chips on it.
3) A chemical, photographical, electrical and mechanical set of processes etch/build the chips on the wafer.
4) The number of chips that meet the minimum requirement set by the manufacture is called the YIELD.
So if 100 chips are made on a wafer and only 80 of them pass quality control the yield is subjectively 80%. So if the next wafer has 85 chips passing QC, then that wafers yield is 85%. But the combined yield is now 82.5% ((80+85)/2). Once they have done a minimum run of wafers, anywhere from 10 to 1000, they calculate the yield across all wafers from that run as the base yield.
See Semiconductor device fabrication - Wikipedia, the free encyclopedia if you want the nitty gritty on what I just condensed.
So how does that affect what we are trying to do when it comes to overclocking? Simple, to get the highest yield possible they do their very best to make each chip on a wafer perfect. In that search for perfection it allows us to overclock. But the subjective part is, which chip did you get in your Droid? The flawless one that allows you to over clock to 1300Mhz or more? The good one that allows you to over clock to 1000Mhz? Or the marginal one that meets yield requirement and only allows you to over clock to 600Mhz? That is what makes overclocking very subjective. You won't know what the chip can do till you try everything.
Batteries are the next issue we need to discuss because heat is their enemy. If you overclock at a high enough frequency you are going to use more battery and generate more heat.
Subjective/Opinion: You should try to keep the battery between 32F (0c) - 120F (48.9c)
Subjective/Fact: As you approach cross 120F on the battery you are actually causing the battery to discharge at a faster rate. Even if the CPU isn't putting a large demand on it.
Getting your Droid's ambient temperature (the whole droid) above 130F for any length of time should be considered a bad idea. The battery itself is the issue. When a lithium-ion battery reaches around 140F, it can enter the state of "self heating" or more commonly referred to as "thermal runaway". Reach this state enough times or holding it there too long and the battery will become unusable as the individual cells of the battery break down from thermal overload.
The second issue is that the battery is the single largest surface area that can generate heat in the Droid. This heat is radiated in all directions. While the Droids back door is designed as a heat sink, the mother board on the opposite side is not. That heat will soak into the motherboard and it will eventually cause issues. Most notably Force Closes (Applications failure), erratic behaviors and finally failure of the Droid. The OMAP3430 CPU and support chips also generate heat. If both occur, you can actually heat soak the Droid to the point of failure by causing components to fail do to stress. What kind of stress? Physical. Remember grade school science? Heat something it expands and when cooled it contracts. Let's look at where that happens in the Droid.
Each material used in making a device has a different expansion and contraction rate based on their heating and cooling cycle. So, the mother board will expand and contract at a different rate than the solder. The solder will expand and contract a different rate than the leg of the chip. The leg of the chip will expand and contract at a different rate than the packaging and wafer it is connected to. As you heat soak the surface mount component they will go through this cycle from several times a day to sometimes several times a minute. As this happens, stress is being applied to the solder joints and the wafer in the chip. This stress will eventually cause a crack. If the crack breaks a connection, the chip fails and you buy a new Droid. The question of course is simple. How many times does this have to happen before guaranteed failure of either the solder point or of the chip itself? That is an answer that NO ONE can give with absolute certainty. We can only calculate a MTBF (Mean Time Between Failure). BTW, don't bother looking for the MTBF of the Droid. They have never stated it. Because the amount of testing to figure it out simply costs too much to be useful. But now you see why the Droid was underclocked to 550Mhz. The odds of it failing are greatly reduced.
The last part of overclocking we need to cover before moving on is Voltage.
CPUs are comprised of several types of components. Transistors, resistors, capacitors and diodes are the primary building blocks. With that in mind, electricity follows through each and is effected by their characteristics. So let's put that info to practical use.
A CPU needs electrons to work. Those electrons must meet two conditions to be useful to the CPU. A potential, known as Voltage and current (the number of electrons with a potential) known as Amperage.
As you raise the CPU frequency or Mhz, you are increasing the speed at which the electrons flow thru the circuit. This increase in speed results in more heat being generated by the CPU. Simply put the electrons are creating friction as they flow through the components of the CPU. The faster they go, the more electrons that pass a single point and the more friction or heat is generated at that point. Since there are millions of points in a CPU you can see why there can be a lot of heat. If you want a refresher course on friction and heat rub your hands together slowly. Not much heat. Now rub faster but maintain the same amount of pressure. Even more heat. Now apply more pressure at the faster speed. Even more heat. That added pressure is similar to what voltage does to a circuit. So let's see why different voltages exist for kernels.
Each CPU is technically unique. Some work better than others. Some work so well they only need low amounts of voltage to change the state of a transistor in a CPU. The issue is every transistor can be technically different on what voltage level is needed to switch states. And since there are millions of transistors in a CPU you have to find a voltage that will change the state of all of them properly. Now let's add in to the mix the frequency we want to run at. As you raise the frequency the electrons spend less time at each transistor. That time may not be enough for the transistor to switch state properly. Raise the voltage though and you will eventually have enough potential to cause the transistor to switch state. And there is where the chase to overclocking a Droid happens. Having the right amount of Voltage at the proper Frequency to make the CPU operate as expected.
So how do we know which frequency and voltage to pick? Testing. You should test each voltage and frequency over a period of time. So here are the signs you need to look for to know if what you are testing isn't working for you. And remember the higher the clock rate or Mhz the more likely a failure will occur.
Force Closes on things that used to work properly on stock voltage and frequency (IE how your Droid came).
Data corruption.
Unexplained anomalies.
The good news is, you shouldn't cause any damage to the hardware if you avoid generating too much heat, but your data on the other hand may become corrupted. Of course that is why we do nandroid backups before we do any new testing. I know the next question already. Where do I start?
My opinion is, medium voltage (stock) and 800 Mhz. Monitor your heat and programs. If nothing bad happens after an hour of testing, jump to 1000 Mhz. Then 1100 and finally 1200. As you get closer to 1200, you will see the heat in your Droid rise. Pay close attention to that. Now once you know your top speed, then start all over with low voltage and run the same tests. If you are lucky your Droid will operate the same way as it did with medium voltage. Should it work, you will end up using less battery to do the same job. And remember; my subjective opinion is you don't want to see the battery go over 120F or the CPU going over 135F for any length of time. The reason for this cautious limits reminder? Lithium-Ion batteries can reach thermal run-away at 140F. The CPU can handle up to 170F but the mother board holding it and the components around it are only rated to around 154F. So staying below both will help you stay happy with a working Droid.
Next up: SetCPU and how to use every feature to achieve your goal.
Last edited: