• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

Nexus 4; Investigating thermal throttling [HardMod] [v1.2]

Search This thread

troun2000

Senior Member
Oct 28, 2012
71
215
Post available in PDF [v1.1]

So it is a fact that Nexus 4 SoC throttles pretty often and even if it does not remove anything to this phone, it is one of its particularity compared to other phones using APQ8064 that are not known to throttle so strongly. So, question is why?


Symptoms

So first of all, what is thermal throttling, and what does it has for consequences for your Nexus 4 ?
Quick explanation is that when a chip (CPU, GPU or in our case a SoC) reach a limit temperature, it will reduce its frequency to reduce heat and temperature. For a more complete description, check Wiki.
Keep in mind that with or without throttling, the Snapdragon S4 in your N4 remains one of the quickest SoC on the market. However, it can affect performances on eavy duty applications like 3D games. Better than a long description, check below graph.
8559148359_5692ef6db1.jpg



So lets try to find from where this thermal throttling does come from;
After having a look at Ifixit teardown, I was pretty surprised by the low thermal inertia of my phone and the heat concentration under stress situations (mainly located on the right of the back camera). It looked to me pretty strange, especially after seeing following pictures;
igUGqdEvFQasxaVD.medium
veEObnOD4dFroXcp.medium



Indeed, after “mentally returning” the 2 pictures, you understand that SoC is facing display and should be spread its heat on the whole grey frame.

So I decided to dismount my own Nexus 4, and performed some measurements with a calliper. I found the following;
8453554566_3c32c1f70e.jpg


Which is quite a surprise if you consider that the chips height is almost the same;

8453567200_ec253b2f21_c.jpg


In other words, the EMI shield (left) may come in contact with the frame (in the 1mm depth pocket) while the APQ8064/DRAM Stack (centre) may remain isolated (no contact in the 1,5mm pocket). This is pretty sad if you consider that the below frame appears not to be plastic material but to be made of light weighted metallic alloy (Aluminium and/or Magnesium) and could be used as heatsink.

I won’t overflowed you with tons of pictures but if you look carefully at Ifixit teardown you will also notice that motherboard is pretty thermally insulated from the metallic frame, while at the same time it is pretty well thermally coupled to the battery with bronze housings/threads and wide copper band;
8452361949_027b1b1df6_c.jpg

8453611548_398a05ff55_c.jpg

(Please note the 2 battery max temperatures, 40 or 60°C?)

So what do all these pictures show? That mainboard may evacuate its heat through the metallic bridge to the battery while it ‘should’ evacuate it through the metallic frame.


Diagnostic

After several stress test runs, it seem that Nexus 4 tries to keep its battery below 40°C, so it downclocks from 1512Mhz to 1242Mhz when reaching ~37°C and from 1242Mhz to 1134Mhz when hitting ~39°C, while it may completely shutdown when battery reach 60°C.

So after all these founding I made a small quick tendency study;
8452532027_9d6787ee73_c.jpg

So, no need to be a genius to understand what is happening, the “insulated” motherboard spreads its heat to the battery which behaves like a heat capacitor all this through the ‘metallic bridge’. Unfortunately, battery thermal sensor is between heat source and heat capacitor.



The cure

So I first tried to apply some thermal paste (a lot! :) );
8453640524_316cae9743_c.jpg


Which lead to an obvious result as you can hardly fill a 0.5mm gap with thermal paste;
8453644270_207fcc65f8_c.jpg


So as second try I used a small piece of copper to fill the gap (Pre-installation pictures only for showing copper piece dimensions);
8467802610_af6631de23_c.jpg

8467802958_1ba5b367f2_c.jpg

8453653744_a1135960ae_c.jpg


I used stability test to stress CPU and observed time before it throttles first @1242Mhz and then @1134Mhz. Please note that I throttling appear to happen when battery sensor reach 37°C. (EDIT: or when SoC reach 60°C)
As a result I obtained following delays before throttling; (EDIT: Other users results added)

8643149770_6e601d7bd2_c.jpg


Even the thermal ‘pad’ solution, despite its bad efficiency, induces a significant improvement, which gives credits to previous diagnostic/explanation.

Concerning the ‚copper solution, it seems that it solves completely the shutdown problem;
8467881380_92dc38a9e8_z.jpg

