Would this automatic curtains / blinds controller design work?

Hi all,

I have been searching for ways to make an easy and cheap automatic curtains/blinds controller but have not really seen any that actually meets my basic needs but also does not require lots of complex IC components. Please let me know of any instructables I may have missed.

So here is my design - hoping everyone can help to validate it and discuss design faults and improvements (mainly to reduce costs).

The Requirements:
1) Costs: Total costs should be around $20 per curtain. I think professional systems cost about $100-$200 per curtain controller.
2) Parts: Easy to build and put together with some soldering. Parts are easy to find/buy or substitute for similar components.
3) Function: At least 2 buttons. One UP button and one DOWN button for manual triggering (wireless buttons would be better).
4) Function: One press of Button A fully opens the blinds with the motor stopping at the correct place to avoid damage to the blinds or the motor. The opposite goes for Button B to close the blinds.
5) Function: The controller should never be able to open or close the blinds past the normal safe positions, causing damage.
6) Optional Parts: Complete system is small enough to fit inside the blinds/curtain's cover / awning. I think it should be easy to fit in most covers anyway.

Briefly how it should all work:
With the curtains rolled up, you would press button A, which would roll the curtains DOWN, then stopping at the correct place (covering the whole window). Pressing button A once again would not do anything or further roll DOWN the curtains.
Then, press button B and the curtains should start rolling UP constantly, stopping just before it gets to the top. Pressing button B once again would not do anything or further roll UP the curtains, avoiding damage to curtains or motor.
Design/diagram below (sorry for the poor details, i used MS-Visio to draw it out).

The Parts/Components (under $30 at time or writing):
1) 5-10kg servo $7 (using 5volts) that can be power in forward or reverse spin. Slow spinning speeds would be best for safe and low power operation?
2) Some hand made adapter to firmly connect the servo motor shaft to the curtain's shaft to spin/roll the curtains ($0 free).
3) A wireless power relay $14, (12 volts) with 2 channels and "constant on power" functions (links below). I guess wired relays are fine, but I would want to hide the wires to the buttons.
4) 2x 5V regulators $2, to reduce the 12v power from the Relay to 5v for the Servo.
5) 2x Magnetic or reed switches $5 (12 volts) that is Normally On (normally connected).
6) 4x Rare earth magnets $1 to work with the reed switches. These are small, thin and easy to hide, but are very strong.
7) A power source for the relay, 4x 18650 batteries?. Should be 12 volts or depending on what relay & servo combo you use. (links below)

1) Make an adapter to connect the servo to the blind's shaft. I dont have a picture of one or the steps for this as every servo & curtain combo situation will be different, but im sure it should be simple to make. Fail or malfunction of this part would cause too much damage to anything really?
2) For best practice, use temporary wiring to connect all the components together as per diagram and test out the functions as if they were installed in their places and on the blinds.
3) Glue or connect the adapter, curtain shaft and servo shaft together. Also mount the servo firmly somewhere, on the wall or curtain cover so it doesnt end up spinning itself.
4) Position both magnetic switches on the wall, behind and just under the curtain's roll of fabric as per diagram. A lot of testing and playing around will be needed to create the correct gap between each switch and curtain.    Switch A   (Limiter A) will be the most difficult to position. It will be used to stop the servo from rolling the blinds too far down. This means the magnet glued on the blinds is up high on top, which will be rolled inside layers of fabric and may spin close to Limiter A multiple times which may cut the circuit/power earlier than intended as the magnet spins round and round. Limiter B should be easier.
5) Wire the 2 channels on the relay to the Servo and the Limiters. The 5V regulators goes between both channels of the Relay's power OUT and the Servo's two power Inputs. Screw or glue the relay to somewhere firm like inside the curtain covers.
6) Glue the rare earth magnets to the desired positions, or sew them on if you dont trust the glue. The magnets will physically cut the power to the servo by activating the Magnetic reed switches, so using 2 magnets would be even better, just incase the servo you use spins really fast or has a lag.
7) Connect the relay to the battery/power cable. Of course double check all is good before adding power. In my case, I will have 12v power cables available to use.
8) Put the curtain cover back on to hide everything. Hopefully you did not create creases in the curtain fabric where the magnets are glued. Oh and maybe remove the curtain draw strings (used to pull up & down the curtains) to avoid breaking the Servo?

