DIY Thermostat

Thermo Close-565X539

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.


Adafruit publishes a wide range of writing and video content, including interviews and reporting on the maker market and the wider technology world. Our standards page is intended as a guide to best practices that Adafruit uses, as well as an outline of the ethical standards Adafruit aspires to. While Adafruit is not an independent journalistic institution, Adafruit strives to be a fair, informative, and positive voice within the community – check it out here: adafruit.com/editorialstandards

Join Adafruit on Mastodon

Adafruit is on Mastodon, join in! adafruit.com/mastodon

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.

Have an amazing project to share? The Electronics Show and Tell is every Wednesday at 7pm ET! To join, head over to YouTube and check out the show’s live chat – we’ll post the link there.

Join us every Wednesday night at 8pm ET for Ask an Engineer!

Join over 36,000+ makers on Adafruit’s Discord channels and be part of the community! http://adafru.it/discord

CircuitPython – The easiest way to program microcontrollers – CircuitPython.org


Maker Business — “Packaging” chips in the US

Wearables — Enclosures help fight body humidity in costumes

Electronics — Transformers: More than meets the eye!

Python for Microcontrollers — Python on Microcontrollers Newsletter: Silicon Labs introduces CircuitPython support, and more! #CircuitPython #Python #micropython @ThePSF @Raspberry_Pi

Adafruit IoT Monthly — Guardian Robot, Weather-wise Umbrella Stand, and more!

Microsoft MakeCode — MakeCode Thank You!

EYE on NPI — Maxim’s Himalaya uSLIC Step-Down Power Module #EyeOnNPI @maximintegrated @digikey

New Products – Adafruit Industries – Makers, hackers, artists, designers and engineers! — #NewProds 7/19/23 Feat. Adafruit Matrix Portal S3 CircuitPython Powered Internet Display!

Get the only spam-free daily newsletter about wearables, running a "maker business", electronic tips and more! Subscribe at AdafruitDaily.com !



1 Comment

  1. Why not use MQTT instead of a "raw" protocol?

Sorry, the comment form is closed at this time.