201 comments on “Automated Window Blinds with Arduino

  1. 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?

  2. 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.

  3. 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.

  4. 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…

  5. 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?

  6. 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

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

  8. 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.

  9. 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 🙂

  10. 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

  11. 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

  12. 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.

  13. 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?

  14. 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?

  15. 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.


      • 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.

  16. 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?


    • 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.

  17. 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?

  18. 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.


  19. 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.

  20. 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…

  21. 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.

  22. 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.

  23. 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.



  24. 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!

  25. 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?)

  26. 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?

  27. 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

  28. 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

  29. 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!

  30. 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

  31. 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 ..

  32. 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!

  33. 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!

  34. 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.

  35. 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 ?



Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s