You are currently browsing the thermostat tag archives.

Thermostat Failure

Posted 2011.04.14 16.51 in Computers/Internet/Technology by Stephanie

After nearly a full month of flawless operation, my DIY ethernet thermostat suffered some kind of stroke yesterday evening, and this morning slipped into a coma.

I don’t know what cause the glitch but it appears that the microcontroller that runs the whole thing has been fatally befuddled. And while 98.2% of the time, I use a socket for any IC in any project, in this case for some stupid reason I did not.

Indeed, everything is soldered, hot-glued, and taped in there so well that I’m not sure it’s even worth-while attempting to debug & repair. I think this is a back-to-the-drawing-board moment. Or at least, back-to-the-assembly-line moment.

So, I have a couple replacement parts on order (and you can bet I’m re-stocking my IC stocket supply), and I suppose I’ll have to rebuild the darn thing over the weekend. It wouldn’t be such an issue if this had happened closer to the summer months, but for now I can’t leave the house unheated for days-on-end.

Hopefully the parts will arrive tomorrow and I’ll be able to get at it. Otherwise it’ll probably be a week before I can recover from this tragedy.

In the meantime, my home heating needs are being serviced by this neolithic thermostat that was recovered from an archaeological dig, and has been on display in a dusty old museum somewhere. Or quite possibly I found it on a shelf in the storage closet.

Updated Already

Posted 2011.03.20 22.10 in Computers/Internet/Technology by Stephanie

I couldn’t leave it alone, of course. Had to take it apart again today and make an update.

That thing with the WizNet module hanging sometimes, I had applied a very makeshift fix to yesterday. See, the WizNet doesn’t have its own power-on reset, but it needs it. They suggest you use a digital pin from your uC but I was out of pins. So I used a 10uF capacitor, which was enough to ground the reset line on power-up or manual reboot.

The problem was, I had my WizNet reset tied to my Arduino / ATMega reset, and the capacitor meant I couldn’t update the programming. At least, not without temporarily removing that capacitor.

So it turned out, I did have a spare pin. I had been holding A3 in reserve. Just incase the temperature readings from the Chronodot remained inaccurate due to the heat from the WizNet, I was prepared to add a TMP-36 analog temperature sensor, and dangle that a few inches below the enclosure. Luckily, with the thermostat mounted vertically on the wall, and the Chronodot a good 1″ out with open air around it, the temperature readings are accurate.

So I pulled it open, removed the capacitor, and unhooked the WizNet reset line from the Arduino / ATMega reset line, and tied it instead to A3. A few quick changes to the software, and presto, no more hang-on-powerup and it can be reprogrammed without any soldering. Yay!

Also, I decided to go ahead and show off the guts. Why not? Just be warned, if you’re easily upset by ugly wiring hacks and poorly-planned soldering and random wires and tapes and dead-bug construction… well just don’t look.

And finally, here’s a link to the updated software. The zip file also contains a text file that outlines the pinout & functions for the ATMega chip, the WizNet module, and the function of the HVAC lines — or at least, how they function in my house.

Thermostat Deployment

Posted 2011.03.19 17.09 in Computers/Internet/Technology by Stephanie

Today I went ahead and did it.

There were just two things left to fix and I fixed ’em both. One hardware glitch and one software bug.

That’s it. Done deal. The thermostat is live and installed.

It’s ugly and there’s wires all hanging out of it and it looks like a high-school science project and I don’t care – it works and it’s networked and it does exactly what I want, when I want, how I want, and I built it from scratch!

Now if I’m cold at 2am I don’t have to get out of bed and crank the heat – I can grope around for my laptop or iphone or ipad or whatever is nearby, log into the thermostat and twiddle the dial remotely. I’m almost looking forward to being cold in the middle of the night.

Or hot – come summer, I’ll have just as much control over the A/C as I do the heat.

Isn’t it wonderfully ugly? The red things in the wall are plugs from a previous thermostat. Apparently it was there way back when the wall was last painted, some 9 or 10 years ago.

The red glow on the wall indicates that the furnace is currently on. If the A/C were on, there’d be a blue glow up there. No glow indicates that we’re at the desired temperature.

The thumbnail pic on the left shows a better view of the thermostat in situ in my livingroom. All dangly wires and protruding bits, hanging out for all the world to see. Like it has no shame.

I’d love to share a schematic with you all, but I didn’t make one. The guts are one messy tangled mix of design-and-build-on-the-fly-and-hope-it-works. There’s no internal photos for the same reason. It’d just shock and offend.

I will share the source code though – for those willing to give this a shot yourselves, there’s enough comments in the code to explain how to build the physical side of things. Well, most of it anyways. The rest, you can extrapolate for yourselves.

As mentioned in earlier posts on the subject, it is based on the Arduino IDE, although there’s no actual Arduino inside. The heart of it is a repurposed Serial LCD Kit from SparkFun. It just happens to be a small footprint Arduino-compatible board designed to fit behind a 16×2 LCD display. (updated 1104.18)