Detailed explanation of how it should work:
- The blinds are fully rolled up.
- Press Button A once, Relay provides power to Channel A, Servo spins clockwise constantly (rolling down the curtain).
- Servo's positive line A is cut (circuit open) when Magnet A rolls out and comes close to Limiter A. Relay is still outputting power to Channel A but no power goes to the Servo.
- Press Button A once again, the Servo should not do anything. The Relay should then stop outputting power to Channel A.
- Further presses of Button A does nothing but toggles Channel A's power on and off. Magnet A & Limiter A still disabling power to the Servo.
- Press Button B once, Relay provides power to Channel B, Servo spins anti-clockwise constantly (rolling UP the curtain).
- Servo's positive line B is cut when Magnet B rolls up close to Limiter B. Relay is still outputting power to Channel B.
- Press Button B once again, the Servo should not do anything.
- With this "latch" functionality of the Relay (see link below and product details), it is also possible to stop the curtains mid way, which might be useful for some people, i dont think i will use it.

For future upgrades:
I think it would be possible to control this controller from a PC program, by directly connecting IO cables to the Relay's button A & B on the PCB. Sending pulses from the PC as though it were remote button presses. Or just bring the remote to the PC's IO ports and connect there. Would anyone disagree?

- An example Servo: http://www.ebay.com.au/sch/i.html?_nkw=High+torque+Metal+Gear+RC+Servo

- The wireless Relay: http://www.ebay.com.au/sch/i.html?rt=nc&LH_PrefLoc=2&_nkw=2CH%2012V%20Wireless%20Relay

- The 5v Regulators (L7805): http://www.ebay.com.au/sch/i.html?rt=nc&LH_PrefLoc=2&_nkw=5v%20regulators&_fln=1&_trksid=p3286.c0.m283

- The magnetic reed switches: http://www.ebay.com.au/sch/i.html?_nkw=reed+switch

- The rare earth magnets: http://www.ebay.com.au/sch/i.html?_nkw=rare+earth+magnets+n38

- Design/diagram: http://i50.tinypic.com/118emas.jpg

Picture of Would this automatic curtains / blinds controller design work?
sort by: active | newest | oldest
I think using a micro controller rather then a set of relays will give you better results. You'll have better control over the servos and the ability to do simple software upgrades to improve useability. Especially when you talking about a set of binds. At there most basic function they have 3 settings. Closed (flaps down), Open, and closed (flaps up). With a micro controller you can activate the servo for a specific period of time which will take the blinds to the open position with is about half way through the complete rotation. Then the buttons can be programed so that a double tap of the up button takes the blinds from the closed (flaps down) to the open position. Another double tap of the up will move it all the way to the closed (flaps up) position. Single presses of the button can step the servo through a few rotations to slightly open or close the blinds as the user sees fit. Of course limit switches would be in place to detect when the blinds have reached there closed positions. You can even set it up so the user can pre define the positions they like the most. that way the double taps can cycle through there favorite positions.

Of course all this ads to the cost but overall it can stay cheaper then many commercial solutions. But then you will need to have separate kits depending on the type of curtain or blinds the user has.

Another benefit is a micro controller can control more then 1 set of curtains or blinds.

Imagine a wall with 2 windows. Between the 2 windows is a very small control box with the receiver and micro controller in it. A small cable runs out of the box and to the 2 sets of blinds. 1 modular control system which may cost you about $30 or $40 in total but you have control of up to 4 windows through it. Add to the cost of 2 limit switches per window as well as the servos and brackets and you've got a complete room system. Keep in mind most micro controllers run off 5V so there is no need for any regulators.

