VOGONS


First post, by tehsiggi

User metadata
Rank Member
Rank
Member

I'm coming here to you today with a nifty little mod. It should apply to all Radeon 9600 Pro, as long as they use the PCB shown in my pictures (usually the BGA memory ones).

This mod allows you to read out the temperatures of the GPU and ambient of your 9600 Pro. No matter if it is an RV350 or RV360.

Some background

I've studied a lot of schematics from Radeon cards of the R200/R300 era and found some interesting stuff. Whereas the normal R200 and RV250 did not have any thermal monitoring capabilities inside the ASIC, the RV280 (Radeon 9200/9250, RV350 & RV360 (Radeon 9550/9600) have a thermal diode for temperature sensing.

I will not go into R300, R350 and R360 for now, there is more to it than you might think (they appear to use a thermistor inside the ASIC in R300 and R350 - R360 looks like a diode again). Same is true for the RV280, more on that in a different post later.

This here is about the RV350 and RV360. They have two pins on their ASIC which are called D+ and D- and they are labeled in the section "THERM" which is kind of obvious.

Here you can see forwarding voltage of the thermal diode of my RV350:

9600-pro-temp-diode.jpg

Furthermore the schematics of the Radeon 9600XT suggest the use of an LM63 or ADM1030 for thermal sensing. You can think of it the following way:

- GPU has two pins for its thermal diode
- GPU has an interface (I2C) for communication to external peripherals like sensors
- There is an external IC that can interprete the voltage drop over the thermal diode and convert it into temperatures

The Radeon 9600XT and Radeon 9800XT were the only ones in the Radeon 9000 series to use this featue. Though not all cards with the name had it enabled. It was promoted as "Overdrive" which allowed the driver to automatically adjust the GPUs clock if the temperature headroom allowed for it. Something we take for granted today, but is pretty novel for consumer hardware back then.

The presence of the LM63 as the monitoring IC that reads the thermal diode of the RV350/RV360 is a must have to get the temperatures.

Tools like RivaTuner, ATITool or Everest will scan all I2C busses of the GPU (incl the ones for DVI and VGA btw) to check if there is a compatible sensor found. The LM63 being one of them.

All we need to do is populate the necessary parts and we're golden!

The card and parts

For this mod you will need a card that has the PCB prepared for the LM63. Usually 9600s with BGA memory fall into that category.

9600pro-back.jpg
9600pro-front.jpg

Here you can see the part where the LM63 would be placed if this card was an XT instead of a Pro and the vendor had decided to support overdrive.

PHO00018.jpg

We'll need the following parts:
- C257 - 2.2nF 0603 (filtering capacitor for thermal diode input)
- C256 - 100nF 0603 (de-coupling capacitor)
- C258 - 100pF 0603 (de-coupling capacitor)
- U20 - LM63

You'll note that R45 and R46 as well as R554 are already populated. These are the pull-ups (4.7kOhm 0603) for the I2C bus as well as for the ALERT (20kOhm 0603) signal of the LM63. Interestingly on all my cards the parts are populated, allthough nothing but the LM63 relies on them. I suppose since they were negligible in BOM cost, they just slammed them on there. (Furthermore they are on a different page of the schematic 😉). This means the I2C bus is already prepared for us and we need only the 4 parts mentioned above to get going.

The mod

Just install the parts as mentioned on the PCB. Make sure the pin 1 indicator matches the PCB (dot meets angled corner of the footprint). You can easily solder this using a hotair gun + flux. The solder on the PCB is sufficient. You can also solder this by hand, as 0603 is not too hard with a pair of tweezers.

If (unfortunately) had only 0402 laying around for the caps, so I used that. Here is a picture of my parts with C257 still missing.

PHO00023.jpg

Once you're done soldering, make sure to clean everything up nicely and give your card a shot.
There was no need for any additional driver mods or anything.

The result

I was able to confirm that my 9600Pro with RV350 works nicely out of the box with the LM63 - you can see the screenshots below:

everest.jpg
96pro-temp.jpg

Furthermore the temperature appears to fairly accurate, I've done comparison measurements of the LM63 (which measures the ambient temperature) and the back of the PCB where the ASIC is located:

GPU:
gpu-back-temp.jpg
AMBIENT:
LM63-temp.jpg

I'm happy with the results and now I have a 9600 Pro that tells me how it feels.