The asymptotic temperature appears to be below 50°C (it was ~41°C after ~15min).

We can also notice that phone temperature surface is more uniform, and hot spots almost disappeared.

Bottom line

So is it ideal solution to solve N4 throttling?
For sure not, because it does not completely remove throttling problem, but at least gives you much more headroom before it happens (especially under real world applications). Not to forget that the battery is deeply glued to the frame so it may collect heat pretty well, but at least battery sensor will now reports a more realistic temperature and not any more battery PCB one.
It also may increase cooling capabilities, as with this mod, you use the complete surface of the phone to cool down (front, back and even sides as frame goes at edges).

In other words, this mod allows you to use your whole phone heat capacity, which increases time before throttling. Using it with undervolting soft mod may bring you the best results.
I hope this could be useful.



Doing the Mod

_ Careful!!! Disassembly Nexus 4 is not difficult, as long as you keep cool, you have proper tools and enough time. Please do not forget to put back the black plastic cover before screwing the motherboard again, however you may damage your screen! (check Jiia posts)

_ Dimensions of the pocket in the aluminium/magnesium frame is about 15mm x 15mm x 0.5mm (with corner rounding ~0.25mm). The APQ8064 chip itself has smaller dimensions, more in the 13mm x 13mm range. So "perfect safe dimensions" would be 14.5mm x 14.5mm x 0.5mm for the pad, if it is a solid (metallic) one. Be careful and try to keep your shim as flat as possible to avoid any stress after montage. For sure you have more flexibility with a soft one (thermal pad, graphite...).

_ Concerning material; if we remain IRL (forget diamonds!) a list of possible material (with decreasing efficiency), may look likes:
graphite foil, Silver/Copper shim, aluminium shim, (most) other metal shim, thermal pad/paste, thermal tape.

Graphite foil: may give the better performances, but may be difficult to supply (not so expensive, but companies sale usually only big quantities).
Copper shim: DIY may not that easy (0.5mm is easy to bend), but you can buy finish products.
Aluminium shim: relative easy to supply and to manufacture (scissor may work), with very close performance than copper.
Other metal shim: may be the easiest to find (ask your local garage mechanic). Lower performance than copper or aluminium but better than pad (steel family). Check thermal conductivity for other possibilities (Bronze, brass, zinc...)

_ Where to find/buy;
Graphite Foil. or on Ebay (careful, Inches)
0.5mm Copper pads on ebay, or on ebay...
0.5mm Aluminium sheet. also on ebay


Thanks to all the regulars and helpful contributors to this post
 
Last edited:

troun2000

Senior Member
Oct 28, 2012
71
215
I've lots of money to put in :) .
I also wanted to correct harDmod but I do not find where to edit title.


EDIT: I found it (go advanced), but edition is blocked for me.
 
Last edited:

Peter1856

Senior Member
Dec 10, 2010
304
28
While that makes perfect sense, problem and the solution, what if LG actually designed it this way and had their reason to not directly "connect" it to the frame? Either way, nice work for spotting this!

And also which hardware rev do you have? Something like this could be "easily" solved by LG with a different hardware rev, for example with a thermal pad (like the ones in GPU memory and stuff like that).
 

troun2000

Senior Member
Oct 28, 2012
71
215
Nice!

What about using a .5mm thermal pad as those used for transferring heat from gpu ram to waterblocks?

I think you will get similar results to the ones I had using thermal paste. Pre-applied thermal pad are foreseen to be 'compressed' (they are only thick thermal paste), while the one you can cut with scissors have a 'foam' structure which is not as efficient as 'bulk' material.
At least it may be better than stock but not as good as the copper piece. Why not trying to use aluminium sheet? (light, 0,5mm sheet can be cut using scissors, high thermal conductivity)


While that makes perfect sense, problem and the solution, what if LG actually designed it this way and had their reason to not directly "connect" it to the frame? Either way, nice work for spotting this!

And also which hardware rev do you have? Something like this could be "easily" solved by LG with a different hardware rev, for example with a thermal pad (like the ones in GPU memory and stuff like that).

Fair question, I also had it; why LG engineers designed it like this (as they are for sure not idiots and that I do not pretend to teach them their work)? I do not know. For me, the very unsatisfying but most probable answer is that a thermal pad was foreseen (there is a dedicated pocket!) but abandoned.

