PC thermometer schematic

31,258

PC thermometer
PC thermometer

This incredibly simple thermometer plugs on any free serial port. Does not make use of any programmable components as microcontrollers. It gives temperature readings accurate to 0.5°C with no calibration. It's cheap, so I've put one on any PC I use. And it is so nice to have the temperature shown on the Windows taskbar, that a million friends asked me to build one! Since I have no time to build a million pcTHERMs, I give you the plans and the software to build one on your own. More: This project is easy enough for beginners, the only difficulties possibly arising from serial port hardware incompatibility from PC to PC. In the single-sensor version, you need only the sensor IC, a voltage regulator and a handful of diodes and resistors. Build it, and learn the secrets of IIC bus, how to implement IIC bus using only two resistors and a couple of zeners, how to drive it on a serial port using Visual Basic. Components involved are available on the worldwide RS-components catalogue. Displays both indoor and outside temperature on the Windows taskbar. Plugs in any free PC com port. Range -20 ... +125°C (-4 ... 257°F). Basic accuracy and resolution 0.5°C. Centigrade (°C) or Fahrenheit (°F) scale. Data logging on easily readable text file. Sampling rate 1, 5, 30 or 60 seconds. One or two temperature sensors (upgradeable up to 8). Com port powered, no external power supply required. Easy to build, no exotic nor programmable parts inside. No calibration required. Full source code available for free (educational and non-commercial uses only). The circuit is derived from the Claudio Lanconelli's PONYPROG programmer. The key component is the Dallas Semiconductor's DS1621 temperature sensor. This tiny 8 pin IC needs only +5 volts to measure the temperature and to send it out via its IIC bus output. Since many IIC bus devices can be connected in parallel, three address inputs (A0, A1, A2) are provided to select one out of 8 addresses the device will respond on. This way, up to 8 sensors can be connected in parallel. The internal temperature sensor is set to address 0 and the external one to address 1. If only one sensor is used, it should be connected as address 0. Interfacing the IIC bus to the RS232 com port involves adapting levels. IIC works on 0..5V signals, while RS232 uses -12V .. +12V. Although specified for -12V..+12V, most PC com ports work well with 0..5V signals. This allows the IIC output to connect directly to the PC CTS line. However, RS232 signals can damage the IIC inputs; thus, voltage limiters (R1, DZ2, R2, DZ1) are placed on the SCL clock input and SDA data input. Note that SDA is bidirectional: it receives from the DTR line and transmits to the CTS line. Since the circuit draws very little current, there is no need for an external power supply. The +12V from the RS232 lines are conveyed to the regulator by diodes D1, D2, filtered by C1, and regulated to +5V by the LM2936-Z5. The LM2936 is capable of regulating even with input voltages near to 6V, as is the case with many serial ports.

The described thermometer circuit is designed to be straightforward, making it suitable for beginners in electronics. The primary component, the DS1621 temperature sensor, is an 8-pin device that operates on a +5V supply and communicates temperature data via an IIC bus interface. This sensor can be configured to respond on one of eight addresses, allowing multiple sensors to be connected in parallel if desired.

The circuit's power management utilizes the RS232 port's +12V supply, which is rectified and regulated down to +5V using the LM2936-Z5 voltage regulator. This regulator is preferred over conventional 78L05 types due to its ability to function effectively with lower input voltages, ensuring reliable operation even in scenarios where the serial port voltage may be marginal.

To facilitate communication between the IIC bus and the RS232 serial port, level-shifting components are employed. The IIC bus operates at logic levels of 0 to 5V, while RS232 signals can range from -12V to +12V. The design cleverly leverages the fact that most PC serial ports can interpret 0 to 5V signals, allowing for direct connections without additional level-shifting circuitry. However, to protect the IIC inputs from potentially damaging RS232 voltages, diodes and resistors are strategically placed to limit the voltage levels entering the circuit.

The thermometer's software provides functionality for logging temperature data at configurable intervals of 1, 5, 30, or 60 seconds, with the capability to display both indoor and outdoor temperatures on a Windows taskbar. The project does not require any exotic or programmable components, making it accessible for hobbyists and those new to electronics. Complete source code is also provided for educational and non-commercial purposes, supporting users in building and customizing their own temperature monitoring solutions.This incredibly simple thermometer plugs on any free serial port. Does not make use of any programmable components as microcontrollers. It gives temperature readings accurate to 0.5°C with no calibration. It's cheap, so I've put one on any PC I use. And it is so nice to have the temperature shown on the Windows taskbar, that a million friends asked me to build one! Since I have no time to build a million pcTHERMs, I give you the plans and the software to build one on your own.

This project is easy enough for beginners, the only difficulties possibly arising from serial port hardware incompatibility from PC to PC. In the single-sensor version, you need only the sensor IC, a voltage regulator and and handful of diodes and resistors.

Build it, and learn the secrets of IIC bus, how to implement IIC bus using only two resistors and a couple of zeners, how to drive it on a serial port using Visual Basic .Components involved are available on the worldwide RS-components catalogue. displays both indoor and outside temperature on the Windows taskbar (see figure) plugs in any free PC com port range -20 ...

+125°C (-4 ... 257°F) basic accuracy and resolution 0.5°C Centigrade (°C) of Farenheit (°F) scale data logging on easily readable text file sampling rate 1, 5, 30 or 60 seconds one or two temperature sensors (upgradeable up to 8) com port powered, no external power supply required easy to build, no exotic nor programmable parts inside no calibration required full source code available for free (educational and non-commercial uses only). The circuit is derived from the Claudio Lanconelli's PONYPROG programmer (I recommend you to visit the Claudio Homepage at http://www.cs.unibo.it/~lanconel ).

The key component is the Dallas Semiconductor's DS1621 temperature sensor. This tiny 8 pin IC needs only +5 volts to measure the temperature and to send it out via its IIC bus output. Since many IIC bus devices can be connected in parallel, three address inputs (A0, A1, A2) are provided to select one out 8 addresses the device will respond on.

This way, up to 8 sensors can be connected in parallel. I have set the internal temperature sensor to address 0 and the external one to address 1. If you plan to use only one sensor connect it as address 0. Interfacing the IIC bus to the RS232 com port is a matter of adapting levels. IIC works on 0..5V signals, RS232 uses -12V .. +12V. The trick here is that, altough specified for -12V..+12V, almost all PC com port I know work equally well with 0..5V signals. This eliminates the need to raise the IIC output to RS232 levels, and the SDA data line connects directly to the PC CTS line.

On the opposite way, the RS232 signals can damage the IIC inputs, so I placed voltage limiters (R1, DZ2, R2, DZ1) on the SCL clock input and SDA data input. (note that SDA is bidirectional: receives from the DTR line and transmits to the CTS line). Since the circuit draws very little current, there is no need to add an external power supply. The +12V from the RS232 lines are conveyed to the regulator by diodes D1, D2, filtered by C1 and regulated to +5V by the LM2936-Z5.

Don't replace it with an ordinary 78L05 regulator unless you want to add an external 9V battery: the LM2936 is capable to regulate even with input voltages near to 6V, as is the case of many serial ports. 🔗 External reference