geort45
... I just wonder if someone more knowledgeable would point me in the right direction as how to read this info from the mobo
While its been a long time since I played with this sort of device, the basic concept might be the same but the address system (or whatever it is called today) might have changed. Anyway, let me describe how I would approach and conceptualize your problem. The output of the temperature sensors, voltages, frequencies, etc on any motherboard is read by specific chips. On the SR-2 motherboard, I'm guessing that the two chips that are accessible when the SR-2 powers up into the BIOS are the Fintek F71808 which is dedicated to CPU1 and the Fintek F71882F which is dedicated to CPU0.
The two Fintek chips send their outputs to a "reserved memory" area. But I don't know whether the reserved area uses a fixed or a relative address system. I suspect that EVGA engineers could provide you with a "memory map" detailing the reserved memory space for all I/O devices on the motherboard. Alternatively, a clever person might use "debugging" software and systematically search through the memory by looking for information printed in ASCII that says "Vendor" followed by "Fintek", then the chip number, model number, and a list of other information. To illustrate, I made a screen print of the binary output taken from the HWMONITOR software. While this was read from Windows, I believe that somewhere in the memory space is either an identical, if not similar, list of information sent by the Fintek chips. The information is listed in some convention beginning first with device identification information then followed either by the device outputs, information about how the outputs are listed, and/or the memory address of where the actual output is located. Towards the bottom of my screen print, look at the line labeled VOLTAGE 1. Next to 1.21 volts is a hexadecimal number 0x67. This is probably not the memory address itself but rather an "offset". To find memory address, you need to look for the "base address" and then go a few more address over as specified by the "offset". You should find a representation of the voltage value at that address (I think).
Be aware that the temperature values might not be provided in Centigrade or Fahrenheit. INTEL, for example, specifies temperature as negative offsets relative to a maximum value (not to exceed). I have no idea as to how FINTEK sensor values are represented. Sometimes, you might have to create an algorithm that translates the output into temperature values.
Once you found the memory address with the sensor information you want, then you have to write a program to read the content from this address. I suspect that the Arduino board provides a software language or simple script commands. You will first need to look for any commands like "PEEK" (read from memory) or "POKE" (write to memory). And then look for a command like "DISPLAY". If the Arduino board does not have its own language, you might write a script in DOS (or whatever it is called today) and then find the address in the Arduino board where you can output the value to the display port.
Remember, my experience with such devices comes from a long time ago so while parts of what I say might true, other parts might be obsolete. I write this, however, with the intention that the information might provide you get started. Others might chime in and provide better information. Good luck and have fun.
post edited by RetiredProfessor - 2011/01/22 06:48:27