Question and answers

Will this work if my card has no place for the LM63?

No, your PCB needs to have everything prepared for that. Otherwise there is no way to get to the thermal diode pins.

Can I do the same on my Radeon 9500/9700/9800?

No, the Radeon 9500, 9700 and 9800 all use the same base schematic. They have a place for a MIC502, which is a temeprature controlled fan controller. However that one is not meant to use thermal probing diodes, but thermistors. So the reference schematic (which is basically the same for all three of these cards) uses a thermistor + an LM324 schematic. There is no bus connection to the ASIC and the MIC502 does not support digitizing those temperature readings. But I have some plans for that. First I need to characterize that internal thermistor though.

What about the Radeon 9200/9250?

What I can deduct from working with those ASICs is that they appear to have a thermal probing diode as well, but it appears not to be used in any of the designs. Not even in the Gigabyte 92128DH which i have that has temperature readings. They all appear to use external thermistors.
The measurements I did on blank ASIC suggest however that the thermal diode works exactly as on the RV350.


What about fan control?

There are missing parts for that as well and if time permits I'll provide information on that as well.

Last edited by tehsiggi on 2026-03-04, 11:51. Edited 1 time in total.

AGP Card Real Power Consumption
AGP Power monitor - diagnostic hardware tool
Graphics card repair collection

Reply 1 of 7, by ChrisK

User metadata
Rank Member
Rank
Member

Nice one and good research!

Is the LM63 still available new?
I have a 9600Pro AiW without it but it only has a footprint for an SSOP-8 package. I think I've looked for that some time ago but couldn't find it any more.