BTW you'll want a couple of capacitors to help smooth out the input and output voltages on the regulator.

As for your future upgrades... With the arduino micro controller you can add an eithernet shield and control things from the PC or even through twitter.

how can you avoid that the servo or any motor continues going up after the blinds are open? or backwards...
im thinking of using a stepper motor but i dont know hot to tell to arduino that the blinds are already up or down... can you help me in that? thanks

As mentioned you use limit switches. Or in the case of the diagram above he pictures mercury switches on the blinds. Just a matter of finding the best place to mount a pair of micro switches in the top mechanism of your blinds so they can be triggered when the blinds are closed up or closed down. Any questions look as 3D printers and how they utilize limit switches or optical triggers to tell the system it's reached the home possition.

sonhy (author)  mpilchfamily4 years ago
I would totally use arduinos, there are so many benefits, but i dont think i will have the time to learn how to use them, and set one up to controller all the curtains, plus the cost would not be much cheaper from what ive searched. It surely is a better controller design, but not for my current skill level/time available and main function requirements.

I guess when i say blinds, I mean the ones without the flaps, just a single piece of fabric rolled up or down (only 2 basic settings), no other movements or parts. I think these flapy blinds dont roll up the flaps but pulls them up stacking them together - this requires more torque plus good gears to lock in place otherwise the flaps would drop if the string breaks or is let loose. I remember so many issues with using these buggars.

I would install a second see-through blind behind the main sun block one if I needed to stop people from looking inside the room. This thin blind would not need to be automated as it is opaque but lets light through mostly.

I have old useless cat5 ethernet cables running to all curtains and places in the house, thats how i am powering them (4 pins for positive and 4 for negative). I could surely reuse the cat5 wires after for an upgrade...

I can see how it would work with 1 arduino with say 12 I/O ports, controlling all curtains from a single control station, but how would you make it possible to have manual up and down buttons at each curtain (probably only wired ones, as wireless buttons would cost heaps)?

With the capacitors - isn't the regulators suppose to regulate the voltage anyways?
And if i didnt use capacitors, what would be the average damage? take in mine the servo can take 4.8v to 7v input range.

I cant wait to get into PICs, I would automate everything in the house, but haven't got time yet.

Another project i wish to do would be to automate breakfast (real bacon and eggs freshly made) and coffee (real drip/pressure coffee, not instant or the stuff from one touch machines). The system would start as i open the bedroom door :)

Thanks mpilch.
By all means extend the system with a microcontroller, but ALWAYS interlock the motor with limit switchesthat absolutely turn off the motors.
sonhy (author)  steveastrouk4 years ago
So are the magnetic switches not reliable enough? I have not used them extensively enough to know, but they look simple and not much can go wrong, unless the magnet detaches from its position.
And your curtain moves in the breeze as it passes the reeds......The sensing range is very short.
sonhy (author)  steveastrouk4 years ago
Thanks for the insight - i totally did not think about what happens when the window is open and the blinds blow around, i guess its because the first window im working on, doesnt get opened much.

After some thunking, i think it wont be to much of an issue - have a look at my design and you will see:
1) when the blind is rolled up, there is not much the wind can do to the blinds, and if the wind does move the blinds so much that the magnet leaves the limiter's range - i can see a quick reliable fix with a few more extra magnets around the area.
2) when the blind is fully rolled down with the window opened, the wind will surely have the blinds flapping everywhere, but the magnet required to stop the motor is positioned up high (top right corner near the blinds shaft) so again more magnets and maybe a flexible better positioning for the limiter/switch should do the trick.

I definitely see i will have problems with the wind, hopefully after some trial and error, it can be resolved. I cant seem to visualise it without see it in action.

Thanks mate!
Got more thinking to do :D
You COULD try Hall switches, but then you're into some (simple) electronics.

There are some NICE methods of making rotary limit switches that can measure the number of turns a shaft makes.

sonhy (author)  steveastrouk4 years ago
true, i'll google those too and see how simple they are.
Piece of screwed rod, driving a nut between two switches.