Archive for May, 2011

Moved to:

I did a quick little test today to see just how obvious Sony is being about chaning fan speeds.  I used some very basic equipment (a multimeter and an Ardunioscope), so the results are somewhat aproximate; they are based on repeated readings of the same sensors to confirm readings.  This was all done in a room that stayed 25c for the entire test.  Note that I am posting the voltages that the multimeter read from the fan control signal line.  This line was tested with the arduinoscope each time the firmware was updated, to make sure that the pulses were still 5.0v, and thus the average voltage read by the multimeter serves as a reliable reference point.

Starting firmware: 2.10:
0.64v = 25c-46c
0.84v = 47c
0.90v = 48c
0.93v = 49c
1.00v = 50c
1.03v = 50c
1.07v = 51c
1.09v = 52c
1.13v = 54c
1.16v = 55c
1.94v = 56c…this is a noticeable increase in fan speed; after it increases, the system quickly cooled to 50c, and did not get any warmer…but the fan speed did not drop when the system temperature did.  I did not do a stress test because I didn’t have any games that would start on this old firmware.

Second firmware: 2.17
0.64v = 25c-45c
0.84v = 47
0.90v = 48
0.93v = 49
1.00v = 50
1.03v = 51
1.07v = 52
1.10v = 53
1.16v = 55
1.94v = 56…then the same increase in fan speed, followed by a drop to 45c this time, but with the fan speed remaining at 1.94v.  Played GTA4 for a while, lots of explosions and fast driving, system never got past 52c.

Third firmware: 2.53
I skipped a few firmwares and went to 2.53; all readings were the same as 2.17, with these minor differences:
1.07v = 53c
1.14v = 54c
1.16v = 55c

Fourth firmware: 3.00
I skipped a few more firmwares to 3.00…where I started to see important changes…
0.64v = 25c-47c – the point where the fan starts to spin faster is 2c higher than the others
0.85v = 48c
0.90v = 50c
0.93v = 51c
1.00v = 52c
1.03v = 53c
1.07v = 54c
1.01v = 55c
1.14v = 56c
1.16v = 57c
1.94v = 58c – The temperature where the fan first gets 1.94v is always the highest temperature in the tests, even while playing GTA4.  For firmware 3.00, this maximum temperature is 2c higher than 2.53.

Fifth firmware: 3.15
0.64v = 25c-49c – Once again the starting temperature is raised 2c.
0.80v = 50c
0.85v = 51c
0.90v = 52c
0.93v = 53c
1.01v = 54c
1.03v = 55c
1.07v = 56c
1.10v = 58c
1.14v = 59c
1.94v = 60c – And again, the maximum temperature is raised 2c.

Sixth Firmware: 3.41
0.64v = 25c-49c – The starting temperature is the same as 3.15.
0.80v = 50c
0.91v = 51c
0.93v = 52c
1.01v = 53c
1.03v = 54c
1.07v = 56c
1.01v = 57c
1.14v = 58c
1.16v = 60c
1.94v = 62c – The maximum temperature is 2c above 3.15, or 6c above 2.53.

Seventh Firmware: 3.50
0.64V = 25c-48c – The starting temperature is dropped, although the amount of drop is right on the edge of the margin of error.
0.80v = 49c
0.84v = 50c
0.90v = 51c
0.93v = 52c
1.01v = 53c
1.03v = 54c
1.07v = 56c
1.10v = 57c
1.14v = 58c
1.16v = 59c
1.94v = 60c – The maximum temperature clearly dropped here…it is still 4c higher than it was on 2.53, but it is lower than 3.41

Eighth firmware: 3.55
0.64v = 25c-48c – The same as 3.50
0.80v = 50c
0.90v = 51c
0.93v = 52c
1.01v = 53c
1.03v = 54c
1.07v = 55c
1.10v = 56c
1.14v = 57c
1.16v = 58c
1.94v = 59c – I cannot confirm if this was actually a drop; the maximum readings from firmwares 7 & 8 were closer than the margin of error with the equipment I used.

Things used for test (other than things needed for downgrading):
Fluke 73III Multimeter
Ardunio Pro Mini 5.0v/16mhz (for temperature collection)
100K@25c/3% thermistors
Arduino Duemilanove (Arduinoscope)
Win7x64 laptop (for reading from the Arduinos)
CECHH01 (40GB Fat) PS3