Further, do you happen to know if there's a BIOS mod necessary for the fan control?
My X700 has the LM63 populated and the fan is temperature controlled. The PWM/TEMP values can be modified with ATI-Tool and it can also be edited in the Rabit-BIOS editor.
So I wonder if there's more into this than just adding the LM63 and adopting the fan power circuit for PWM control.
(asking myself if that's also in the 9600Pro AiW BIOS while writing this)

RetroPC: K6-III+/400ATZ @6x83@1.7V / CT-5SIM / 2x 64M SDR / 40G HDD / RIVA TNT / V2 SLI / CT4520
ModernPC: Phenom II 910e @ 3GHz / ALiveDual-eSATA2 / 4x 2GB DDR-II / 512G SSD / 750G HDD / RX470

Reply 2 of 7, by tehsiggi

User metadata
Rank Member
Rank
Member
ChrisK wrote on 2026-03-03, 12:37:
Nice one and good research! […]
Show full quote

Nice one and good research!

Is the LM63 still available new?
I have a 9600Pro AiW without it but it only has a footprint for an SSOP-8 package. I think I've looked for that some time ago but couldn't find it any more.

Further, do you happen to know if there's a BIOS mod necessary for the fan control?
My X700 has the LM63 populated and the fan is temperature controlled. The PWM/TEMP values can be modified with ATI-Tool and it can also be edited in the Rabit-BIOS editor.
So I wonder if there's more into this than just adding the LM63 and adopting the fan power circuit for PWM control.
(asking myself if that's also in the 9600Pro AiW BIOS while writing this)

Yep, the LM63 can be bought new. I got mine from mouser.

With FAN control I'm not sure yet. I'll do some tests tomorrow to check if the BIOS needs to have anything special for that. At least I can see the I2C bus acting if you change the settings in ATITool

AGP Card Real Power Consumption
AGP Power monitor - diagnostic hardware tool
Graphics card repair collection

Reply 4 of 7, by tehsiggi

User metadata
Rank Member
Rank
Member

Alright, some news: Fan control is possible.

The schematics from the 9600XT do not exactly match the ones of the cards out there. They are apparently in line with the 9600XT qualification sample from ATI back in the day.

So there were some unknowns in the BOM, but I think I've resolved them, so here is one variant on how to populate the fan control:

The attachment 9600_lm63_fcon_bom.png is no longer available

That differs from the original schematic, but makes functionally the most sense. In practice it inverts the PWM duty cycle (meaning 100% is min fan speed and 0% is max fan speed) but at least it gives me a nice usable range of control, without allowing the FAN to completely shut off. It also has the neat benefit of having the fan run at 100% per default (as the PWM output will be 0% at startup of the LM63) - meaning the fan behavior does not change out of the box.

The attachment q151_q152.jpeg is no longer available
The attachment c555.jpeg is no longer available

This allows me now to control the fan using ATI Tool. The BIOS so far has no play in it. I doubt there was ever a 9600 bios with a controlled fan in the first place, but if anybody knows better, be my guest!

Parts used:

  • Q151 - MMBT2222 SOT23
  • Q152 - MMBT2222 SOT23
  • C555 - 10µF 16V 4mm electrolyte (i used a 22µF, had nothing else laying around)
  • R550 - 10Ohms 0603
  • R549 - 1kOhms 0603
  • R555 - 1kOhms 0603
  • R557 - 10Ohms 0603

You have to remove R558, which is in per default (0Ohms), otherwise the fan will directly be connected to ground.

I also tried a different circuit, leaving Q151 and only using Q152, but while that removed the inverting behavior, you basically are limited to the 80%-100% range, otherwise the fan will just stop on my card.

ChrisK wrote on 2026-03-03, 12:37:

I have a 9600Pro AiW without it but it only has a footprint for an SSOP-8 package. I think I've looked for that some time ago but couldn't find it any more.

Yes. Same thing I've seen on the 9600Pro here.. there is a secondary package that could be used, pinout matching the one from the LM63 in SOIC8 - but there is no smaller package for the LM63. I've checked datasheets back to September 2002, but none of them mention a different package. Perhaps ATI was "hoping" for a smaller package to come out at some point. I can only guess. The only "alternative" that might fit would be the LM86, which is register compatible but has no fan control. The output pin is simply a T_CRIT_A output, meaning you could set thresholds in software and that would cause the fan to either be ON or OFF, but not PWM controlled. Very very weird. I've seen the 9600Pro AIW has the same BOM as my 9600Pro, apart from the IC having only the smaller footprint.

Definitely weird. I wish I could just sit down with someone from the design teams back in the day and have a nice chat about it.

AGP Card Real Power Consumption
AGP Power monitor - diagnostic hardware tool
Graphics card repair collection

Reply 5 of 7, by ChrisK

User metadata
Rank Member
Rank
Member

This is super interesting.
Thank you for evaluation!

I've checked some BIOS's for the 9600s from the techpowerup database but none of them had signs of a fan control as the X700 does. So no luck here.
But if it's controlable via ATI Tool that's still better than nothing.

RetroPC: K6-III+/400ATZ @6x83@1.7V / CT-5SIM / 2x 64M SDR / 40G HDD / RIVA TNT / V2 SLI / CT4520
ModernPC: Phenom II 910e @ 3GHz / ALiveDual-eSATA2 / 4x 2GB DDR-II / 512G SSD / 750G HDD / RX470

Reply 6 of 7, by porksmuggler

User metadata
Rank Newbie
Rank
Newbie

I looked and I have at least a couple 9600 XT in the collection. A Sapphire 128MB SDRAM black board, that's a V2. Also a Sapphire 256MB DDR2 red board that has a stock ATI cooler. The black board must have the LM63, because Overdrive reports the temperature, but the red board, no Overdrive oddly. I don't think HWiNFO shows temps for either.

Guess I'm pulling the red board to look for the LM63, and check if I have any RV350 cards in storage.

Reply 7 of 7, by tehsiggi

User metadata
Rank Member
Rank
Member

I modded my 9600Pro DDR2 today. Temperature sensing only, no fan control.

Parts:

  • R45 - 4.7kOhms 0603 (backside of GPU, I2C pull-up)
  • R46 - 4.7kOhms 0603 (backside of GPU, I2C pull-up)
  • U91 - LM63
  • C902 - 10µF 16V 1206 (larger is possible)
  • C903 - 100nF 50V 0603 (larger is possible)
  • C904 -100pF 50V 0603 (larger is possible)
  • C905 - 2.2nF 50V 0603
The attachment lm63.JPG is no longer available
The attachment PHO00007.JPG is no longer available
The attachment caps.JPG is no longer available

I took the liberty and re-capped the VRM for the GPU, as one of them was not pretty anymore.

The attachment 9600pro_ddr2.JPG is no longer available
The attachment mod_installed.jpg is no longer available

AGP Card Real Power Consumption
AGP Power monitor - diagnostic hardware tool
Graphics card repair collection