Very Dumb Security For a WiFi Thermostat

elliot We have finally figured out what the Internet of Things actually is. It turns out, it’s just connecting a relay to the Internet. Not a bad idea if you’re building a smart, Internet-connected thermostat, but you have no idea how bad the security can be for some of these devices. The Heatmiser WiFi thermostat is probably the worst of the current round of smart home devices, allowing anyone with even a tiny amount of skill to control one of these thermostats over the Internet.

The Heatmiser is a fairly standard thermostat, able to connect to an 802.11b network and controllable through iOS, Android, and browser apps. Setting this up on your home network requires you to forward port 80 (for browser access) and port 8068 (for iOS/Android access). A username, password, and PIN is required to change the settings on the device, but the default credentials of user: admin, password: admin, and PIN: 1234 are allowed. If you’re on the same network as one of these devices, these credentials can be seen by looking at the source of the webpage hosted on the thermostat.

if you connect to this thermostat with a browser, you’re vulnerable to cross-site request forgery. If you use the Android or iOS apps to access the device with the custom protocol on port 8068, things are even worse: there is no rate limiting for the PIN, and with only four digits and no username required, it’s possible to unlock this thermostat by trying all 10,000 possible PINs in about an hour.

There are about a half-dozen more ways to bypass the security on the Heatmiser thermostat, but the most damning is the fact there is no way to update the firmware without renting a programmer from Heatmiser and taking the device apart. Combine this fact with the huge amount security holes, and you have tens of thousands of installed devices that will remain unpatched. Absolutely astonishing, but a great example of how not to build an Internet connected device.

Energy-Saving Fireplace Thermostat

[Andrian] has a boiler stove that heats water and sends it to a radiator. As the fireplace heats the water in a boiler a temperature sensor opens the a valve to send the warm water to the radiator. The radiator sends its cool water back to the boiler to be reheated. The valve is slow, so before the boiler can send all the water to the radiator, it’s getting cool water back causing the valve to close while the heat is built back up. To prevent the valve from working so hard and wasting energy, [Andrian] designed a better thermostat to control the valve operation.

The thermostat uses one LM85 temperature sensor to check the water in the boiler and another one for the ambient temperature. Once the boiler water reaches the desired temperature, the valve is opened via relay. The system waits for half an hour and then checks the boiler temperature again. The brains of this operation is an ATMega168 with a 32.768kHz crystal as the RTC. Code and PCB files are available in his repo.

We love to see these types of hacks that challenge the status quo and increase the efficiency of appliances. We applaud you, [Andrian], for turning your dissatisfaction into a positive plan of action and for sharing your experience with the rest of us!

If you want to up the eco-friendliness of heating water a bit, you could heat the water with a compost heap.

Move Over, Google Nest: Open Source Thermostat Is Heating Up the Internet of Things

In the wake of Google’s purchase of connected devices interest Nest, the gents at [Spark] set about to making one in roughly a day and for a fraction of the cost it took Nest to build their initial offering. [Spark]‘s aim is to put connected devices within reach of the average consumer, and The Next Big Thing within the reach of the average entrepreneur.

The brain is, of course, [Spark]‘s own Spark Core wi-fi dev board. The display is made of three adafruit 8×8 LED matrices driven over I²C. Also on the bus is a combination temperature and humidity sensor, the Honeywell HumidIcon. They added some status LEDs for the furnace and the fan, and a Panasonic PIR motion detector to judge whether you are home. The attractive enclosure is made of two CNC-milled wood rings. The face plate, mounting plate, and connection from the twistable wood ring to the potentiometer is laser-cut acrylic.

[Spark]‘s intent is for this, like the Nest, to be a learning thermostat for the purpose of increasing energy efficiency over time, so they’ve built a web interface with a very simple UI. The interface also displays historical data, which is always nice. This project is entirely open source and totally awesome.

If you have an old Android phone lying around, you could make this open source Android thermostat.

[Read more...]

Wireless Thermostat


The thermostat in [Tom’s] 100-year-old house is two floors up from where the furnace is located, so a broken wire in the wall was just the catalyst needed to design a wireless thermostat.

