When you want to communicate with a piece of hardware, you need a kernel driver (well, that is not quite true, but it is in most cases the only way to do it safely). The kernel modules communicate their information through the /sys inter- face. Because every motherboard is different, the sensor chips always advert the measurements at their pins. This means that the values they report are not always immediately relevant to you. They have to be labelled properly, and sometimes they must be scaled to correspond to the real world. libsensors is a (shared or static) library of access functions. It offers a simple-to-use interface for applications to access the sensor chip readings, to set new limits, and all other commonly needed things. It has a configuration file where you can put all the motherboard-specific labels and conversion rules. That way, all applications do not need to duplicate the effort and can simply link with libsensors and work out of the box. This package does not contain a nice graphical monitor. Look at the file doc/useful_addresses.html for pointers to such programs. It does contain an example console program that reports all current sensors values. This program is called 'sensors'. You can use it as a reference implementation for more intricate programs. The Linux 2.6 kernel has many, many sensor drivers, and there are lots of different sensor chips supported. Sometimes, it can be hard to determine what chips and adapters you have, and which modules correspond to them. Fortunately, there is a user-space application 'sensors-detect' that should tell you exactly what is available, and what you need to do.