DS1620 Programming Tool

I needed thermostat control for my countryhouse that would be precise at low temperatures, so that I can keep the temperature above freezing while I am not there. The winter here is long and cold, so heating more than absolutely necessary makes your wallet a lot thinner. DS1620 chip, originally from Dallas, now Maxim was easy enough to find. It has an ability to run in stand-alone thermostat mode where it only needs power, and will drive output according to set temperature limits. However, what I could not find was PC software for programming the limits. There is a programming tool from Dallas, but that only works for ancient windows versions and DOS. When I fired it up under Win2K, it just froze. No wonder, because it needs chip connected to parallel port, not directly accessbile in todays brave computing world :).

So, a new tool with new software then. The schematics of a tool is below. It uses all 3 output signals from serial port to provide power to chip (D2, D3, D5, D7, C1, C2 rectify and limit the voltage to 4.6-4.7 volts). For each input, diode and resistor provide logic level signal because the output level on positive side is limited VCC+one diode drop, and low level is greated by pull-down resistors R2, R3, R4. DQ has R1 in line with the signal because it is used bidirectionally. R1 allows the DQ override serial port signal when needed. The DS1620 shown on a drawing is a socket for one. JP1 you can skip, this is just a row a pins making it easy to test the thermostat operation. JP2 is a one-row socket for programming temperature sensor modules (see below).

DS1620 Programming Tool

This tool will not work on all serial ports - some might be too weak to provide sufficent power, some require negative input voltage on DSR line. I have tried to tool with 4 different desktop machines, and it worked with 3 of them. I also tried it with 2 different USB to RS232C converters, and only one of them worked. So be warned – this is WYSIWYG software. What you see is what you get, if it does not work for you, try another port.

DS1620 Programming Tool

Build the tool, plug in the chip, stick the tool into one of serial ports on your machine and fire up the software. If you are lucky, then your serial port can supply enough current to feed the chip, and will recognize signal change from 0 to 5 volts. The first reading of temperature will be -60, that's normal – DS1620 will show this value after power-up. While running, the tool will show current temperature and status of a chip, updating every 2 seconds.

Thermostat part shows high and low limits, and you can change them. Status/config part shows the current values of status flags, and allows you to program in new values. Not that temp high and temp low flags can only be written to 0, they will be set internally if temperature ever exceeds high limit, or drops below low limit. CPU mode will disable thermostat operation, one-shot will set the mode where the chip does one temperature conversion when asked to, and then stops. Without one-shot mode temperature conversions will be done every 10ms or so, until stop command is given.

Pressing program button will write both temperature limits for themostat, and all configuration flags, too.

The sensor module is really simple, because the chip would not need any external components at all but I wanted to be able to reprorgam the temperature limits and at a same time make temperature sensor as low profile as possible so socket would not be an option. The solution is shown below.

DS1620 Programming Tool

Row of pads on the left is where pieces of wire are soldered, these make pins for plugging entire sensor into programming toos JP2 socket. On the right are 3 pads for wires going to temparature control module. R5, R6 ensure that the chip stays in thermostat mode and at a same time would still be programmable via 3-wire bus inputs.

And last, but not least, a picture what my version looks like...

DS1620 Programming Tool

Download software

nomad.ee