Sunday, 2 October 2011

Effect of CPU parameters as monitored by Embedded Sensors

Ever felt a sudden vibration in your laptop when u start your favorite FIFA11 or Assasins Creed ?

Ever had the desire to understand why does this happen ?

Now it’s time to unveil the secrets……. !!

From the time, when the very first 3D game "METAL GEAR SOLID" was built, an urge was felt to increase the number of processes and calculations happening per cycle of the processor, and as the minutes of the game,its resolution were increased the processor wasn’t able to handle its over usage and overheating, causing it to wear out at a faster rate.

Heat is the natural enemy of a PC

Big companies felt that there should be sort of a way to map the temperature of the processor and adequately control the apps to insure longer life.

And EUREKA…!!!

Greg M and Martin researched various options for low-cost temperature sensors which could be easily interfaced to a PC, and came across the DS18S20, a 1-wire parasite-power digital thermometer sensor made by Maxim/Dallas.

It's a very small sensor, in a TO-92 package, with a temperature range of -55 to +125 degrees C (with 0.5 degrees C accuracy between -10 and +85 degrees Celsius), and requires minimal circuitry to interface it to a PC's serial port.

More information on DS18S20 transistor temperature sensor can be read at

The BIOS temperature monitors the output of a thermal diode incorporated within the core of processors. The actual CPU temperature will very likely be higher than the reported value by a constant amount ranging from a few degrees to as many as 20 degrees because of heat diffusion from attached components and improper placement of the sensing devices ... The motherboard's BIOS usually adds a suitable correction value to compensate for this, so under normal operating conditions the temperatures as displayed by the BIOS are accurate enough to measure idling temperatures.

As u cannot see temperature in BIOS when a computer is running an OS, many softwares were developed to facilitate real time sensor values.

Softwares that can be used to access the sensor values :

1. Speed Fan(Windows)

2. hddtemp(linux)

3. Lm_sensors(linux)

4.Open hardware monitor

5. SensorsView Pro

6. I8kfanGUI

7. CoreTemp

8. Fan Control

9.Digitemp(Linux)(hardware based)

{ Digitemp is a software that sets up external temperature sensors which can be configured as: }

Lets start with Speed Fan for Windows.

Speed fan is one of the most simplest interface giving readings of all the temperature sensors present in a computer.

When current processes were running :

1.Google Chrome(4 tabs)

2.Internet Explorer(1 tab)

3.Windows Explorer

4.Windows Media player

5.Microsoft Word

Temperature of hard drive - 34 C

Quality of hard drive - 95%

Usage of C.P.U(0) - 4.4%

Temperature of core0 - 40 C

Temperature of C.P.U(0) - 48 C

Temperature of C.P.U(1) - 47 C

Usage of C.P.U(1) - 0.07%

Temperature of core1 - 49 C

Temperature of C.P.U(2) - 49 C

Usage of C.P.U(2) - 5.0%

Usage of C.P.U(3) - 1.1%

Temperature of C.P.U(3) - 38 C

CPU Core Frequency - 2394 MHz

We researched a lot on the values which were 0 degree C but in the end it all came up as that those sensors were not available in the laptop and thus the default value was 0 C.

When current processes were running :

1.Google Chrome(4 tabs)

2.Internet Explorer(1 tab)

3.Windows Explorer

4.Windows Media player

5.Microsoft Word

6.FIFA 11

7.Counter Strike 1.6

8.TATA Photon+

Temperature of hard drive - 35 C

Quality of hard drive - 95%

Temperature of core0 - 60 C

Temperature of C.P.U(0) - 65 C

Usage of C.P.U(1) - 6.5%

Temperature of C.P.U(1) - 57 C

Temperature of core1 - 64 C

Usage of C.P.U(2) - 51.7%

Temperature of C.P.U(2) - 60 C

Usage of C.P.U(3) - 0.3%

Temperature of C.P.U(3) - 40 C

Usage of C.P.U(0) - 51.7%

CPU Core Frequency - 2394 MHz