How do I check Hardware revision?
 

Ya Mudda

Member
Mar 13, 2012
20
1
Re: Nexus 4; Investing thermal throttling [HarMod]

So, would it be possible to put a thermal pad where it was originally supposed to be?

Sent from my Nexus 4 using xda app-developers app
 

Eclipse_Droid

Senior Member
Sep 9, 2011
935
244
Cambridge
i cant help wondering that this design was infact intentional.....

especially when there have been a lot of people having issues with yellow spots on the screen when the phone gets hot. This is maybe a reason to keep heat away from the back of the screen where the backplate is located.

i could be wrong though.


Either way, this is some great work by the OP!:good:
 

troun2000

Senior Member
Oct 28, 2012
71
215
So, would it be possible to put a thermal pad where it was originally supposed to be?

Sent from my Nexus 4 using xda app-developers app

Yes for sure, you can do it, but as already said, my guess is that bulk material is better. For a few $ you can get aluminium sheet that may give you much better performances (with two drops of thermal paste).
Opening for the first time a smarphone is quite stressfull, but this N4 is quite easy.


Oh yeah, I completely missed that logo, and I treble checked the image to make sure. D'oh, sorry!

40°C can't be it's max temp, so I wonder what it's referring to...

NOP ;)
My guess is that 40°C may refer to long term usability temperature (optimal Lithium battery temperature is ~20°C), while 60°C is more an ultimate 'survival' temperature before you seriously damage it.
 

troun2000

Senior Member
Oct 28, 2012
71
215
i cant help wondering that this design was infact intentional.....

especially when there have been a lot of people having issues with yellow spots on the screen when the phone gets hot. This is maybe a reason to keep heat away from the back of the screen where the backplate is located.

i could be wrong though.


Either way, this is some great work by the OP!:good:

Thanks for thumb up!

I did not knew about these yellow spots and screen problems.
However I would say that with this mod, average screen temperature may be for sure higher, but I am pretty sure that its maximum temperature may be lower as you spread the heat on much bigger surfaces (if you prefer, temperature gradient may be lower with mod).
On last test, after 15min, battery (which is deeply glued to the frame) sensor reported ~41°C, I really do not think that screen may have seen temperature higher than 45°C.
So what is the best for lifespan; 10 pixels @55°C and 1 billion @25°C or 1 million of pixels @40°C ? I do not know.



By booting into bootloader. Volume down and power button to boat into bootloader

:good: So it seems I have a Rev11.
 
Last edited:
  • Like
Reactions: jolithan

