Picture of Arduino controlled automated blinds with Web UI
This instructable is a detailed guide on how to build an automated controller to run a motor that can operate the opening and closing of blinds. The controller enables the blinds to open and close based on a schedule, room temperature and out door luminosity. The controller settings can be set up via a web UI which enables a user to open or close the blinds manually or place them on a schedule with certain parameters. 

This project will guide you through creating simple circuits for the sensors, hacking the motor shield so it can be stacked with the arduino and ethernet shield and implementation of the code (note all code is provided and is fully commented). The project is laid out in the following manner. First the controller and system will be constructed. Then the logic behind the code will be explained. The last page will contain the code and link to download so it can be installed on the arduino.

So I hope you enjoy this instructable, gain from it and most importantly have fun.

Table of contents:

1.Requirements and parts
2.Wiring the sensors.
3.Wiring the arduino and shields.
4.Hacking the motor shield.
5.Code logic.

Step 1: Requirements and parts

This project is fairly simple to create and set up since the most difficult part, the code, is fully provided. The setting up the arduino and shields is fairly straight forward. Below is a list of parts you will need for this project. I have also listed the prices for these parts if you need do not have them. Most of these can be ordered from Adafruit, Sparkfun or the robotshop.

1. Arduino ($30)
2. Ethernet shield ($50)
3. Motor Shield ($20)
4. Analog temperature (TMP36)  sensor ($2)
5. Photocell ($1)
6. 20 pin 0.1" Female Headers ($3)
7. Breadboarding Wire Bundle (6)
8. Breadboard friendly 2.1mm DC Jack ($1)
9. 12 V Stepper Motor (14)
10. 100 ohm resistor
11. MicroSD card (1gb card is good and can be found for as little as $2).
12. 2 Full breadboards ($14)
13. 12V AC adapter. (powers the motor only)
14. battery pack for the arduino

Remember, all these parts can be used for other projects, so don't worry too much about the cost because you'll be able to use them in many more projects, unless of course you are gonna use this as a permanent installment.

Equipment needed
1.Soldering iron
2.Soldering Fan
3. Small screwdriver.
1-40 of 55Next »
Shirleydavis2 months ago

Thats breathtaking

thermallyme3 months ago


Can I connect more than 1 motor ?
DavidoH11 months ago

There is now an automated blind retrofit kit on kickstarter.


CHURLZ1 year ago

If you're into doing this but the price tag is a tad steep you can look into getting a continuous servo motor instead, round $11 on eBay(just make sure it has enough torque). That way you don't need a motor shield. Also there are plenty of cheaper third party Ethernet shields on eBay (~$10), but supporting Arduino is nice of course :)

Really good

Its interesting

Thats brilliant

gorgeddamp1 year ago

Thats extremely good

illrings1 year ago

Its incredible :)

Very good

headlymph1 year ago


tealrink1 year ago


Its useful

harechubby1 year ago


clapfilk1 year ago


Its striking



gazumpglue1 year ago

do you have the updated version of the code? because its not working it has alot of errors....any advised?

do you have the updated version of the code? because its not working it has alot of errors....any advised?
talhoo78621 year ago
do you have the updated version of the code? because its not working it has alot of errors....any advised?
draythomp2 years ago
Very nice job, and food for thought in the future. However, how the heck would one hook the servo to window blinds? Just wrapping the cord around the motor spindle won't do the job for very long. Using two power supplies makes it simple, but how many people have two outlets below the blind to plug in wall warts? One would have to use wall power since the servo would discharge a battery in a short time. I have to think of the aesthetics of a couple of wall warts plugged in below a window with the wires routing up the wall to a big ol' servo nailed somehow and attached to the cord or twist projection on the blind; especially since most wall warts are black.
FreedomToCreate (author)  draythomp2 years ago
Hey. If you connect the motor to a IKEA rollar blinds (come in various sizes and range from 10 to 20 dollars), the motors produces enough torque to rotate the shaft to open and close the blinds. As soon as I get time, I will upload a instructable on how to connect the motor to the blinds, but for now, experiment. As for the power required. A standard 9V power supply connected to the motor should last for a couple of weeks. I am working on a more efficient circuit design(the one given is extremely basic). Overall the conclusion is that this instructable is mostly an opportunity to experiment.
Hi, awesome tutorial,
did you get around on how to connect the motor to the blinds?
would be much appreciated,
thanks for your time. :)
Very nice.
BunnyRoger2 years ago
Very cool, quite impressive.
MAApleton2 years ago
Very impressive. Thanks for sharing. Going into my Favorites list.
Hey man, Whenever I try and upload the code, I'm given this error: Binary sketch size: 32,244 bytes (of a 32,256 byte maximum)
avrdude: verification error, first mismatch at byte 0x7800
0x4e != 0xff
avrdude: verification error; content mismatch

I don't have anything attached to the arduino at the moment, but this shouldnt cause any problems should it ? :c
THanks in advance c:
mmanville2 years ago
Have you finalized your design enough to post a video yet? Thanks.
ErikAndren2 years ago
Cool stuff but is the web and temperature stuff really necessary. Wouldn't it suffice with just the light sensor controlling the blinds?
hdutoit2 years ago
I have tried to download you code but have not been successful. Followed the link to download the code and installed iLivid, however is unable to download and reports an error. Your assistance will be appreciated.
FreedomToCreate (author)  hdutoit2 years ago
I tried the link on multiple computers and it works fine. Try using Firefox or Chrome. Here is the link again http://www.2shared.com/file/guPvu-HK/WindowBlindsSever1_4.html
great job man! really nice
velkrosmaak2 years ago
This is great! I would love to see how you have attached it to your blinds and wall, or indeed where you have mounted the assembly!
codesck2 years ago
Hi, I am working on a project that using the same motor shield and a wifi shield. For hacking the motor shield from pin 12 to pin 9, is it possible to do the similar way for pin 7 as well? Because the wifi shield need to use pin 7 for socket connection.

pepperm2 years ago
Thanks for the code but it is too big to fit into the ATMega328 Arduinos as featured in the Instructable. It will fit into the 1280 2560 based Arduino's because they have much more memory. I have even removed the Temperature sensing bits of code which involve floating point maths and the code still doesnt fit into the smaller Arduinos. So how did the author get it to work?
FreedomToCreate (author)  pepperm2 years ago
Hey, The code works out to about 32kb which fits perfectly onto an arduino uno R3 used in the instructable. The ATMega 328 have 32Kb of which 0.5 is used by the bootloader. What size is your compiler saying the code is?
Interesting because I dont believe that it says that an Uno is used, in the article. It just says Arduino and the actual Arduino is hidden under the Ethernet shield. When I compile for an Uno I get a sketch size of 32,188 bytes which fits, but when compiling for a Duemilanove w/Atmega328 the size is the same but the space available is 30,720 bytes so the project doesnt fit. I dont understand what the difference is. Anyone any clues please? Isn't the microntroller the same one? I actually have a Freeduino 328.
1-40 of 55Next »