Well keeping all the risks of overheating at par,

Ever felt what it could be to play a game like table tennis for real rather than just with 4-6 buttons. ?

Yes now its possible,possible with the finest innovations, the ACCELEROMETER

What is an accelerometer? An accelerometer is an electromechanical device that will measure acceleration forces. These forces may be static, like the constant force of gravity pulling at your feet, or they could be dynamic - caused by moving or vibrating the accelerometer.

The introduction of robust, low-cost MEMS accelerometers and gyroscopes enables the incorporation of motion sensing into a greater variety of applications.

Acceleration, vibration, shock, tilt, and rotation—all except rotation are actually different manifestations of acceleration over different periods of time.

1.Acceleration is sensed by relative change in any one axis i.e x,y or z axis.

2. Vibration can be thought of as acceleration and deceleration that happens quickly and in a periodic manner.

3. Shock is acceleration that occurs instantaneously but, unlike vibration, a shock is a nonperiodic function that typically happens once.

4. When an object is moved to alter its tilt, or inclination, some change in position with respect to gravity is involved.

A MEMS accelerometer detects tilt by measuring the effect of the force of gravity on the different axes of the accelerometer.

5. Rotation is a measure of angular rate motion. This mode differs from the others because rotation may take place without any change in acceleration.The sensor causes to move only about the Z axis. The X and Y planes simply rotate, continuing to measure 0 g while the Zaxis still measures 1 g.


1. An accelerometer with activity detection can enable power management techniques by telling a device to go into its lowest power consumption mode when that device is determined to be inactive by the absence of movement or vibration. Such instances enable power management that lets the device go longer between battery recharging or replacement.

2. Complicated controls and physical buttons are being replaced by gesture-recognition interfaces controlled by the tap of a finger like pinch zoom and scroll and such as when a compass has compensation for the tilt angle at which it is held in your hand.

3.Tto sense movement and to generate an interrupt in a radio for military or public safety personnel. To keep communication secure, when the radio stops being worn or carried it could require re-authentication before permitting user access or to activate a siren if the device goes out of the range of the transmitter.

A software LA alarm has the ability to track the flow of current (ELECTROCHEMICAL sensor) in the charging port. The software has many options to prevent device theft like sending on a siren when charging dock is taken out.. It also has the ability to send a mail to the user specified email address whenever the computer accesses the internet or just send a SMS to a desired number

1.Install the software

2.Go to start and open options.exe

3.Manipulate the options like email and SMS support


Now, whenever u go away from your laptop just press Start button + L button. That’s It

! Try for yourself and feel the Power In Your Hands !

Another important use of Accelerometers is to protect the Hard Disk

It detects the small shocks generated by accidentally yanking on the power cord or knocking the monitor, which are usually precursors to a shock event (i.e., the notebook hitting the floor). When the Digital accelerometer detects motion, it immediately notifies the system software of the danger. Within milliseconds, the system orders the hard disk drive to park the drive head, stopping it from contacting the disk platter during impact and preventing damage to the drive.

This was all in Windows.

Lets see what the temperatures are when LINUX senses the sensors

Using Lm-sensors:

1. Install lm-sensors using “sudo apt-get install lm-sensors”

2. In the terminal type sensors-detect

This statement will load all the required kernel modules which help to track the data from the sensors flowing through the SOUTH bridges. This command will also check for sensors in the I/O chips.

For this laptop Driver coretemp is supported.

3. Now type sensors in the command line

This will show only the temperature sensor readings of the I/O chips and the SMBus adapters.

4. To see the core temperatures write the command sudo coretemp

5. Now again run sensors

6. To see the CPU processor and core usage just run System Monitor and click on Resources tab

(could not be incorporated)


Totally disastrous until Thursday. Had no idea of from where to start and how to start.

But slowly Google provided us with links from where we started understanding how these sensors exactly synchronize with the system.

Things started working. Our mind engines started smoking. Practically awake from 3 days and finally HARD WORK payed off.

We made the blog.

Though dealing with linux was the toughest job of all but ,but, but