The system is based on a customized PCB [Tom] designed called the Magic Mote. The board contains an MSP430 microcontroller, a low power NRF24l01+ wireless transceiver, and various sensor interfaces. The wireless thermostat project uses two of these boards; one monitors the temperature on the second floor and the other controls the furnace in the basement.

The temperature sensing is done using a DHT22/AM2303 temperature and humidity sensor, which is a convenient choice, since the part is calibrated and handles the analog digital conversion; you just need one digital pin to retrieve the temp/humidity data. To control the furnace, [Tom] used the local 24VAC and a latching relay to drive the heater signal. The 24VAC also powers the board, so a door-bell transformer steps the voltage down to something more usable; about 11VAC or so, which is then rectified, filtered, and regulated down to what the control electronics like to see (3.3V/5V).

This project is actually still in the early stages of what [Tom] has planned; a network of sensors and appliances with a beagle bone base station. We can’t wait to see what’s next for this project; maybe we’ll even see some voice control, like in this epic Siri controlled home automation project.

[via Dangerous Prototypes]

DIY Pellet Fed Boiler is Hot Stuff


[Firewalker] has designed a great pellet burning boiler (translated). Wood and biomass pellets have gained popularity over the last few years. While freestanding stoves are the most popular method of burning the pellets, [Firewalker] went a different route. He’s converted a boiler from what we assume was oil to pellet power. An Arduino controls the show, but don’t hold it against him. [Firewalker] is just using the Arduino as an AVR carrier board.The software is all written in C using AVR studio. The controller’s user interface is pretty simple. A two-line character based LCD provides status information, while input is via buttons. Once the system is all set up, thermostats are the final human/machine interface.

Burning pellets requires a bit of prep. A cleanup of the burn chamber must be performed before each burn. The AVR is programmed to handle this. Once the chamber is clean, new pellets are fed in via an auger system. The burner is monitored with a standard flame sensor. When the fire is up the pellets feed in until the boiler gets up to temp. Then the system enters a standby mode where it feeds in just enough pellets to maintain the flame. When the thermostats stop calling for heat, the whole system shuts down, ready for the next burn.

[Read more...]

Rolling your own furnace controller


[Viktor's] found an opportunity to put his embedded design skills to use when the furnace controller in his building went out. He admits it would have been much easier to just purchase a replacement, but not nearly as fun. Instead he built this furnace controller based on a PIC 18F4550.

First off, you may find it strange that we’re calling this a furnace controller and not a thermostat. But a study of the hardware schematic reveals that the device doesn’t have the ability to sense temperature. It merely switches the furnace on and off based on a time schedule. We guess this is for an apartment building where measuring the temperature at one central point doesn’t suffice?

At any rate, the build is clean and the UI looks quite easy to use. Inside there’s a board-mounted 12V relay which controls the furnace. The schedule is saved to the EEPROM of the microcontroller and time is kept by a battery-backed DS1307.

We’d love to see this extended in the future. Some possibilities would be adding internet connectivity and implementing a mesh network of temperature sensors which would give feedback to the main unit.

Open source Android thermostat

Put that old Android phone to good use by mounting it on the wall as a smart thermostat. This open source hardware and software project lets you replace your home’s thermostat with an Android device which adds Internet connectivity and all that comes with the increase in computing power.

The brunt of the hardware work is taken care of by using an IOIO board which makes it easy to interface any Android device with the simple hardware which switches your HVAC equipment. We’ve been waiting for the launch of the new IOIO design and if it comes in at a lower price as has been rumored that makes this project in the price range of the least expensive of programmable thermostats (assuming you already have an Android device to devote to it). Simply etch your own board to host the relays and voltage rectifier and you’re in business.

There is a client and server app, both free in the Play Store. The server runs on the wall-mounted device with the client offering control via a network connection. The features of the system are shown off quite well in the video after the break.

This sounds like a perfect use for that phone you ripped out of the pages of a magazine.

[Read more...]


Get every new post delivered to your Inbox.

Join 94,548 other followers