Like it’s an Arduino without the Arduino, the network side of it is an Adafruit Ethernet Shield, only without the Adafruit ethernet shield part. That is, all the thoughts and purpose and intent from the Adafruit shield is there, but to save space I didn’t actually use her shield in the final product. Just the Wiznet module, hotglued to the inside of the enclosure. Oh but it is an Adafruit Arduino enclosure, so there you go!

Anyhow, babbling aside, here’s the source code! There’s some extra features I haven’t talked about yet, and some stuff that hasn’t been implemented yet in hardware. And it’s been shelved long enough that I’ve forgot how to use half the functions. And there’s no documentation, naturally.



Posted 2011.01.22 21.16 in Computers/Internet/Technology, Pointless Blather by Stephanie

It’s slow, and I hope I’m not jinxing myself by saying it, but I think there’s some progress.

The ethernet port seems to be working(*). The temperature variances are annoying but I think I’ve found ways to live with it. Last night I added all the buttons and switches. All that remains now is to build the circuit board that will house the power regulator and the interface to the HVAC lines.

I had been worried about how it will all look – especially with the Chronodot RTC/temp sensor being not only external, but standing off about an inch. I was worried also about mounting buttons and switches. Would I do a good job? Would they look ok? Would it look like a 3rd grade science fair reject?

In a moment of zen, I found a peaceful answer to all these concerns. My thermostat is going to look a little bit like mad science. People are going to be wary when they see it. People are going to be afraid to touch it. And that is the way it is meant to be.

The grey wire coming out the bottom is the ethernet cable. The blue board & black cable on the left side is temporary, it is the USB/serial connection that I’m using for debugging, and temporarily providing power to run the thermostat. Down below to the right of the ethernet port, is where I’ll be building the power & HVAC interface circuitry.

* There is one ongoing sporadic problem with the ethernet port. Sometimes after a power loss, it hangs on initialization. I suspect I know what the problem is, and how to remedy it. For now, it just means occasionally having to hit a reset button after power-up.

I’ll include some pics of the guts in my next update post.

Cheer up! Snap out of it!

Posted 2011.01.20 9.44 in Hobbies, Pointless Blather by Stephanie

You hear stuff like that now and then, when you’re depressed. Seems more likely in the first 6 or 12 months. Once you get into a really long dark groove, eventually people clue in that it’s not something you can just snap out of, and that if you could just cheer up you probably would have done that already.

About the best I’ve been able to manage is to keep myself distracted. Keep forcing myself on this electronics hobby stuff. When I’m actually plugging away at it, I’m not feeling depressed. So from that angle, it’s working.

The problem is that it’s not consistent or fool-proof, and now and then things don’t go well then it just adds to the frustration and negative thoughts, rather than being a distraction from them.

Like this thermostat project. It’s starting to feel like every time I make any progress, there’s another setback to go with it. Two steps forward, three steps back.

It’s been two weeks since I talked about the last big setback. Two weeks of re-thinking, re-organizing, and replacing dead components. I got a new enclosure. I scrapped the first prototype board. Slowly things were coming back together again.

Last night I got back to the point I was at 2 weeks ago, of incorporating the ethernet port. This time, nothing went in backwards and nothing was wired wrong. The magic smoke stayed in. The ethernet port is installed and working. Except…

The ethernet chip generates a lot of heat, even when it’s sitting idle. By a lot, I mean, it feels just slightly warm to the touch. No big deal, right? Except having a little heater in the thermostat completely fucks up the thermostat’s ability to know the temperature of the room. Gawddamnit.

Read more »

One Step Forward, n Steps Back

Posted 2011.01.05 12.14 in Computers/Internet/Technology, Pointless Blather by Stephanie

Grumpy grumbles. After all my thermostat progress, I was getting more and more stuff squeezed into the final enclosure when there was a stumble, a trip-up, and then a complete collapse.

First I got a part in backwards.Then I hooked up some wires wrong. Then the magic smoke escaped from a component. Finally the whole thing achieved electronic death, or at least an electronic vegetative comatose state.

So I had to rip it all apart and move everything back to the breadboard & workbench, to start over.


It all went down Sunday night I think. Then I got all frustrated, then that got me feeling down, and I could almost feel like I was teetering on the edge of the depression, like it was just waiting for the opportunity to get me when I let my guard down.

Dealing with frustration is ‘easy’ (well easy to say, sometimes hard to do). You just put it down and walk away. Stop working on it, put it away and leave it for an hour, a day, whatever it takes.

Now I’ve got things mostly re-assembled on the breadboard, except the ethernet module which I don’t know yet if it still works… the magic smoke came out of a supporting component and I haven’t had a chance to replace that.

So, not quite back to the drawing board, but back to the workbench, anyways. Grumbles.

Prototypical Progress

Posted 2011.01.02 16.43 in Computers/Internet/Technology, Hobbies by Stephanie