DIY Thermostat, from the Adafruit forums – Stephanie writes –
I’ve been working on this on-and-off since December, but finally got around to completing it.
The goal was a networked programable thermostat that did just about everything you’d expect of a normal off-the-shelf thermostat, but was also accessable through a network / internet connection. I could cut some corners and simplify a few things, eg. eliminate most of the ‘set-up’ functions, since I’d be able to hard-code certain things and not need a UI to set them (24-hour clock, temp. in farenheit, programmed temp. schedule, etc.)
All the normal functions are accessable from the thermostat itself — one can temporarily override the temperature up or down, it can be set to ‘hold’ a fixed temperature, and if ‘holding’ it can be set back into ‘run’ mode. The display shows time, current temp, program mode, heat/cool mode, and target temp. If the thermostat is off, then it displays time, temp and date. There’s a few other functions and features too, that aren’t directly thermostat-related.
Over a network connection, one can access all the information and controls that you get at the thermostat itself. It’s an unformatted ‘raw’ protocol, with the intention being that later I can write an iOS app for my phone that will give it a nice interface. In the meantime, I just use a telnet client and have to remember the command protocol that I set up.
The brains of the operation is basically an Arduino Deumilanova compatible. It went through several physical iterations (Freeduino, Boarduino, etc.) and now is basically just an ATMega 328p hanging off the back of an LCD display. Likewise the network adaptor started off as an Adafruit ethernet shield, but gradually got whittled down to just a bare Wiznet module hotglued to the inside of an enclosure.
Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.