Top Liked Posts

  • There are no posts matching your filters.
  • 170
    Post available in PDF [v1.1]

    So it is a fact that Nexus 4 SoC throttles pretty often and even if it does not remove anything to this phone, it is one of its particularity compared to other phones using APQ8064 that are not known to throttle so strongly. So, question is why?


    Symptoms

    So first of all, what is thermal throttling, and what does it has for consequences for your Nexus 4 ?
    Quick explanation is that when a chip (CPU, GPU or in our case a SoC) reach a limit temperature, it will reduce its frequency to reduce heat and temperature. For a more complete description, check Wiki.
    Keep in mind that with or without throttling, the Snapdragon S4 in your N4 remains one of the quickest SoC on the market. However, it can affect performances on eavy duty applications like 3D games. Better than a long description, check below graph.
    8559148359_5692ef6db1.jpg



    So lets try to find from where this thermal throttling does come from;
    After having a look at Ifixit teardown, I was pretty surprised by the low thermal inertia of my phone and the heat concentration under stress situations (mainly located on the right of the back camera). It looked to me pretty strange, especially after seeing following pictures;
    igUGqdEvFQasxaVD.medium
    veEObnOD4dFroXcp.medium



    Indeed, after “mentally returning” the 2 pictures, you understand that SoC is facing display and should be spread its heat on the whole grey frame.

    So I decided to dismount my own Nexus 4, and performed some measurements with a calliper. I found the following;
    8453554566_3c32c1f70e.jpg


    Which is quite a surprise if you consider that the chips height is almost the same;

    8453567200_ec253b2f21_c.jpg


    In other words, the EMI shield (left) may come in contact with the frame (in the 1mm depth pocket) while the APQ8064/DRAM Stack (centre) may remain isolated (no contact in the 1,5mm pocket). This is pretty sad if you consider that the below frame appears not to be plastic material but to be made of light weighted metallic alloy (Aluminium and/or Magnesium) and could be used as heatsink.

    I won’t overflowed you with tons of pictures but if you look carefully at Ifixit teardown you will also notice that motherboard is pretty thermally insulated from the metallic frame, while at the same time it is pretty well thermally coupled to the battery with bronze housings/threads and wide copper band;
    8452361949_027b1b1df6_c.jpg

    8453611548_398a05ff55_c.jpg

    (Please note the 2 battery max temperatures, 40 or 60°C?)

    So what do all these pictures show? That mainboard may evacuate its heat through the metallic bridge to the battery while it ‘should’ evacuate it through the metallic frame.


    Diagnostic

    After several stress test runs, it seem that Nexus 4 tries to keep its battery below 40°C, so it downclocks from 1512Mhz to 1242Mhz when reaching ~37°C and from 1242Mhz to 1134Mhz when hitting ~39°C, while it may completely shutdown when battery reach 60°C.

    So after all these founding I made a small quick tendency study;
    8452532027_9d6787ee73_c.jpg

    So, no need to be a genius to understand what is happening, the “insulated” motherboard spreads its heat to the battery which behaves like a heat capacitor all this through the ‘metallic bridge’. Unfortunately, battery thermal sensor is between heat source and heat capacitor.



    The cure

    So I first tried to apply some thermal paste (a lot! :) );
    8453640524_316cae9743_c.jpg


    Which lead to an obvious result as you can hardly fill a 0.5mm gap with thermal paste;
    8453644270_207fcc65f8_c.jpg


    So as second try I used a small piece of copper to fill the gap (Pre-installation pictures only for showing copper piece dimensions);
    8467802610_af6631de23_c.jpg

    8467802958_1ba5b367f2_c.jpg

    8453653744_a1135960ae_c.jpg


    I used stability test to stress CPU and observed time before it throttles first @1242Mhz and then @1134Mhz. Please note that I throttling appear to happen when battery sensor reach 37°C. (EDIT: or when SoC reach 60°C)
    As a result I obtained following delays before throttling; (EDIT: Other users results added)

    8643149770_6e601d7bd2_c.jpg


    Even the thermal ‘pad’ solution, despite its bad efficiency, induces a significant improvement, which gives credits to previous diagnostic/explanation.

    Concerning the ‚copper solution, it seems that it solves completely the shutdown problem;
    8467881380_92dc38a9e8_z.jpg

    The asymptotic temperature appears to be below 50°C (it was ~41°C after ~15min).

    We can also notice that phone temperature surface is more uniform, and hot spots almost disappeared.

    Bottom line

    So is it ideal solution to solve N4 throttling?
    For sure not, because it does not completely remove throttling problem, but at least gives you much more headroom before it happens (especially under real world applications). Not to forget that the battery is deeply glued to the frame so it may collect heat pretty well, but at least battery sensor will now reports a more realistic temperature and not any more battery PCB one.
    It also may increase cooling capabilities, as with this mod, you use the complete surface of the phone to cool down (front, back and even sides as frame goes at edges).

    In other words, this mod allows you to use your whole phone heat capacity, which increases time before throttling. Using it with undervolting soft mod may bring you the best results.
    I hope this could be useful.



    Doing the Mod

    _ Careful!!! Disassembly Nexus 4 is not difficult, as long as you keep cool, you have proper tools and enough time. Please do not forget to put back the black plastic cover before screwing the motherboard again, however you may damage your screen! (check Jiia posts)

    _ Dimensions of the pocket in the aluminium/magnesium frame is about 15mm x 15mm x 0.5mm (with corner rounding ~0.25mm). The APQ8064 chip itself has smaller dimensions, more in the 13mm x 13mm range. So "perfect safe dimensions" would be 14.5mm x 14.5mm x 0.5mm for the pad, if it is a solid (metallic) one. Be careful and try to keep your shim as flat as possible to avoid any stress after montage. For sure you have more flexibility with a soft one (thermal pad, graphite...).

    _ Concerning material; if we remain IRL (forget diamonds!) a list of possible material (with decreasing efficiency), may look likes:
    graphite foil, Silver/Copper shim, aluminium shim, (most) other metal shim, thermal pad/paste, thermal tape.

    Graphite foil: may give the better performances, but may be difficult to supply (not so expensive, but companies sale usually only big quantities).
    Copper shim: DIY may not that easy (0.5mm is easy to bend), but you can buy finish products.
    Aluminium shim: relative easy to supply and to manufacture (scissor may work), with very close performance than copper.
    Other metal shim: may be the easiest to find (ask your local garage mechanic). Lower performance than copper or aluminium but better than pad (steel family). Check thermal conductivity for other possibilities (Bronze, brass, zinc...)

    _ Where to find/buy;
    Graphite Foil. or on Ebay (careful, Inches)
    0.5mm Copper pads on ebay, or on ebay...
    0.5mm Aluminium sheet. also on ebay


    Thanks to all the regulars and helpful contributors to this post
    6
    Re: Nexus 4; Investigating thermal throttling [HardMod]

    It seems you gonna be the most advanced here by having both under-volting and copper mod, I start being jealous... :p
    I guess I should start seriously to take a look at alternatives ROMs and kernels :D

    Initial tests complete, will come back when gather more data. Initial results not impressive.
    Edit. I might have to take the above statement back and choke on it.... o_O
    --------------------------------
    Sent from my fridge. Make: LG Model: N⁴


    ---------- Post added at 05:30 PM ---------- Previous post was at 05:29 PM ----------

    Ok. Can't be asked to di pic comparison so here is raw data.

    Both UV -150mV
    Code:
                    Run before the mod                 |          Run after the mod
                    ------------------------------------------------------------------------------------------------
    Run time   |  06.11   |  07.49   |  12   |        |       | 06.11   |  07.45   |  10 throttled and kept this temps stable
    ----------------------------------------------------------------------------------------------------------------
    CPU temp |  61             63       59                       50         52          54 
    CPU freq   |  1.5           1.24    1.29                     1.5         1.5        1.29
    BAT temp  |  34            37       36.5                     32         34          36.5
    BAT drain  |     all around 1.2Ah(1200mAh)               from 0.8Ah to 1.1Ah (800mAh to 1100mAh)

    So yeah, me likes it. :) I like that cpu temp was lower by quite a bit, even before throttling, battery stay cooler etc. All positive. However, I hardly reach such temperatures, but it will definitely be handy in the summer to disperse heat more as it uses more of a body to do so. Lets see how it performs in real life situations. :)


    VERDICT:. DO IT!!!
    6
    Test setup:

    Room temp: ~24c
    Location: on top of my desk
    Power: Battery power, not charging
    Environment: My hot breath ~30c breathed onto the phone watching it cook
    ROM: CyanogenMod 10.1 M3
    Kernel: Faux mako kernel v 014m
    Brightness: Auto
    Kernel settings: Max: 1512MHz, Min: 162MHz, Ondemand, mpdecision: ON, GPU Max: 400, GPU: Ondemand
    Software: StabilityTest v2.7 using Classic Stability Test
    Mod: Sterling Silver 0.6mm & Arctic Silver 5
    Case/Bumper: None

    First results in, no undervolt (what a joke, compare it to the NEXT result. I was playing with undervolting today and forgot to set it again). This is what I have observed:

    21c @ 00:00 1512MHz
    36c @ 05:53 1512MHz - Where stock should first throttle
    39c @ 08:59 1512MHz - Where stock should second throttle
    41c @ 11:13 1350MHz - Where faux should first throttle
    42c @ 15:60 1134MHz - Where faux should second throttle
    41c @ 20:00 1134MHz

    As you can see, it took a good 10 minutes for it to downclock from faux's rules, I am not sure if this can be added to OP's chart because the thermal threshold is different from stock, it starts downclocking at 41c

    At 20 minute mark, I see it bouncing between the 1134MHz and 1350MHz, so there was no point continuing until I have -125mV downvolt.


    With -125mV, WOW! BIG difference, same testing environment, about 20-30 minute later when it is at ~21c again:

    21c @ 00:00 1512MHz
    36c @ 10:15 1512MHz - Where stock should first throttle
    39c @ 16:32 1512MHz - Where stock should second throttle
    40c @ 20:00 1512MHz

    My result? 20 minutes, no throttling relative using faux's kernel and undervolt = SUCCESS!! Silver probably does make a difference here HAHA

    Realism test setup changed attributes:

    Room temp: ~26c - heater on
    Location: in my hands, back covered 80-90% area
    Power: Battery power, charging
    Brightness: Full brightness
    Software: StabilityTest v2.7 using CPU+GPU Stability Test

    25c @ 00:00 1512MHz - What temperature I usually see when I take it out of my pocket
    36c @ 08:12 1512MHz - Where stock should first throttle
    39c @ 16:32 1512MHz - Where stock should second throttle
    40c @ 20:00 1512MHz

    Interesting result, at 20 minutes, it is actually still just below 40c. Take this result as a grain of salt, I don't think this test was stressful enough.

    May be a good idea to state your kernel, because they all might have different throttle rules, you can check the details in the file thermald.conf under etc folder. Charging the phone at the same time might also cause a higher temperature
    6
    Excellent guide. Since I've opened this baby up a couple times, I'm pretty comfortable doing what you suggested. My questions are, would copper or aluminium be better, and again, how thick the piece, and where would I get it? I'm sure I could crimp the piece to the right size, and then hit it with some sand paper to make it smoother, but I'm not very mechanically minded... and other than some hvac work, have no experience with metal sizes, etc. I thought copper was a better thermal conductor, why would aluminum be better? Because it's cheaper?

    Also, I wanted to answer the concern about the glue spots. If you look around the glue spot problem is in another area. It seems to be where the machine or people press the layers of the screen together with glue that causes the spots. I've had a few RMA's of this device, and everytime I had a big glue spot, the screen had a small deformation in the glass, much like a faint car door ding on the screen, a little farther than halfway down in the middle. The chip sits much higher than that, and I've always had the bluest part of the screen up at the top. So in other words, I doubt this will effect your screen negatively at all. Furthermore, it's hot spots that cause problems more than general heat. Heat dispersed evenly, even at higher temperatures tends to affect performance much less than one concentrated part heated to a greater degree. This is my experience with computers, and you can see by a few examples where people cooled their case in an aquarium with mineral oil. Pretty wierd, but cool looking and the machines would get quite warm, though stable because the entire environment was the same temperature. Anyway, anecdotal a little, but I know heat spots are the biggest issue. I want to do this mod this weekend!

    You are correct copper is better for thermal conductivity but I was recommending aluminium as it is easier to find, you can cut it with scissors (what you can not do with copper) and I am pretty sure that differences may be minimal (and still much better than pads). Do what ever you want, but I wouldn't loose time to sand the surface as the PoP structure in much more limiting the heat transfer than the surface finish.

    Sorry I missed the glue spot question. What is it about?


    What keeps the copper on the chip though? Won't it slide off at some point when the paste gets hot? Also what are the dimensions of the chip itself?

    Sent from my Nexus 4 using xda premium

    The copper piece is hold in place by the pocket in the metallic frame, on edges, while thermal paste prevent in anyway any displacement.
    So far I remember the pocket in the housing is about 14,5 x 14,5mm (15 x 15mm with rounding) where the chip is more 13 x 13mm. The height is a bit more than 0.5mm (let say 0.6mm) but I did not wanted to add any stress between motherboard and screen (and thermal paste is enough to fill 0.1mm gap). As it is a PoP, height may also differ from a motherboard to another.


    The logic board should keep it in place without moving.

    But a more elegant solution would be a thermal pad, albeit not as efficient as the copper pad.

    Cheers!

    Sent from my Nexus 4 using xda premium

    The frame, not the motherboard, keep it in place, but yes, this is the idea (+ 'sucking effect' of thermal paste).
    Are you saying my solution is not elegant? :(
    :D


    I'd love to see the long term effects of this!

    I am sure not as much as I would like to... :fingers-crossed:
    6
    As I promised to show you all my silvers :D

    Ran like 3 x quadrants, 2 x 3dmarks, still have not seen it go above 38c using faux 14tbu at 1.944GHz max and 162MHz min with -100mV across the board

    This is a brand new Nexus 4 haha, I think the silver was worth it.