Hey everyone! In this instructable, I will show you how to make a device that can control the temperature of a room, through the internet. This is useful for times when it is cold outside and you are at work or school, wanting to get home to a warm room. Where I live, it doesn't really get cold outside, but hey, I've been wanting to try a project like this for a while.

The Arduino code could use some work, for example, it only has a few presets, instead of having a text box, so you can't get an exact temperature. Feel free to edit the code in any way.

Step 1: Parts and Tools

Linkit ONE board with micro USB cable

Mini Servo (Preferably with metal gears)

Double-Sided Foam tape


Hot Glue gun and hot glue


3D Printer and filament (If you don't have access to one, try 3dhubs.com)

Step 2: Install Linkit One Drivers

The Mediatek Linkit One is a powerful microcontroller, but getting it set up isn't quite as easy as as an arduino. Here are the steps to get it set up.

1. Download latest Arduino IDE: https://www.arduino.cc/en/Main/Software

2. Install Arduino IDE, open preferences, find additional boards manager and paste: http://download.labs.mediatek.com/package_mtk_link... into the text box.

3. Go to Tools --> Board --> Board Manager. Scroll down until you see "Mediatek Linkit One" and click it, then you should see an install button, click it.

4. Download USB drivers from: https://labs.mediatek.com/site/global/developer_to... , Unzip the file, and open the "Drivers" folder and double click the .mpkg file to open it. This will take you through a setup wizard, just accept the terms and conditions and press continue whenever you can.

Step 3: 3D Print Parts

3D Print this .STL file:

Step 4: Upload Sketch to Linkit ONE

Download this file, then double click to open it in the Arduino IDE. Go to tools --> Board and make sure that Linkit ONE is selected.

You will have to edit the code slightly, Near the top of the code, you should see a line that says: #define WIFI_AP "Your Network" and on the next: #define WIFI_PASSWORD "Your Password" change theparts in the brackets to your wifi network name, and on the second one, your password to the network.

Now, press the upload button.

Step 5: Wiring

Using jumper cables, wire the ground pin of the servo cable to a ground (brown) pin on the Linkit ONE board, then the servo's positive (red) wire to the 5v pin on the board. Now, wire the servo's signal (orange) wire to pin 9 on the board.

For the internet connection, you will need to use the WiFi antenna included in the box. To attach the antenna, you will need to turn over the linkit ONE board and plug it into the middle uFL connector.

Step 6: Assemble 3D Printed Parts

This step isn't as elegant as I wish it was, but you will need hot glue. Start by taking the main large 3D printed piece, and glue the servo onto it, making sure that when doing so, the servo horn mount is in the centre. Next, Take the (kind of) circular piece, and glue the servo horn onto it, using the indent in the part as a guide. Now, mount the servo horn onto the servo by press fitting it on. You don't need to worry if the servo is in it's centre position yet.

Step 7: Mount Servo Assembly Onto Room Thermostat

Make sure the servo is in its counter-clockwise max, then put double sided foam tape onto the centre of the thermostat knob. Then use hot glue to mount the main servo mount onto the sides of the room thermostat (I don't know what else to call them). Make sure that the circular servo piece is in the middle of the thermostat knob.

Step 8: Test...

To test the project, open the serial monitor in the Arduino IDE, copy the IP address that is displayed and paste it into a web browser. Keep the serial monitor open while in use. Once the webpage is open, you should see several buttons. To use the device, click a button, then press "Do It!". The servo should move a certain amount of degrees, which you may have to change the amount of degrees that it turns, depending on the type of room thermostat that you have.

a temperature probe and a relay would be a lot less complicated and give you a lot more control thermostats are nothing more then a switch just use 2 wires open off closed on controlled by a heat sensitive spring and a tilt switch.
<p>a dual coil relay should do the trick and it's energy efficient</p>
<p>@ Timofte Andrei - Do you mean a latching relay like this?</p><p><a href="http://www.ebay.com/itm/1-Channel-5V-Latching-Relay-Module-with-Touch-Bistable-Switch-/191100353978?&_trksid=p2056016.l4276">http://www.ebay.com/itm/1-Channel-5V-Latching-Relay-Module-with-Touch-Bistable-Switch-/191100353978?&amp;_trksid=p2056016.l4276</a></p>
<p>that's not a real latching relay. It's a normal relay with some circuitry that make's it latch, but it still consuming some electricity. I'm talking about real latching relay that use electricity ONLY to change the state of the relay from open to close or viceversa. once you changed the state of relay, you can unplug the relay and everything stays in that certain state. like this one </p><p>http://www.ebay.com/itm/Passive-Bistable-Latching-DPDT-8-Amp-Power-Relay-Module-12V-Version-RT424F12-/371469781289?hash=item567d530929:g:~a8AAOxyBPZTjXwP</p>
<p>Interesting setup. Would also be cool, if someone could build a wi fi controlled light switch..</p>
<p>very good Idea For Smart Home . decrease money . </p>
<p>Interesting project </p>

About This Instructable




Bio: My name is Zach Sousa and I'm a Canadian highschool student that has a passion for making.
More by Zach Sousa:CNC Oak Watch Box CNC Camera SD Card Holder Edge 3D 3.0 - A $200 3D Printer 
Add instructable to: