Temperature sensor / weatherstation

Picture of Temperature sensor / weatherstation
Create a weatherstation or temperature monitor using the very cool digital temperature sensor DS1820.

I use this setup to monitor a server room, and as a weatherstation.

This project consists of:

  • A Dallas 1-Wire bus network
  • Interface between RS-232 and the Dallas 1-Wire system
  • Digital temperature sensors connected to the Dallas 1-Wire bus (DS1820/DS18s20)
  • Software setup to gather and graph temperatures

Updated 2007-11-18 to include automatic graphing scripts and pictures of real life implementations of this system.
Remove these adsRemove these ads by Signing Up

Step 1: You need

Picture of You need
This is what you need to make a weather station or temperature logger:

  • Some linux skills
  • Basic electronics skills, soldering etc..

  • 1 6.2V Zener diode (1N5234)
  • 1 3.9V Zener diode (1N5228)
  • 2 Schottky diodes (1N5818)
  • 1 1.5 k resistor
  • 1 2pin screw terminal
  • 1 D-sub 9 female connector with solder points
  • 1 small piece of perfboard.
  • One or more Dallas Semiconductor DS1820 or DS18s20 digital temperature sensor
  • Cat5 cabling
  • Shrink tube

Step 2: Build the RS232 interface

I like to build the 1-Wire busmaster so small that it can just sit in the back of the computer in the rs232 port.

Step 1)
Figure out how small you can make it.
Put all the components on a perfbaord. Place them with the circuit in mind. We don't want to add any wires to the bottom of the circuit! Se image.

Step 2)
Cut out the right size perfboard.
Just drag a sharp knife a few times over the row of holes where you want to cut.
Do this on both sides, then just break it in two. It usually breaks at the fault line you created.

Solder the components in place. and connect the solder points to complete the circuit.
1-40 of 90Next »
awilliams1026 months ago

Where can i find the trmpsensor-0.1.tar.gz file?

makerghost7 months ago
Cool Stuff! I made the device and used a USB to serial adapter. changed tty0 to ttyUSB0 and all worked perfectly. Now the charts. I am unable to get the files to be able to complete the charts. can any one help? I am currently running a cron job with some scripts to change the data to CSV type file to be able to chart the data using other software.
humall1 year ago
Same here, just need the tempsensor tar file, can someone send it to me, thanks in advance.
deadbrain1 year ago
anyone would be nice enough to send me the tempsensor-0.1.tar.gz file ?
it seems that the file is unavailable since Mar, 6...

shikilee1 year ago
Hi all, can anyone sent me the link of tempsensor-0.1.tar.gz ?
bogaskilop1 year ago
hello all

where can i download this file tempsensor-0.1.tar.gz ???
rfa.ak471 year ago
Cool! Excellent instruction.
alantch1 year ago
I just finished making one of these, but will not be able to test it out until I receive my sensors. In the meantime, I'm getting a voltage of 5.75V between GND and DQ. Would this be too high as I read that the DS18S20's operating voltage range is 3.3-5.5V?
gadragon2 years ago
Can i use 1N5819 instead of 1N5818?
humall2 years ago
I have little experience with soldering so I made a breadboard version of the circuit, see pdf file I added, I used Ubuntu for Digitemp and everything works fine, rrd-tool and web server setup. Tried to use Windows version of Digitemp, did not work. Thanks for making this instructable, it showed me how to use 1-wire bus.
garacs2 years ago
This is EXACTLY what I am looking for, but unfortunately it uses DALLAS DS1820 sensors, I do not have handy at the moment.

Would this also work with a LM35DZ? If so, what would be the differences in the scheme?

BTW, great instructable.
andy707073 years ago
Will this interface work with other 1-wire devices such as iButtons? And can it do bi-directional serial (read+write) or just simply reading from the device?
Wavy3 years ago
Great Instructable! Using a breadboard, everything worked out smoothly. I also used the MartyBugs' schematic to confirm the setup. Very nice and fun, thanks!
titan444 years ago
Is it possible to make this work with a db25 instead of a db9?
Pin 2 Transmit
Pin 3 Receive
Pin 7 Ground
Pin 20 DTR (if using non-parasitic)
mattccc4 years ago
(removed by author or community request)
Short answer is, you don't.
The 18S20 is a 1 wire serial device
Your printer port will only talk to parallel devices.
I tried this on Linux (Ubuntu) and when I typed this into the terminal "digitemp -s /dev/ttyS0 -i" i get this

"DigiTemp v3.5.0 Copyright 1996-2007 by Brian C. Lane
GNU Public License v2.0 -
Turning off all DS2409 Couplers

Searching the 1-Wire LAN"

