Project updates

Things have been a little quiet as of late due to me being busy.

The various projects have been progressing nicely in the background and I’ll be getting their progress written up into blog posts as soon as time permits.

In the interim here is a quick update on where things are at:

Wireless thermostat

My Arduino YUN has arrived. This is going to be the perfect piece of equipment for completing my WiFi thermostat project. It takes away the need to worry about hooking up a separate wireless shield. I’ll just need to attach one of my touch screen shields to it and hook up a relay and thermistor and it will be ready to go.

My next wireless thermostat post will go into more detail on this.

Ethernet Thermostat

The Ethernet thermostat is almost complete. The next post on this will detail each component I used, how to set it up and will also discuss connecting it to baseboard heaters and the types of relay needed.

Thermostat controller

The Java based thermostat controller running on the Pi is coming along nicely. The next posts on this will tie in with my earlier post on parallel computing.

The controller is going to leverage Hadoop which is running on other devices in my home to process temperature data. Expect a guide to setting up Hadoop on the Raspberry Pi and also a further look at MPI for C based applications that can also leverage spare processing capacity.

There will also be code uploaded to BitBucket which you can download and use as a base for your projects.


Upcoming reviews

I have some upcoming reviews on the Arduino YUN, the Pebble smart watch and Mint floor sweeper.



Raspberry Pi to Arduino shield thermostat – a sneak-peek

Here is a sneak-peek of the Raspberry Pi to Arduino shield based thermostat project I have worked on for the upcoming book.

The prototype you see below is part of a project in one of the chapters:

This uses a relay shield attached to the Raspberry Pi to Arduino shield. The relays are then switched on and off based upon a change in temperature. Connected to the relay shield is a wall powered electric fan.


Thermostats Part 4 – Ethernet thermostat screen review

Screen comparison

In this post I am going to be briefly reviewing a variety of screen types for my thermostat and deciding upon which will fit the bill for the Ethernet model I am building.

The three screens I have in my collection are:

1.) 2.8″ TFT Touch Shield for Arduino – 2.8″ 

2.) Adafruit 1.8″ 18-bit Color TFT Shield w/microSD and Joystick

3.) 16×2 LCD screen

You can see the three screens side by side below:

Comparison of screen types

Comparison of screen types

Lets start by looking at the 2.8″ TFT touch screen.

2.8″ TFT touch screen

This device is an Arduino shield and a very nice one at that. It plugs straight into the top of your board ( I have been using an Uno) and there are some libraries available from the Adafruit site to start testig it out.

The screen is large and easy to use which is nice, and the picture quality is good. Being touch screen it also has the benefit that I wouldn’t need to use buttons on my thermostat as manual override/control could be performed directly on the screen.

Touch screen shield

Touch screen shield

The down side to the shield though is that it is very greedy when it comes to pin use.

I tried wiring up my all in one thermistor/resistor unit to the Arduino, plugged in my Ethernet shield with the screen and hit some problems. When the shield initializes it uses some of the pins that the Ethernet shield uses, and vice versa.

At this point I hadn’t tried to hook up any relays which I will also need to switch the mains power on and off to the baseboard heater. The screen may work with some modifications but considering I have other options I will hang on to it for now and use it in another part of the system.

I suspect this shield will be better placed on a wireless thermostat device that uses a Xbee radio for communication, although I will have to do some more experimentation here.

So all in all it is a great shield but isn’t right for the particular style of thermostat I am building at the moment.

1.8″ TFT shield  

The next option was the TFT shield that comes complete with a miniature joystick and SD card reader.

This is a neat little device that requires minimal soldering (just some headers) and then acts as an Arduino shield. It has a nice screen and the added bonus of an SD card slot for loading up images to the device. The Arduino pins can be accessed along the top of the board so unused pins can still be used.

1.8" screen

1.8″ screen

I like this shield a lot, although I have some concerns about whether the joystick-button combo is right for the thermostat. Ideally I would like a few buttons that are always visible. With the previous TFT shield I could literally draw the buttons out and display them at the base of the screen at all times.

With this device, whilst this is possible, to navigate between the options would require using the joystick which may be awkward depending on the angle of the thermostat on the wall. I also feel as if the SD card slot would be wasted on this project as the thermostat has no use for it.

Having done some experimentation with it I decided against using this device for this particular thermostat and will hold onto to it until I can find a project that requires a screen + SD card reader.

16×2 LCD screen

My final option is the LCD screen. This certainly doesn’t have the polish that using one of the top two devices has and lacks the richness in GUI options.

