208 comments on “Automated Window Blinds with Arduino

  1. Well you know the first question is what servo did you use and where to get it?

    Also I am currently building a noname Arduino with ethernet built in for less than $25 I hope. My use is for turning relays on and off to switch speakers through the house. I couldn’t do wifi for that cheap at least I don’t think so yet. But running a cat5 for me is no issue so I could have my HA system control the blinds as well :)

    I think for the cheap/thinner blinds you could build a nice little enclosure for the board and mount it to the window frame behind curtains maybe?

    Now I know my next project :) Too bad you can’t get them to go up and down yet… Hmmm, maybe a motor to wind the cord?

  2. S3003 servo, they’re cheap online, got one at my local RC toy hobby shop in town for $12. I dont think the model matters as long as they are standard servos, not continuous rotation servos (which cost more anyway)

    I’m not doing TCP for these at all. I could but I’m avoiding it. I can get most of the functionality I need with a photocell, a temp sensor, an IR receiver and emitter.

    WIFI shields are expensive but Ethernet shields are still like $40. Not worth it for a 6-10 deployment. I’m seeing if there’s a cheap way to do RF so I could control them from my existing x10 system. Also I’m considering some type of short range motion sensor so I could wave my hand to open and close the blinds for manual operation.

    I have two goals here, cheap and sleeper, as in people can’t tell that they aren’t stock. And people dont think I’m crazy for dropping a lot of cash for such basic task. I priced out the parts for the rest of them now that I have the original prototyped. I can get an arduino mini for $18, servo for $12 and up to 4 sensors for $1 a piece. So truly $34 to upgrade a blind is a steal considering existing HA products.

    Regarding the cheap blinds.. once again, why do this on cheap blinds? “Ghetto fabulous”, buy some nice blinds :)

  3. Slowly is my vote. Nice and quiet… Who needs the super fast open/close? I still want to include them in my HA system but I am going to run cat5 to the associated controllers. Luckily I have large groups of windows :)

  4. Hey! I am trying to build this arduino blind project. I have it completed, but I can not figure out how to attach the servo to the blinds. Do you have it attached straight to the rod on the blinds? My rod does not fit into the servo because the the servo pin thing is small and the rod is bigger. Can you tell me how you got it to fit? I am using the Futaba S3003.

    • Check out all the vids on my youtube channel. I think I show a clear shot. My blinds have plastic white pieces that the rod sits in, I connected the servo to one of those pieces. Can you post photos of your set up some where so I can take a look at what might be wrong? Also I’d appreciate seeing a video and some photos, maybe any code changes you do once the project is done. Give back to the community :)

  5. I didnt cut anything the servo spline fit into the same thing the rod fit into. The rod and the servo in my set up don’t connect at all. I saw your photos. Do you see that white thing that the rod goes through? That looks like the manual crank. Can you spin the rod by hand while it’s in the crank?

    I had to remove the crank on mine. The other piece behind the crank is what I put the servos spline into. There are five of them on yours, they look like metal drums.

    Slide/remove the rod for a second. Remove the manual crank (mine just clips in). Then put the servo into the hole in the metal drum. Put the rod back and test. I glue gunned the servos spline into the drum. MAKE SURE YOU GLUE IT WHEN THE SERVO AND BLINDS ARE IN THE CLOSED POSITION ELSE YOU’LL HAVE TO REDO IT. The servo’s position and the blinds position need to be aligned in other words.

  6. p.s. next time I convert a window blind (soon) I’m going to do a short video that shows from beginning to end how to remove certain pieces and install/mount the servo

  7. Also regarding noise. It’s signal noise (electricity) not audible noise. The kill switch doesn’t reduce noise, you need to have a pull down resistor on them. Either way I realized that the diagram on the right is outdate, just look at the one on the left, it doesnt require pull down resistors.

    • Sorry I really should label the images. Downloading the original fritzing diagram on my github has the labels. All that is is a relay switch. So I can control the blinds using an x10 module. Which I only use on some of my blinds.

  8. I am residing in Singapore, thus we do not have some of the components mentioned in you shopping list. Would like to ask if which can be suitable replacement for the parts used.

    1) We do not have futuba servor here. May I know what is the operating voltage of your servo? Need to get the right one as a servo motor cost more than a hundred bucks…
    2) We do not have the Audrino Uno R3 board too, which one listed is suitable for this project?
    a)Arduino Uno Atmel Atmega 328 MCU board
    b)ARDUINO ATMEGA328, ARDUINO UNO, I2C, BOARD
    c) ARDUINO ATMEGA328, ARDUINO UNO, SMD, BOARD
    d) ARDUINO ATMEGA328, ARDUINO UNO, EVAL BOARD
    e)ARDUINO ATMEGA328, ARDUINO UNO SMD, DEV KIT
    3) Can I use LM35 instead of TMP36 temperature sensor?

    Sorry for my long post, help is greatly appreciated.

    • Hey thanks, its not as hard as it sounds. Let me explain.

      The servo shouldn’t matter as long as it isn’t say a micro servo. The op voltage is I think 3.3 to 6.7? volts. It should be no more than a $15 USD item. Some servos are $40+ dollars, that isn’t required for this.

      Any arduino is suitable as long as its physical dimensions will fit into your blinds. I didnt actually put an UNO into my blinds although it would fit. Instead I used an Arduino Mini Pro 5+ (a 3.3V version would probably work). They cost less than a regular arduino and are very small. I feel like they are better suited. Point being is ANY arduino should have all the capabilities for a project like this. As long as they fit.

      You can use any temperature sensor as they all basically work the same way. They are a variable resistor that changes its impedance with the temperature. There are pros and cons to many kinds. There are reviews online about them.

  9. Thank you for your prompt reply. I still have some questions.

    There is no brand and specs on your x10 moudle and infrared proximity sensor, can I use this one?

    1) For proximity sensor
    http://singapore.rs-online.com/web/p/photoelectric-sensors/6666564/?searchTerm=GP2Y0A21YK0F&relevancy-data=636F3D3226696E3D4931384E4B6E6F776E41734D504E266C753D656E266D6D3D6D61746368616C6C7061727469616C26706D3D5E5B5C772D5C2E2F252C5D2B2426706F3D313326736E3D592673743D4D414E5F504152545F4E554D424552267573743D4750325930413231594B30462677633D424F544826

    part number is GP2Y0A21YK0F.

    2) For the x10 module, where can i get it from? Are you able to provide a link or part number etc? I can find it.

    • I’ve downloaded the audrino software from the wesbite software version is audrion 0022. However they are using .pde extension but your files in Grithub is .ino.
      Kindly advise. Sorry I’m a total noob in this…

  10. Pingback: Hidden servo automates slat-style window blinds

  11. This is a great project! I’m looking to do something very similar.
    For wireless, have you seen this new project:
    http://pinocc.io/
    They are similar to Audrino but include wireless connectivity (each unit creates a mesh network and wifi connectivity is gained by one unit with wifi).

    Once I get the pinoccio boards i hope to implement a similar project on all my blinds. I’m going to look at the solar shield as well to see if i can make them completely wireless since in most cases, I’ll only want the blinds to move 2-3 times a day.

    Thanks for posting all the great videos!

    • Thanks. Looks neat I might have to check one out. I’d like to know what the cost will be.

      I also want to get these working off solar. So if you get to it before me let me know.

  12. Pingback: Hidden servo automates slat-style window blinds | o.NET

  13. Hmm I like this project. Only sadly when looking at the source code you only implemented the photocell and push button. The ir and motion sensor etc. are not implemented in the arduino sketch. I mostly wanted to see the IR code as I want the same for rolling down/up a blind for a projector ;).

    Anyway nice build none the less…

    • Actually the photocell code does exist, I removed it in the latest version as it isn’t a good option. If you want to see the code I think it’s in up til 0.3 or 0.4.

      For the IR code, I never implemented because I haven’t had a use to yet. I wanted the IR receiver for my home theater room so I can control my blinds from my media center remote control. I will do this eventually.

  14. May I what version of Arduino software you are using?
    I’ve downloaded the audrino software from the wesbite software version is audrino 0022. However they are using .pde extension but your files in Grithub is .ino.
    Kindly advise how i should go about… Sorry I’m a total noob in this…

  15. seriously man? no picture of the servo mounting to the blinds? thats the best part about this design, you know this, and no pics?

    • My first hate comment, I’m flattered. No “hey nice project can you post some pics of the servo?” Anyway I don’t care I’m an asshole too I get it. Check the post again I just uploaded some pics of the servo and am uploading a video of the manual controls (not related to your comment).

      The servo fits almost perfectly into the existing part that the rod also goes into. I added some hot glue to firm it up and that’s all it took. Without the hot glue the servo did have enough grip to control the spool. The main part was positioning the servo properly with a mount.

      So you know, this is a living project and I post new content all the time, you should subscribe to get the updates. If you could see the original blog post it’s little compared to now. I have added a lot of content. All my source code, diagrams, many videos are up. But you’re right, I needed images of the servo attachment of course. And I had plans to do so. I’m filming a long and full video from start to finish of me taking a blind off the window, prepping it and doing all of the assembly. Shit takes time and we all have day jobs. I started this a few months ago and I add content iteratively. If I waited till I did it all I wouldn’t end up posting anything.

      • Hey man, pay no attention to the hater comment that fdsa dude posted. Your doing something and contributing on your time and your dime. I for one appreciate what you’ve done and the fact that you’ve taken so much of your time to help a bunch of us noobs learn. Thanks for all you’ve posted already and anything else is gravy at this point. If that dude wants to he can go buy a damn window blind Automator, this is for people who try to think and learn how to do things for themselves. Thanks for all the posts and help you’ve given us noobs. Look forward to more from you! Lyman the pieman.

  16. Thank you for share this man 😀 I will do something similar for a proyect in my school but, where did you buy that blind window??? whit a blind window like that must be more easier to spin it whit a 90′ servo, because i have a blind window but is a little more small and the servo doesn’t fit like yours, thank you again and sorry for my bad english 😛

    • I got mine at bouclair. Sears sells them too. Just look for 2″ blinds.

      If you want to retro fit your existing ones you could buy a micro servo. They are cheaper and a lot smaller. But I’m not sure if they have enough torque.

  17. sorry with reference to previous post, really appreciate if you could help:

    May I what version of Arduino software you are using?
    I’ve downloaded the audrino software from the wesbite software version is audrino 0022. However they are using .pde extension but your files in Grithub is .ino. the software can’t run ino.

    you mentioned: 1.0.4 is what’s listed on their website. You can open pde and ino files in their software, it doesn’t matter.

    But here is where i downloaded the software, it doesn’t open ino files:
    http://dev.arduino.cc/wiki/en/Main/Software

    could you give me the link to download the software with you are using to program the audrino board?

  18. Regarding tcp.. I am just getting into arduino, so not sure if there’s memory slave for this logic. I am working towards the idea if using the infrared sensors with mine though. If there is room for the code you could use an infrared remote to communicate with the blinds. No need for the whole tcp thing. Then just have acentral infrared transmitter on your computer,communicate with that via whatever device you wish. The remote codes are pretty easy…

    • I’ve never used a network module with arduino, but I assume the required library would fit on the 32k of storage.

      I will be adding an IR module WHEN I make the blinds for my living room. I want them to open/close from my tv remote.

  19. Hey a question about the light sensors: Do they operate based on the light coming from outside the window?

    It would make sense to only close them when the outside natural light goes dark, otherwise they would open/close when you turn your inside lights on/off.

    Any clarification would be great.

    • Correct. In my videos you might get a glimpse of it. I’m working on a detailed video/instructional.

      The sensor faces outside the window and doesn’t seem to get affected at all but indoor lighting.

  20. Just a question – how much current does your servo draw when actually turning the blinds? I’m surprised that the Arduino can power the motor through its power regulator out the +5 rail.

    • 220ma max draw for servo + arduino + sensors.

      You can actually power multiple servos directly from the arduino. I’m not sure what its max amp draw can be but I’d assume a couple amps.

      IF this wasn’t the case, you could just connect the servo’s power line directly to the same wall brick that powers the arduino itself. I was on the fence about which way to go, this way was easier at the time, but running the arduino and servo in parallel is probably the better choice.

    • I apologize for a late reply. I wouldn’t know if that servo is OK, but I think any servo that isnt a micro servo would probably be fine. And LDR is probably fine too.

      I dont understand your question about watts to resistance.

      For the mount, I used some foam padding in one and it seems fine.

  21. Okay this has completely blown me away ! Frickin AWESOME PROJECT !!!!!!!!!!!!!!!!!!!

    Dude ! Your a genius !!!!

    Ive been searching for a way to do this for a year lol !!!

    Please please please could you email me a copy of the sketch you use for this so i can have a play about with it and set it up on a breadboard, really been needing this for so long and my search may be over if you could be kind to help a total beginner, well, learning fast, but i definitely dont have the flair you have in this Most-Excellent Project !!!!

    Many thanks in advance for any help with the sketch 😉

    Once again – AWESOME Feat of Engineering, Well Done 😉

  22. D’oh, sorry, didnt see the github link for the sketch properly lol !

    Anyhoo, Keep up the absolutely GREAT and OUTSTANDING work on this project !!!!!

    😉

  23. can you tell me the source? i’m trying to control blind by cds and servo motor and now i met some problem with the source..

  24. Pingback: Ideas Every Day #144 – Motion Sensor Privacy Windows | Matt W Kane.com

  25. Hey so I commented a while back while I was doing this project. Since then I had to put it aside for exams. However, I want to pick it back up. However, I have a problem. My rod is square and not round! So I was wondering if you have any ideas. What I was thinking is hot glue the servo to the inside part that joins the rod. (shown in the pics). Would that be a good idea? Would it work?

    https://plus.google.com/photos/111645735911090546871/albums/5888272380997334129?authkey=CMreusXrkuL3dw

    • I hot glues mine… works for me. I have a concern with yours, and I think I brought this up last time. You never removed the manual crack. I did on mine.Do a test for me and tell me the results. can you spin the rod by hand with little resistance? I had to remove the manual crank because it would have been impossible for the servo to spin the rod with it in there.

      Keep posting updates to your project I would love to post yours too so that we have a variety of blinds to demo. What manufacturer are yours?

      • Ya I removed it and it was easy to turn. But as you can see in the picture if I remove the white thing then there is no way to put it, since my rod is square and not round. The hot glue only works if the white crank is there. Since I can pour hot glue in the crank and put the servo in. I just noticed that it does not turn very well with the crank it is rough. Hmm I guess it will not be possible with these blinds. I am not sure of the manufacturer as it came with the house.

  26. Hi I’m really interested in your project, but I have a couple of questions.
    1) I saw you have many source code versions, which should i use? However version 0.1 – 0.5 have exceptions when i try to open them. An example in 0.5: Exception in thread “AWT-EventQueue-0” java.lang.ArrayIndexOutOfBoundsException: 0
    2) Do you have any project that can integration with this current project for example an automatic light dimmer circuit.

    • What are you opening them with? All should work with the proper arduino IDE. The versions offer different functionality. I believe my latest is the best. Actually I have a newer one that even I haven’t tested because I’m lazy, havent check it in to github yet.

      Explain number 2 a bit better for me please.

      • Thanks for the reply. For 1 which source code should I run for the most basic function? That is to have the blinds open when there is light and close when there isn’t. I have connected everything according to your diagram and uploaded the codes but I couldn’t get it to work. I am using an Arduino UNO board and Futaba S3003 Servo.
        Also, I have got the x10 module, but I have no idea how to use or connect it. Advise would be appreciated.

        For 2 I was thinking if your project could add on a lighting control module meaning the user can preset a lighting ambience and if the luminosity in the room is not acquired after opening the blinds fully, it will switch on the lights in the room and vice versa. (Just a suggestion)

      • I do not have an X10 controller, will this x10 module work? Or how can I remove this x10 module from the circuit? Kindly advise :)

  27. Great automatic window blinds but is it energy efficient? How much electricity is needed to open them and close? Will those window blinds still be opened and closed if the automated capacity fail? Will those be not dangerous for kids in the house?

    • Good questions. Right now it’s idle state as a 60MA draw, which isn’t very much at all. However I have spent zero time in optimizing the behavior of this. There are ways that can make this much much more efficient. The idea is to eventually have this powered long term via battery or solar panel that sticks to the window.

      The manual crank for the blinds is non-existent when the the automatic one is in place. I don’t see this as being a problem. Actually the blinds can be manually opened/closed just by pulling on one of the guide strings.

      In what way are these dangerous for kinds? I’m curious what you mean as I hadn’t considered that. Keep in mind that there are varieties of automated blinds for sale on the market.

  28. Hey,

    I have been thinking about a product like this for a while. Finally today I did some searching and turns out a few of the other 6 billion people in the world have already thought of this.

    I am a business major in school, if you are ever interested in finding a partner to turn this into a packaged product I have a few great ideas for that strategy.

    I understand it is the hackers code to share your inventions with the world and not be a money hungry corporate suit.

    However if you ever change your mind, simply drop me a comment if you want to discuss further.

    Thanks,

    Patrick

    • I’ve considered it, and to correct something, this is code to be shared within the open source spirit. If I were to get paid and receive royalties to produce software to control units like this commercially I would never use this code. I would do this completely differently and use totally different hardware as well. If you have any ins to get some funding, let’s hire some people and get rolling 😛

  29. Wow, great project. I’ve been wanting to automate my blinds for a couple of years. I have some home automation stuff now, using INSTEON devices and controllers.
    What I was wondering is if I could centralize the ARDUINO, and run CAT 5 to the windows and only have the motor and mount in the blind?
    I would like to control mine using my computer and INSTEON software rather than have light or motion sensor. Reason being is we live in SE Georgia and if I put a temperature sensor on it they would almost never open.

    • Sorry for the delay in responding. You could easily have the arduino out of the blinds, but that to me is the problem with the 15 other similar projects on youtube. No one else integrated the controller into the blinds and they end up with an eyesore. However technically I’ve done this. You can see in one of my videos I control two blinds side by side, but there is only a controller in one blind. I have 3 wires doing from the one blind to the other, they are controlled from the same Arduino.

      Also there seems to be some confusing because this comes up a lot. The temp sensor is optional. I don’t have it in any of mine except one because I’m experimenting with it. It’s not about the temp sensors, it’s about the light sensor. Also the code if very simple so you can customize it for your own perference/season/climate/etc.

  30. Hi, Just in case you didnt get the above post…
    Thanks for the reply. For 1 which source code should I run for the most basic function? That is to have the blinds open when there is light and close when there isn’t. I have connected everything according to your diagram and uploaded the codes but I couldn’t get it to work. I am using an Arduino UNO board and Futaba S3003 Servo.
    Also, I have got the x10 module, but I have no idea how to use or connect it. Advise would be appreciated.

    For 2 I was thinking if your project could add on a lighting control module meaning the user can preset a lighting ambience and if the luminosity in the room is not acquired after opening the blinds fully, it will switch on the lights in the room and vice versa. (Just a suggestion)

    3)I do not have an X10 controller, will this x10 module work? Or how can I remove this x10 module from the circuit? Kindly advise :)

    • I’ve used servos as expensive as $100 for other projects like robot arms, and they lack some needed torque. I dont think I’d use a servo for rolling the window up, probably just a step motor or something like that. I’d be really interested to see someone accomplish this and contribute back. I’d imaging a motor, and a spool for the string, and some design to make sure the string winds properly. You’re basically building a winch here. :)

  31. Can someone help me? I am a complete noob to Arduino. I am pretty decent with electronics and soldering. I do not worry about putting it all together, but I find the disconnect with the materials used. Homeawsomation, you were not clear as far as I know as to which Arduino board you used. I see the mini in one of the pics, but it was never referred to.

    Also, how do you program the mini? Does it have a programming port? It may help to just direct me to a link for programming. Mainly, I just am not exactly sure how this whole thing comes together. I really want to attempt this project so I would like some help if possible.

    Thanks in advance

    • It will work with any Arduino I’m sure. I used the mini’s in the blinds, but you could and I have used the Arduino UNO.

      With mini’s you need to spend $15 or so on a USB to serial adapter, purpose built for the mini. Or you can make one yourself.

      I suggest you go buy an arduino uno since it’s cheap and really just begin messing around with it. You’ll need an UNO or DUO anyway since you’ll want it down the road to prototype other projects you work on.

  32. This is awesome, we have been looking into trying to get some home automation working with our blinds. If the blinds are open during the day and you manually override it by using your remote or hand does it remain overridden until it turns nightfall? and vice versa? Its nice to have the blinds closed while watching a movie so would be annoying if it kept automatically opening them! Thanks

    • I have new code I haven’t tested or checked in. There are 4 positions the blinds can be in, closed, open, and two angles in between. The idea is when you manually change it’s position, it will remain in that position until a significant light change has occured. For example if you close at dusk it will not open again until morning, or close at night for that matter. It will resume it’s normal operation when the day has changed.

  33. Its like you read my mind! You appear to know so much approximately this, like
    you wrote the e book in it or something. I believe that you just could do with a few p.
    c. to power the message house a little bit, however instead of that, this
    is excellent blog. An excellent read. I will definitely be back.

  34. I’m technie, but have never dived into doing this type of thing. Would you be interested in me paying you to put around a dozen of these together for me?

    • Id be interested in a company wanting to give me royalties to put out affordable home automation solutions :). But sorry not I don’t really have time to do these, I haven’t even finished all of my own.

  35. Awesome project by the way. So trying to run the code since I just opened it inside github and got the RAW code. But for some reason on line 106:

    if (state != prevstate && time_diff > 60000 && manualmode == 0;){ //IF the photocell reading is different from last sample then execute servo controls

    The simi-solon shows up as an error and I can’t compile the sketch. I also noticed that under configuartion you commented out the sensorPin. I’m still learning Arduino but won’t it ignore that sensor pin that way?

    Also tried one of the other builds but having issues with my servo only going in one direction, vary rarely will it go back the other direction.

    Also not sure if it’s just my motion detector but i have to keep making a motion in front of it to keep the servo from not moving all over the place.

    But overall i like the project. and would like to get this to work. I’m also trying to incorporate up and down of the blinds too.

    Sidenote question:
    Is there a way to make the motion sensor be used as if someone were to be outside to close the blinds instead of controlling the position?

    Again thanks for any help and I’m enjoying working on this.

    • Try retyping it or checking it out from github using the git client. It’s probably messing with the character encoding in your browser.

      Any commented out pins are probably for sensors I’m not using at that point, like say the temperature sensor.

      I think your best bet for understanding servos is to load up the Arduino’s default sketch for servos. It’s built into Arduinos programming environment. Not all servos behave the same/respond to the same PWM signals.

      I’d be interested to know more about your motion sensor. I dropped using my motion sensor as the pull string is way more practical. I’m assuming you have something wired up backwards, it reads on when off, off when on.

      I think you could use a motion sensor to detect people, but you’d need a different kind meant for larger areas, and also the window might reflect the IR light?

      • The motion sensor AI’m going to be using outside versus inside so the reflection won’t be an issue. I changed the placement of the motion sensor from the analog to the digital to read high low and it’s working now.
        About my servo, I went and bought another one and that works better now. But with your code on that line 106 that coma mark is still there. but i”m looking at sketch 0.5 is that the most recent? or can you email me the code that you’re using?

  36. Awesome project which I will probably attempt once I get new blinds. If anybody has built this using batteries and preferably rechargeable with solar panel then please post!

    • Thanks, please post back links to photos of your project when done. I will be working on a battery or solar operated design. Unfortunately it looks like the arduino will require some physical hacking itself to make it power efficient enough to be practical. I’ve also been talking to someone I met a Makefaire Waterloo who did roll up blinds. He used a PIC based unit which I believe is more power efficient.

    • The x10 module is absolutely not required. An x10 module or a relay switch controlled by something else is just an option to be able to control this unit from a computer or smart phone. Really you could add a wifi shield, although expensive, to the arduino itself. The beauty of this project and arduinos in general is you can add as few or as many options as you want. In my opinion the base build is simply just a photocell/LDR and a servo.

  37. I’ve been wanting to do this but I’ve been waiting for my spark devices to be delivered.
    https://www.sparkdevices.com
    Then I plan on adding a solar battery pack. This way I have a wiressless controller. I also have insteon keypads that I plan on integrating with so I can manually control them as well. If the spark devices don’t come soon I might end up using arduino uno for now to get the network and insteon integration going at least.

      • Yeah, it has 4 PWM pins and spark allows you to program it using the same programming language as the Arduino/Wiring and it will work with Arduino shields with an adapter. The cool thing is that they say you’ll be able to upload a new program wirelessly as well through their web IDE so you don’t have to connect it to your computer. The device is cloud controlled but is completely open so you can program it to work locally as well. their site says the power draw is:
        “100mA typical current consumption; 300mA peak consumption (during transmit events)”
        For now i have this: http://www.amazon.com/gp/product/B005ZSVZRY/ref=oh_details_o09_s00_i00?ie=UTF8&psc=1
        it will take some modifications for it to work correctly though, for example it doesn’t allow you to discharge and charge through solar at the same time. I expect to have to play with this for a little while to get it to work every day off of solar. Winter will be especially tricky.

        • I’d like to hear back about your progress. I’m concerned about the power draw. An arduino draws say 60ma, 300 when the servo is running. I have a 2 watt solar panel and I have issues getting it to boot up. I haven’t spent much time looking at this but I intend to.

    • I forgot, I’m also following: http://pinocc.io/tech-specs
      These are tiny little radios similar to spark but they use an 802.15.4 radio and it uses significantly less power (around 17mA at full transmit). I’m waiting for either one of them to start shipping so then we can really start connecting everything wireless!

  38. will do. The idea is that the servo and spark will actually run off the battery which is rated at 1a at 5v. And the solar will trickle charge the battery. it’s going to be tricky, but hey i like a challenge. I just hope i have time to complete it. I’m also hoping the spark current ratings are at the 3.3v rail instead of the 5v input. but we’ll see once i get my hands on one.

  39. sir gud am I have a design project about trashcan using arduino, but i have know idea ,the concept is when you a thrash it automatically open,then it have indicator green light accepting thrash, yellow warning, red is pull,it will not open.there is a specific website or detail about that,please kindly help us.I need it ASAP

  40. Thank you for sharing your info. I truly appreciate your efforts and I will be waiting
    for your further write ups thank you once again.

  41. Hi bud,

    I’ve also got the futaba s3003 servo. I did a modification according to this video so the servo will be able to turn 360 degress: http://www.youtube.com/watch?v=SK8mhnEzcvY
    However, after the modification, the servo would only turn in one direction no matter how I change the pulse rate. Do you modify your servo and get this problem too? Or I might have broke the servo?

    I’m also really interested in knowing where you got the mini blinds and mounting bracket that fit so nicely. Did you get the stuff from an online shop or some link? I only managed to find a cheaper blind from ikea but its too big and doesn’t fit in the servo.

    • I’m curious why would you want the servo to rotate 360 degrees? That isn’t needed or desired for this project. Having said that I did accidentally buy a continuous rotation servo and that doesnt work as expect. You can’t specify degrees to move to, only direction.

      The mount is a servo mount from a R/C car/plane store.

      I’m really confused by your last comment, what are you trying to fit into the servo? The servo doesn’t have anything fit into it, it fits into the blinds.

      • ok… by the way, where can I get your binds? I’m referring to the part from my binds that do the turns, that white stick or whatever you call it, doesn’t fit into the hole of the servo. So I’m wondering where I can get yours that fits nicely.

        • I just bought blinds at a local store. Nothing special about them. And to clarify nothing fits into the hole on the servo at all. Go to my website and a page or two down I posted a photo that might help clear this up.

  42. Hi, I see in your code that every print statement has a ‘debug and’ Serial.print
    what does the debug do and is it necessary?

  43. I have an Arduino Mega 2560 that’s been sitting around waiting for me to learn how to use it. I think this project has inspired me enough to unbox it. My wife wants to bring her plants in for the winter, and place them in front of a window. I knew somebody out there had probably thought of a way to control the slats on a venetian blind, and wahla! I would like to see a design that is solar powered. Could a capacitor be charged with enough juice to close the blind at night? Do you know the name brand of the blinds you used? Thank you for sharing all of the information on how to construct this.

    • Mine were just from bouclaire, I don’t know if that’s a chain or just local. I would like to get this solar powered, a battery would have to be added as well. It would charge as much as possible during the day when idle. However I think the arduino could be modified to use less power, or some other microcontroller could be used that is more power efficient.

  44. Hello it’s me, I am also visiting this web page on a regular basis, this site is genuinely nice and
    the visitors are truly sharing fastidious thoughts.

  45. hello sir, i am very much immpressed by your project i just wanted to know the full parts list…..pls help me as i am highly interested……any help will be appreciated………thank you…

  46. Thanks for the idea. I just started setting this up and the Futaba works perfectly with the cheap-o home depot blinds. However, I am having trouble finding a decent mounting solution for the servo. Where did you get that bracket?

  47. Any reason why you went with a servo motor over a stepper motor? I picked up a stepper motor (really cheap: http://www.amazon.com/gp/product/B0089JV2OM/ref=oh_details_o01_s00_i00?ie=UTF8&psc=1) and driver to play with and was going to implement essentially the exact same system as you have already put together. (I have blinds WAY up high in a room with 20 ft. ceilings… automation is essential!) I’m beginning to wonder if a servo is the better way to go since the stepper is continuously drawing power to keep the magnets charged, even when it’s not being given commands to move. Observed as the motor gets nice and warm while just sitting there. I was going to implement a switch/relay/something… to only power up the motor after a command was received… seems like a servo might solve this problem too. Nice project! I think the most challenging part for me is going to be wiring 20ft up behind the wall.

    • I don’t know much at all about stepper motors other than you want them for 3d printers. I used a servo because you can specify which degree you want it to move to, regardless of if it’s currently before or already past that position.

      They’re also geared as well so maybe torque is a factor?

      Servos are about $10. I’d be curious to know what sort of success you have with a stepper motor.

      Also, if you don’t want to run wires, perhaps take my project to the next level and see what you can do to get it to run efficiently off of battery (and maybe solar) power. I hope to do this soon, but would appreciate others submitting their attempts.

      • Any input on the battery thing? I’ve been working on a similar project with an arduino micro, servo, and a li-ion 3.7v 850 mA battery. For some reason it’s making the servo buzz that burns out the battery in 24 hours.

        • Hmm buzzing, that’s strange. You might have to offset the position by a degree (if you’re at 180, try 179) I think I saw a similar issue with some servos being stuck between gears or something.

          Are you using my code unmodified on battery? That’s probably why. Try making some edits to make it more power efficient. If you get it running on battery for a decent amount of time I would love to try your code.

    • Constantly turns in one direction, or does it go clockwise then counter-clockwise and repeat? If it constantly turns in one direction then you bought a continuous servo instead of a normal servo. I made the exact mistake at first. Regular servos only go 180 degrees in either direction.

      Also why are you using rev2, try the newest build.

      • It goes clockwise then counter-clockwise and repeat , then it does it again at about half the speed.

        I used rev2 because it said “Hands free motion control, kill switch, change of logic to button pre.” and the others said “Updated License Information” . Sorry I’m still a little new at this

  48. I wanted to use my universal remote for control, but I couldn’t find where in the code to input the ir code

  49. what battery pack to use to last longer? I tested it with only one 9 v battery and it dies after around 24 h . btw i don’t have any outlet by the windows…..Can we use 2 9 v batteries one for arduino and second just for a servo ?

    • I dont think 9v is a good choice. Arduinos run at 3.3v or 5v depending on the version and servos all run at 3.3v I think. If you hook up a 9v too it all you’re doing is burning off energy through a voltage converter. I think you’d have better luck with AA’s configured at 4.5v. I’ve never tested this on battery and i dont expect it would last long. Having said that I’m sure the code can be modified to be more efficient.

  50. You can make it Android controlled, turning your blinds also on time base or manually when you want using souliss.net

    Is an opensource framework for Arduino, have a look :)

  51. This is so awesome! Thanks a bunch for posting it. I’ve been wanting a solution for our blinds for ages. I figure this is the best place to start for home automation. Now I just have to learn!

    Any recommendations on a good resource for how to learn about getting started with this type of thing? I don’t yet know anything about servos or Arduino, but I do have a little bit of programming background (and your code is commented beautifully so I’m not worried there).

    • Honestly go pick up and arduino and start playing. I didn’t know what I wanted to build until I grabbed one. There’s lot of sample code and the arduino community is really helpful

  52. Hi guys! Let me take a minute of your time.
    Our young startup has developed a revolutionary product for automation of existing window blinds. It is Wi-Fi and ZigBee enabled. We have launched a Pre-Order campaign today – please like, share and contribute!
    Check out the link below: http://bit.ly/1bkbCHh

  53. Hey there
    Interesting project. I’m glad I found this page. I have 3 sets of blind for one window due to the size of the window. Would I need 3 separate units for all 3 or can I run with three servos all wired to one arduino? All 3 blinds would be essentially doing the same thing at the same time.

    Thanks for your help in advance

    • Sorry for the delay. I’m currently running two servos for two side by side blinds using one arduino to control them. You can run as many servos as the number of PWM pins on the arduino. I think a servo draws 200-300ma, so anything more than a 1000ma (1 amp) 5v power supply should work. You just need to power the servos directly, not through the arduino.

    • I cant imagine why not, they both work on a similar principle, just might be a bit more trick to rig up. If you end up doing it I’d love to see some photos of how it’s connected.

  54. Can you give any details on how you hooked the servo motor into the blind? mounting is the easy part, the rotation connection is the hard part. did your blinds come with a servvo spline already? did you cut a servo horn? have any photos for details on how to make the turning part work?

  55. Dumb question.

    How does the Servo motor know when to stop?

    Is it timed by the Arduino?
    Or is it done by hitting the end of what the blind can turn? Then stops?

  56. Do you ever have the servo engage multiple times when going from one state to the other -i.e. if it’s near the morning thresholds and the blinds open, but then clouds obscure sun, tricking the controller to think it’s dusk again? I’m trying to build a similar project to yours, but it’s battery powered and I am running into this problem – which isn’t great for prolonging battery life…

    • I had this issue but should be addressed in my latest code by using deadzone thresholds. The issue isn’t random cloud cover, it’s when the light is so close to the threshold that is flaps above and below the threshold.

      I’d be very interested to see you project, any code you have and do know how you’ve approached running it off battery.

      Thanks,

      • Thank you for the great tutorial! I’m beginning to try your blind automation scheme but was thinking of re-purposing R/C parts to actually run the blinds. I’ve found that a lot of R/C airplane people have older transmitter/receivers that are obsolete due to FCC rule changes that they can’t bear to throw out. These can be picked up cheaply used. My thought is that the small receivers use considerably less power than an always-running Arduino board and that they may be more suitable for a solar power solution with everything mounted in the blind header. The transmitter can then be interfaced with the Arduino controller with the Arduino taking the place of manually moving the joystick pots. I still have to figure out a circuit to accomplish this electrical feat. Seems like it should be just applying a voltage across terminals. The transmitters will send a usable signal across the room without the antenna screwed in. This is how R/C enthusiasts test their systems without sending a bunch of unwanted RF out into the neighborhood. The R/C transmitters don’t have the power of communication transmitters so operating without an attached antenna doesn’t damage the output transistors. This way, the more power hungry Arduino can hide somewhere (plugged into wall power) with the transmitter and work the blinds from a central location. The only thing I see being a problem is a heat sensor would need to be wired over to the blinds if you wanted that function. I think that a real time clock could take the place of the light sensor so that wouldn’t need to be run to the blind.

  57. Do you mind sharing details about the servo itself? What one did you use how much power is needed, etc.

    I saw that you used the ones that toggle directions, have you considered how to build a system like this to lift the blinds as well?

    Thanks

    • I thought about raising the blinds but seemed like more effort and cost than what it’s worth to me. Any servo from a local RC car shop should do. It operates from 3.3v to 6v if I’m not mistaken.

  58. Great project! I am going to give this a try. I hate walking around every morning opening all the blinds and closing them at night. One thing to watch out for if you buy those Futaba servos off eBay. They are fakes. They should still work but the speed rotation parameters are different and they probably aren’t as strong since they don’t seem to be geared the same. I got some for a different project and had to play around a lot with the settings to get them to work just right. I would spend the few extra dollars and buy the real ones from reputable source.

    Quick question. Which .ino file is the latest build? I wasn’t sure if you are keeping autoblind.ino as the latest or increasing the version numbers?

  59. Someone else mentioned solar, so I figured I’d chime in here. Since we’re in the realm of hiding cables and whatnot, obviously a battery and solar power would be nice.

    You can get some cheap CIGS square solar cells on ebay for under 10 bucks that are pretty efficient thin films, and strap those facing outward for some low-noticeability. String that into a couple NiCd AA’s and you might be set, if your window has reasonable sunlight. They won’t last forever on a small panel, as the angle of light incident on the panel dictates how much current is produced, so being placed ‘vertically’ will limit the power coming from the panel to the batteries.

    If you wanted to get cray, I’ve seen people successfully use the analog pins to read voltages, thus you could create some rudimentary charge controlling on the arduino as well.

    Lastly, at least on the UNO r3, the chip is the atmega328p-pu for the most part. The ‘p’ at the very end stands for ‘pico’ and it was one of the final revisions to that chip that allows for an extremely low power mode. While the servo itself probably eats a lot of current on its own, its the few micoamps drawn by the arduino for the 12 hours in between servo…uses that will kill batteries eventually. Enabling pico power mode is something you have to call with the atmega C code, but its worth looking up as it can give you much higher efficiency for low duty cycle projects like this.

    -R

  60. Did the rod runs through all the plastic “spools” on your blinds already leave room for the servo to attach to that first “spool”? I want to do this, but the rod in my blinds runs almost from end to end with only about an inch clearance on either side, so it seems I might need to find a new one. I’m having trouble finding what I need to get, so if you could help I’d greatly appreciate it. Out of all the info I found on doing this, yours was pretty much the only page that was very helpful! Lot’s of the videos I found out there just demo the blinds working but don’t explain how to do it!

      • Thanks, I think I will have to trim it. I’ve been putting this off though because I can’t figure out how to physically connect the servo to the little plastic spool. In your video you said yours fit right in. You didn’t need any adapters or anything? Do you happen to know the size of the rod that was in yours?

        • Mine fit in and then I used some hot glue to make sure it stayed. A lot of people seem to have problems figuring this part out and I find it very confusing as this was obvious on mine. Curious whats so different on yours and others. Maybe you could send me some photos.

    • I have successfully gotten clear vinyl tubing to work as a coupler between the servo gear and the hexagonal rod which runs through mine. They are both fairly close to 1/4″ diameter. I used 5/16″ O.D. / 3/16″ I.D. tubing, It takes some finagling to get it on. It is VERY secure on the rod side, but has required a small tie wrap pulled very tightly on the servo gear side. So far, so good.

      I also sawed a piece off of a thin aluminum L-bar, marked and drilled holes, and that secures my servo VERY well.

  61. I like your style – two things are required in a solution: technical elegance and physical elegance. A job isn’t completed until you nail both. BTW – I’m new to arduino – I see it as the solution of choice to motorise 4 new roller blind, and link my Dynalite to control my fire’s RF. And I’ve already taken the short-cut and bought this awesome product http://rayshobby.net/?page_id=160. Now … Arduino tuturial 101…

  62. I’d like to automate all my downstairs blinds via one centrally located Arduino. Does anyone have experience with long wire runs (to servos at individual windows)?

    • I have a video of two servos running off one arduino within close proximity. You really just need one wire from the arduino to each servo to transmit data to it. The other two wires for power could be more local from a near by power source.

  63. Hi there,
    Im interested with this project but can you help me with the coding? Im not really good with software.
    Thank you for your time.

  64. Hi,

    I was hoping you could help me with which servo you chose. Maybe you could tell me which type so i can base my choice on that.

    thanks,

    Ings

  65. Hi. I have a couple questions. Do you know if the servo knows which angle it is at? The reason I ask is because SWMBO needs the ability to open and close the blinds manually. I will need to add some logic to identify what angle the blinds are at to compensate for them being open when the arduino may think they are closed.

    The second question is: have you considered putting in a motor to actually raise and drop the blinds? I suppose a different type of motor would be required for this.

    thanks and great project!

  66. Pingback: I am a maker: Adam Savage's Tested.com podcast- TheMukt

  67. How does this work wwhen the user opens the blinds, but the temperature/light sensors conflict with that decision? (I.e. I want to open the blinds at night, but since the LDR tells the blinds to close during the night, would it override my action and close the blinds back?)

  68. So you only used the photocell sensor on this project you posted? is it possible to have all the sensors you posted to work on the blind at the same time?

  69. Thank a lot for bring this idea have been looking for this for some times now,thank god for the chance,please how can I get this motorized completely course There’s no way to find all this sensor.and need it please I need the link .thank

  70. Hi what type of servo did you use micro servo doesn’t do anything on the basic light sensor set up , any help would be fantastic as am all new at this

  71. Hi I was wondering if you have any ideas for connecting the servo motor to the rod. Unfortunately for me, this was not an easy fit (the rod is just a hair too big). Thank you!

  72. I know this is an older blog post, but can you explain how you are able to turn the blinds without any additional gearbox? My servo only does 1/2 turns and therefore cannot spin the blind spool

    • The servo spins 180 degrees. The travel from blinds open to closed is less than 180 degree turn of the spool rod. Thanks for checking it out, give me more detail if this isn’t clear. You might want to take a closer look at the photos

  73. i do this project.. but not full function yet .. i do ldr to turn 90.. use tm35 to turn 45 .. on ldr its more easy .. on tm35 i got a problem.. not compile yet .. can anyone help me on coding for arduino plizzz .. thank you so much if anyone can help.. i need it .. urgent ..

  74. I would like to say thank you. I know you did this some time ago, however this was the best blog and video on automating blinds that I could find. The others while interesting, were a bit less ascetically pleasing.

    Basically following in your foot steps, I took my Arduino Uno, and IR receiver and automated my blinds that way. I got some cheap faux blinds from Hom Depot (like $26) as a test. Note, it’s the one with the twisting tilt turning pole (I believe that’s what they call it) not the pull string to open and close. The hardest part was figuring out how you got the motor to turn the spin wheel. It finally dawned on me (and you might have mentioned it but I missed it) to remove the manual tilter and the gear it was connected to. Once I did that my parallax conitnous servo was able to turn it – and you’re right, the servo wheel/head seemed to fit snug in the center hole of the spin wheel. The other hard part though was that the servo head seemed to be slipping in the spinwheel. I had to rig the properller that it came with and connect it to the rod actually (using some gorilla tape since thats what i had at the time). After getting everything fitting nicely in the shaft, controlling with my remote (volume up and down to open/close) works awesome. I made mine to partially open and close so i can vary the amount of light I want to come in. The other challenge is that not all servos are the same. I had a parallax continuous servo and all the servo examples didn’t work right. Had to use the manufacturers example sketch (duh – lol).

    Anyway to anyone reading, it did take a while as I was new to Arduino and micrcontrollers (although I do have a background in electronics and software dev so coming up to speed wasn’t to bad). I used this as a way to learn a few concepts like IR, servo control, etc.). A nice challenge and very satisfying once it was done.

    Your blog definitely got me to the 90% point as I was scratching my head for weeks looking at some other other videos out there. My next version is to control two blinds side by side with one arduino and two servos.

    Thanks Again!

  75. Wow, this here is a fine example of a DIY.

    But to be honest, I’ll need my hubby’s help with setting up automation because I have difficulty reading some wiring schematics, let alone creating them. These are fine blinds, should I be able to make them.

    Heh. I’ll inform you if I can do it as great as you! Thanks for this!

  76. Heh, my bad, i thought it was a DIY project. But I’m definitely considering buying this!
    At least I wouldn’t need hubby’s help! lol.

  77. Great projects, see also the carputer project.
    used to own one myself, infact i made a whole dashbord with a 15″ touchscreen in it haha.
    Anyway , im into homeautomation now and this is a great solution simple and cheap.
    But what i was wondering about is the servo, does it twist i mean is the rotation big enough.
    I do see that there are servo’s with 180 and 360 degree rotation but the blinds i have hanging you have to twist a couple of times before they start to open or close.

    Is the rotation smaller because you fit the servo straight on the wheel in the blinds or something ?

    Thanks

    Vince

  78. hi there am new to all this but really would like to try your project , how to i get and use the source code ,? and install it on my arduino uno , any help would be great , was hoping to control the blind by light sensor , and also ir remote ,

  79. hello..can you help me with the program on how to make the blind partially closed when the day is too hot. tq

  80. Hey, have you ever considered or attempted to add wireless control capability? Like bluetooth or wifi? Like to use bluetooth to activate the button?

Leave a Reply