This is as close to proof that Sony is trying to kill older PS3s as I can offer with my limited equipment…but the results are compelling; even assuming that 3.55 has a maximum temp of 59c, this is still 3c higher than it was on 2.53…and the PS3 fat is notorious for having heat releated failures; if anything, sony should be moving the maximum temperature down.  I did not continue on to 3.56, 3.60, or 3.61; as there is no way to go back; so I cannot confirm or deny any changes in fan speed for those firmwares.  Several people have contated me stating that 3.61 dropped the fan speeds in the launch models, but I cannot confirm this for myself.

I am sure that there are people out there with high quality ‘scopes and super-accurate thermal sensors, as well as a PS3 fat with firmware 3.55 or earlier installed…If any of you would like to take some more accurate readings, I would very much like to see them.

Moved to:

Moved to:

Moved to:

Easy MCP23008 digits

Moved to:

Moved to:

“I have temporarely given up on the ATtiny…either I got a bad batch, or the arduino port is crap.  Either way, it kinda kills the whole idea of making something simple.”

—I was thinking that, and then I immediately thought, “The person who wants to drill holes and glue a thermistor to a heatsink that is only accessible by removing the system board is not the kind of person who is going to complain about complicated”

So, the ATtiny is out (at least for now).  I am going to continue development on an Arduino Pro Mini…code will be written to work with both the 3.3v and 5.0v versions.  Either version will work identically on the fat, but the slims will only work with the 3.3v version.  I’ll probably translate it to a diy guide using the DIP version of the ATMega328P eventually, or maybe that is how it will start…I have not decided yet.  All I have decided for sure is that this is not going to be simple anymore (I am going to need multipliers because the 328P does not have enough native I/O).  I want to make this a community project once I get the initial bits out there; I want to put together a bunch of headerless functions that people can copy-n-paste into their sketches to use various devices, and I want to put up a gallery of what people have done with these things.

I know, kinda ambitious at the moment…OK, OK, I’ll get back to coding!

Moved to:

Did a little bit of testing on the actual ATtiny45 tonight…everything seems golden so far.  Current hex allows for using a potentiometer/trimmer or a thermistor…and allows you to switch between the two while the system is running.  It is amazing how much you can do with one of these little chips!  Should work perfectly with the ATtiny85 as well…but not with the ATtiny25; not enough memory there.

I’m not posting any of the code until I have had a chance to test it some more…then I am going to post a step-by-step guide with instructions and source.

If any of you reading this want to be ready, here are the bits I am using:

Vishay NTCLE100E3104HB0 Thermistor

100 ohm & 20 ohm resistors (needed for programming only)

100K ohm resistor (only needed for thermistor mode)

ATtiny45-20U (should also work with the ATtiny45-10u, ATtiny85-10U, and ATtiny85-20U).

Murata PV36Y104C01B00 or CTS Electrocomponents 296UD104B1N or any other 100K potentiometer or trimmer (not needed for thermistor mode)

Arduino Duemilanove (needed for programming only)

Breadboard, jumper wires

3.3v voltage regulator (5.0v will also work, but only with fat consoles)

I’ll also be making use of the same bits I use to make the other versions PnP.

Thermistor-Based Control

Moved to:

I have been working on making a version of the controller that works based on the readings from a temperature sensor.  While I do not believe that this is the ideal method of control, many people have been asking for it…so I am making it.  Note that this will require you to either drill holes or run wires outside of the system, and I make no guarantees that it won’t kill your system either.

As I said, I really think this is a bad idea…my fan controller fixes a lot of issues including several that I didn’t even think of when I created it, but the initial goal was simply to set the fan to a constant speed to minimize the temperature fluctuations that cause the YLOD.  Because of this, I have optimized the program to try and keep the temperatures within a 10C range.  The fan runs at 10% speed up to 25C, then slowly increases speed to 20% at 35C…35C to 45C is the target range, and at 45C, the fan is spinning at 70% speed.  After 45C, the speeds rise sharply, until full fan speed is reached at 55C.  I will be dialing in these numbers to further minimize temperature fluctuations, but you get the general idea.  This is why I could not do this using a TLC555; the curve is not smooth.

I am still waiting for the parts to arrive so I can test it on the chip I designed it for…but it seems to work on an Arduino.  Once I can test it, I will write a guide and try to make everything as simple as possible.  I am going to be using the Arduino programming method because you can get an Arduino for less than the cost of most dedicated programmers, and a lot of you already own one.

More coming soon…

Moved to: