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

Picture of 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 91Next »
iRybin6 months ago

What's the hell with tempsensor-0.1.tar.gz ??

erazor7 months ago

does anybody have tempsensor-0.1.tar.gz???

zdrow9 months ago


403 Forbidden

Request forbidden by administrative rules.

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

makerghost1 year 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.
humall2 years ago
Same here, just need the tempsensor tar file, can someone send it to me, thanks in advance.
deadbrain2 years 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...

shikilee2 years ago
Hi all, can anyone sent me the link of tempsensor-0.1.tar.gz ?
bogaskilop2 years ago
hello all

where can i download this file tempsensor-0.1.tar.gz ???
rfa.ak472 years ago
Cool! Excellent instruction.
alantch3 years 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?
gadragon3 years ago
Can i use 1N5819 instead of 1N5818?
humall3 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.
garacs3 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.
andy707074 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?
Wavy4 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!
titan445 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)
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 - http://www.digitemp.com
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)
darkcape6 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_h5 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
salimi6 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
bhp05286 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 http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2982 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 bhp05286 years ago
After looking at the site a little longer I found a number of different adapters (USB, Serial, etc). Has anyone tried these?

Solargoat6 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)  Solargoat6 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.
ax896 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)  thermoelectric6 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)  thermoelectric6 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.
1-40 of 91Next »