Problem is it doesn't show any sensors....
It's not physically working. Check all the components are correctly polarised (My goof was wiring the D"18S20 back to front)
darkcape5 years ago
Loving this I have wanted to do this ever since reading about it in the linux toys book. on question I have though what is the maximum number of sensors that the 1 wire network can handle?
Depends on whether it's in parasitic mode or non parasitic. From the number of components used, I'd say it in parasitic mode. Therefore, no more than 3.
In non-parasitic mode (2 more components required) 10 or 12 would be quite happy. With a separate 5 volt PSU, several thousand.
you have to work in weather forcast
eng_islam_h4 years ago
thats really great,i've done it and it works really fine with the 1 wire driver from maxim, now i'm trying to read the data in LabView and i'm really close
great job
salimi5 years ago
hi please write vb code for monitoring graph
I don't know if I have done it right, but when I try to run the logdata script manually I get a error. What do you suggest? beau@beau-desktop:~$ php /etc/tempsensor/graphdata.php ERROR: opening '/var/log/digitemp_rrd/0.rrd': No such file or directory ERROR: opening '/var/log/digitemp_rrd/0.rrd': No such file or directory ERROR: opening '/var/log/digitemp_rrd/0.rrd': No such file or directory ERROR: opening '/var/log/digitemp_rrd/0.rrd': No such file or directory ERROR: opening '/var/log/digitemp_rrd/0.rrd': No such file or directory ERROR: opening '/var/log/digitemp_rrd/0.rrd': No such file or directory ERROR: opening '/var/log/digitemp_rrd/0.rrd': No such file or directory ERROR: opening '/var/log/digitemp_rrd/0.rrd': No such file or directory Warning: fopen(/var/www/temperature/index.html): failed to open stream: Permission denied in /etc/tempsensor/graphdata.php on line 75 Warning: fwrite(): supplied argument is not a valid stream resource in /etc/tempsensor/graphdata.php on line 76 Warning: fclose(): supplied argument is not a valid stream resource in /etc/tempsensor/graphdata.php on line 77 Warning: fopen(/var/www/temperature/index_0.html): failed to open stream: Permission denied in /etc/tempsensor/graphdata.php on line 102 Warning: fwrite(): supplied argument is not a valid stream resource in /etc/tempsensor/graphdata.php on line 103 Warning: fclose(): supplied argument is not a valid stream resource in /etc/tempsensor/graphdata.php on line 104 Warning: fopen(/var/www/temperature/index_all.html): failed to open stream: Permission denied in /etc/tempsensor/graphdata.php on line 102 Warning: fwrite(): supplied argument is not a valid stream resource in /etc/tempsensor/graphdata.php on line 103 Warning: fclose(): supplied argument is not a valid stream resource in /etc/tempsensor/graphdata.php on line 104
bhp05285 years ago
I'm a little shy (actually lazy) when it comes to circuit boards and solder. I noticed a similar tutorial was using a to interface from serial to RJ-45.

Looking at the documentation it appears this would do the same as your diodes and soldering and give you a RJ-45 to boot. The site appears to spec the device for $21. Any idea how that would compare to soldering diodes in price and functionality?
bhp0528 bhp05285 years ago
After looking at the site a little longer I found a number of different adapters (USB, Serial, etc). Has anyone tried these?
Solargoat5 years ago
I built it, but having zero electronics experience, and not much software experience, I am not sure if it works. After downloading various programs to read it, including 1-WireViewer, Lampomittari, and I can't seem to get it to recognize my interface. I guess it is a hardware problem in how I constructed it. What can I do to troubleshoot this device with a multimeter? What is the proper voltage that should be coming out of my serial port on my Dell Latitude D620 notebook? I am getting 4.98 Volts now. If someone could get me started, I would be eternally grateful!
That was a quick reply! I have an iMac and a Gigaware USB-serial converter. I guess I'll try that, but now that will introduce its own issues with software.
chr (author)  Solargoat5 years ago
Some notebooks don't output the full RS232 voltage of +/- 12-ish volts. Try the device on a desktop computer first to figure out if the voltage level is causing the problem.
ax895 years ago
Very neat! How many sensors can you hook up? (I apologize if this was asked and answered but I didn't see it when I read through.)
It will tell you how many sensors can be connected on the datasheet of the 1-wire sensor.
Wow, After attempting to make the interface, I can safely say that you are GREAT at using protoboards.

Do you know how I can use this on windows?
I have tried what you said below but it doesn't work, What does the digitemp -aq > c:\path\to\webserver\root\temperature.txt mean?
chr (author)  thermoelectric5 years ago
Thanks, -a means aquire, -q means quiet the "> file" means put the output into this file I don't know if this is the right syntax in windows. I don't know anything about windows, so I can't help you there...
Oh, Thanks anyway, I might just have to try the alternate install of Ubuntu (128mb RAM)
That is a definite thing i'm going to have to do since I can't get it to work in windows....
Scratch that :-)
By the way, Why do you reccommend using CAT5 cable over telephone cable?
chr (author)  thermoelectric5 years ago
I had some major issues when using telephone cable. I have an installation using cat5 with about 50 meters of cable, and that one works just fine.
Issues? What was happening with the telephone wire to cause major issues?
1-40 of 90Next »