Happy Therm of Well Being Page

Or, disposable performance art with obsolete technology

Well, it's a little PC board with a temperature sensor IC and an A-D converter on it, powered by a wall wart, plugged in to a serial port on the back of my machine. The whole system looks like this:

It's not my idea. It's not the first one that I've built. But hey, I was really bored. Reed drew the picture.

The First Prototype

If you're done this before, you can guess the part numbers and probably component values even from the description above. It's an LM34, an ADC0801 and of course an AY-3-1015D. And a MAX232, hoo hoo. When I send it a byte, it sends one back with the temperature (+128). The whole thing is not very cool, but I'm slightly proud that I had a small stockpile of these UARTs, because they're one of the few remaining examples of the every signal comes out to a pin so you can read it without a microprocessor kind. Also, that one chip takes up more board real estate than a whole sparcstation.

The serial port is read by a program called therm that you can connect to with telnet or gopher . There are others. And, every 15 minutes a cron job reads the temp and adds it to a file, with a timestamp. Another program, thermgif, tails that file and honks up a GIF, like this,

that you can get from gopher://therm.netlib.org:4511/g. I have an identical-looking X-widgy floating around on my screen that updates once in a while.

I can tell you what the sum of the temperatures above 50F for all the months with an 'R' was. How's that for a public school math question? Or an Oracle whiz?

The Second Prototype

It worked pretty well, so we got rabid about making a small production run of them. Up close, the second prototype looked something like this. The one in the window is a hunk of perfboard in a QIC-24 tape box.

The most interesting part was trying to keep the technology level as low as possible, and finding stuff like a neat little 2.4576MHz CMOS osc package, and making the voltage reference double as the zero offset, for a wider output range. I was kind of happy about the board, which I routed on a homemade maze router that I hacked up to deal with jumpers so I could make single-sided board out of it. The router scribbled out PostScript (TM), which I printed on a nice laser and took to the local blueprint guys for a 50% reduction on to Kodalith film. This way, we could contact UV-print and etch as many boards as we could stand to drill (about one so far). The board looked like this:

The Third Prototype

I etched it a bit too long. Well, that one worked too. Then, we got this idea that we should be able to have any number of them on a single serial port. The same basic design, but they would be addressable and daisy-chainable. The addressed one would respond, and the others would transparently pass bytes back and forth. We got about this far:

Like last time, the router got the better part of the deal. It can now handle different pad sizes and shapes, trace widths and labels, and spits out Postscript or Gerber. And I wrote a Gerber to Postscript translator in the process of figuring out the Gerber format. Well it got to be time to order parts and we thought about it some more, and decided that this was really not a good idea. The price of the UART (from the only distributor) just went up from $5.95 to $9.95. Not a good sign. Also, the most recent date code I've ever seen on one of these is ~1986. Ah, at least it was a step up from latching relays and commutators.

The Fourth Prototype

So, I called it off and started dinking around with PIC microcontrollers, which seem like the way to go. I'm building a programmer for one right now. And it's controlled by an AY-3-1015D.