On the plus side it is small allowing space for extra buttons and uses a minimal number of pins. Also not being a shield allows me to hook this up onto a proto-board along with a relay and the thermistor reducing the stacking of components and making my device slimmer. I could get away with just three boards, the Uno, the Ethernet and the Proto.

LCD screen

LCD screen

What I will loose in visual polish I will make up for size. This seems like a fair trade off.

Having played around with the screen I think I can make this work and will use it for the Ethernet thermostat.

This just leaves me with designing a proto-board that contains the screen and other components. For $16 I can get a Makershield from Makeshed and solder my devices to it easily.

So all-in-all this seems like the best path forward.


The LCD device while not the best looking will do the job. My next post on the Ethernet thermostat will look at starting the construction process and review all the components necessary. I’ll also be showing some experimentations I have done with a relay shield and mains power.

The past few weeks have seen some experimenting with the Arduino-to-Raspberry Pi shield so expect a post on that soon, as a heads up it is very cool!

Thoughts on – “nest – The programmable home thermostat”

For those of you interested in thermostats, you may be interested to see the nest -Learning Thermostat. I’d not heard of these devices until the COO at my work place Dave told me about them over lunch and sent me the link.

The nest is an intelligent home thermostat device that is capable of all sorts of cool things, such as showing you how long it will take the house to warm up, how much energy it uses and figuring out when you are gone for the day.

All of these features are of course very useful and the nest also aims to help cut your electricity bills down, a noble goal indeed.

Each unit clocks in at $249 a piece, and then if you want to have the nest guys install it, that’s a little more on top. This isn’t actually a bad price at all for all the cool functionality, and the really very nice design of the thermostat itself (I believe some guys from Apple are behind the company).

However at $249 per unit the price could soon mount up if you have a lot of baseboard heaters. Buy four thermostats and you have already spent close to $1000 for example. I am hoping my home-brew system will not cost anywhere in this range. The nest will give me a good bench-mark to work against, can I get the components and put them together for less than $250?

The nest has given me some good ideas though! Would it be possible to have a decent looking UI on the thermostat, rather than a plain old LCD?

After doing some digging around online I’ve found some great TFT touch screen Shields for Arduino. You can see an example of one here.

The website also has a number of other touch-screen shields, so there are plenty of options on this front. This would also allow me to create a very rich UI with interesting ways of representing the temperature in the room.

I’ll do some more research on the TFT options, however I believe this will replace the LCD component on my earlier list .

In conclusion – the nest is a great piece of kit from the looks of it. For those not inclined to build their own system and with the cash to spare, this could be a great addition to your home heating system.

Thermostats – Part 1


Having decided to replace the existing thermostats with a set of home-brew ones that can communicate wirelessly, I now need to find out  which hardware is required and get a basic drawing together of how the components will interconnect.

I found the following two websites incredibly useful as they gave an overview of projects other bloggers had completed:

So it looks like the thermostat will contain the following basic hardware components:

  1.  Main board (micro-controller)
  2. Temperature sensor
  3. Wireless shield
  4. Power source
  5. LCD display
  6. Over-ride buttons
  7. Wall mount
  8. Casing

I am going to start with the micro-controller. This acts as the base where I can then start to work out which components will fit onto it easily and map out how they will interact.

Arduino – Microcontroller

The other day I received a $10 coupon for Radio Shack, so I stopped by and picked up a couple of Arduino boards there. Radio Shack is more expensive than ordering online, so in future I’ll be picking up components on the web.

The boards I picked up were the Arduino Uno:

Arduino Uno

Arduino Uno

and the Arduino Proto:

Arduino Proto

Arduino Proto

The Arduino Uno is an open-source micro-controller and part of the Arduino platform, an easy to programme open source hardware and software environment.

The Uno can have a number of sensors and other components hooked up to it, and then programmed using the Arduino programming language, which is based upon Wiring (an open-source programming framework)

This piece of hardware will act as a good micro-controller for the Thermostat. Newark Electronics (the folks from whom I ordered my Raspberry PI) are also selling the Uno for $25.50 a piece. This makes replacing the existing thermostats a fairly cheap process.

As you can see in the photos above, there is also the Proto. The Proto can be used for designing custom circuits. Having this will allow me to try out some custom circuit designs before I solder components to the Uno.

I’ll now need to hook up the Uno to my Mac and download the development environment so I can start playing around with it.

The book I purchased Programming your home, has some great starter projects that will give me some practice with the programming language and the development environment in general.

The next post will detail hooking up the Arduino and getting a hang of the interface and IDE.