Introduction: Automatic Window Blinds Controller (PICAXE)

Picture of Automatic Window Blinds Controller (PICAXE)
Want To Build A Motorized Window Blinds Controller For About $15.00? Here is how. I enjoy having potted plants and watching them grow, but making sure they get enough light can be a challenge. I have a bookcase in front of the window in my bedroom with several plants on the top shelf. The window faces north-east and opens onto a small patio so the plants don't receive any direct sunlight. Knowing this, I choose plants that don't require a lot of light. However, they do need some so I have always tried to keep the blinds open as much as possible. My problem is that I often have unexpected things come up in the evenings and don't always get home before dark. That presents a problem. I have several digital clocks, a nixie tube clock, and a couple of other light producing projects around my home. They are not visible from outside during the day, but at night they shine like bright beacons to the world through open window blinds. I know this is a security risk and feel like having the blinds open after dark is like asking for problems.

For a long time I just waited until I got home in the afternoons to open my blinds, but my plants suffered from a lack of light. They were not dying by any means, but they were not healthy, and their growth was severely stunted. I needed to find a way to open and close my blinds automatically when I was not at home.

An automatic blind opener is not a new invention. They have been available for years. However, even the low end models cost in excess of a hundred dollars per window. Some models and styles can cost ten times that much. Most use IR remote controls. Other available activation options include timers, RS-232 interfaces, and light sensors. I needed a controller with a light sensor that would open my blinds in the mornings and close then in the evenings. However, I was not willing to pay what I thought was an unreasonable price for a simple light activated motor. Being the Maker that I am, I knew I could design and build what I needed and do it for a lot less money than what any commercial units cost.

Because I am a big fan of the versatile and inexpensive PICAXE microcontrollers, it was a given that I would design and build my window blinds controller around that chip. I decided to use the PICAXE -08M which is an 8 pin DIP with loads of features including several inputs and outputs, analog to digital converters, a pulse width modulatior, an IR transceiver option, and more features and extras than you would think would fit into its tiny package.

If you have not used PICAXE microcontrollers before I would suggest purchasing the 08M starter pack for around $12.95. It comes with the micro controller, a software CD, a serial download cable, a proto board, a battery holder, and all the basic parts you need to get started with the PICAXE system.

PICAXE 08M Starter Pack

The PICAXE system was originally designed for educational use and is. It is an excellent system for beginners and experts alike. The PICAXE software is simple to learn and use. It uses simple Basic commands that are easy to understand because they actually make sense. You even have the option of writing programs using flow charts. I usually start my projects using flow charts option and later convert them to Basic commands when I start tweaking the program. Best of all, the PICAXE software is freeware. You can download it and all of the manuals from the official PICAXE website.

Official PICAXE Web Site

I must admit that I got a little side-tracked in the beginning of this project. I decided to play around with the IR remote control options built into the PICAXE -08M. It was neat to use an old television universal remote control to open and close my blinds at will, but that did nothing to help solve my problem. I finally found my focus again and went to work designing this project.

After several weeks of electronic hardware, software, and mechanical tweaking I finally came up this design. It is simple, easy to build, does a great job, and is just plain cool. If you have any spare or salvaged parts lying around you can build the whole thing for a lot less than $15.00. If you have to buy everything you can still build this project for around $20.00 including the batteries.

I really enjoyed designing, building, and tweaking this project and I learned a lot in the process. Now my plants get the light they need, my other projects are not shining through the open window blinds at night, and I feel better knowing the blinds will close at night whether I am there or not.

Be sure to check out the "Take it Further" ideas in step 12.
They are sure to spark your imagination and make you
want to fire up that old soldering iron and get busy
on a truly fun and practical project.


Step 1: The Parts You Will Need

Picture of The Parts You Will Need

- PICAXE -08M Micro Controller, Spark Fun Electronics $2.95

- ULN2003A Darlington Array, BG Micro #ICSULN2003 $.59

- DPDT 5.0V Relay, BG Micro # REL1106 $1.29

- Solarbotics GM3 Gear Motor, 224:1 6V, Maker Shed Store or Solarbotics $5.50

- 3.5mm Stereo Jack, BG Micro #AUDCA017 $.36

- 4 X 1.5V AA Battery Holder, BG Micro #BAT1068 $.79

- Battery Snap (9V style), BG Micro #BAT1033 $.25

- LM7805T 5.0V, 1A, Regulator, BG Micro #REG7805T $.40

- Small Project Box, BG Micro #ACS1157 $1.95

- Small Proto Board (2 3/8), BG Micro #ACS1433 $.89

- 8 Pin Dip Socket, BG Micro #SOC1036 $.10

- (2) 16 Pin Dip Sockets, BG Micro #SOC1038 $.08

- Light Dependent Resistor, Radio Shack #276-1657 (5 pk) $2.99

- (2) SPST Switches, BG Micro #SWT1043 $.20 for both

TOTAL $15.90

You will also need the following items:

- Resistors: 1 each of 10K, 22K, and 100K (>= 1/4 Watt)

- Wire, solder, small bolts and nuts, Velcro strips


BG Micro
BG Micro Web Site
I am only a hobbyist and I don't spend a lot of money on projects, but the people at BG Micro have always treated me like I was their most important corporate customer. That kind of service is nearly impossible to find these days. Add that to their great parts selection and low prices and you have a winning combination.

Maker Shed Store
Maker Shed Web Site
I love checking out their stuff at Maker Faire

Your own stash of surplus and salvage parts.

"To invent you need a good imagination and a pile of junk"
Thomas A. Edison

There is also a schematic below for easier viewing. Right click on the schematic and choose "save as" to save a copy to your computer.

Step 2: How the Controller Works

It was a simple matter to work out the mechanics of opening and closing my blinds with the Solarbotics GM3 Gear Motor. The only modification I had to make was to drill a small hole in the shaft. The motor's overall design, voltage rating, 224:1 gear ratio, slip clutch, and low cost made it the perfect motor for this project.

At the heart of my design is the versatile and inexpensive PICAXE microcontroller. The PICAXE is very sensitive to supply voltages. Take the voltage much over 5 volts and you will smoke it. Powering the PICAXE directly with 4 AA batteries (6.0v) will destroy it so don't even try it. It works well when powered with 3 AA cells (4.5v).

In my design I wanted to use 4 AA cells for two reasons. First, the extra AA battery would provide a little more time between battery changes. The second reason - because a 4 cell battery holder looks better sitting on top of the controller project box than a 3 cell holder does.

My design uses a light dependent resistor (LDR) hooked up to one of the PICAXE's analog to digital converter (ADC) inputs to monitor the outdoor light level. The ADC sets a program variable to some value between 0 and 255 depending on the intensity of the light shining on the LDR. I have mine set to open the blinds at 250. This keeps them from opening at the crack of dawn and waking me up too early. I have it set to close the blinds at 200 which is about an hour after sundown when it is just starting to get dark outside. You will need to tweak these settings to adjust the controller for your particular light levels and personal preferences. I do need to give you a word of warning here. If you use this controller in your bedroom, you need to be prepared for the blinds to open at any minute in the mornings. It would be really easy to get caught in an embarrassing situation if they opened at a time you were not expecting them to.

When the light shining on the LDR reaches a certain level (either dark or light depending on whether it is morning or evening)) the PICAXE turns on one or both outputs. The PICAXE outputs have a maximum load of 20mA which is not enought to power the relay or motor directly so I used a Darlington Array.

The Darlington Array is simply a set of 7 electronic switches that allow a low current (the PICAXE outputs) to switch a high current (The relay and motor). I used 2 of the array channels (1&2 tied in parallel) to switch the relay on and off, and the remaining 5 channels (3-7 also in parallel) to switch the motor current on and off. The array also has circuits built in that protect the rest of the circuit from voltage spikes created by inductive loads (e.g. relays and motors).

The relay I used is a small 5.0v DPDT relay that fits nicely into a 16 pin DIP socket. I hooked the motor leads up to the 2 common (COM) terminals of the relay and fed the motor outputs from the darlington array to both sets of normally closed (NC) and normally open (NO) contacts in a crisscross pattern. When the relay is off the motor turns in one direction. When the relay is activated the polarity reverses and the motor turns in the opposite direction. I am sure there are other ways to do this but I like this setup.

The PICAXE does have a pulse width modulator (PWM) built in that you could use to control the motor speed, but with the Solarbotics gear motor that wasn't necessary. If you use some other type of motor you might want to use the PWM program command it to slow it down a little. Whenever I reverse the motor, I activate the relay about 10mS before the motor current is turned on. This keeps the relay contacts from arching and should make them last a lot longer.

I included code in the program to prevent the controller from trying to open the blinds when they are already open and from closing them when they are already closed. This works fine except for when the controller is first turned on. When power is first applied the controller is going to try to open or close the blinds regardless of what the light levels are. For this reason, you need to manually set the position of the blinds to the opposite of what they need to be before you power up the controller (e.g. close them if it is during the day and open them if at night).

Step 3: Modify and Mount the Gear Motor

Picture of Modify and Mount the Gear Motor

The GM3 gear motor has a shaft that sticks out of the housing on both sides. Use only the side of the shaft that is flat on two sides. Do not use the side that is flat on only one side (like a D). That side of the shaft is actually a spacer and will not turn the blinds more than a few times before stripping and falling off.

Remove the rod from the blinds that you normally turn to open and close them. You will notice a small hole in the flat piece on the top end of this rod. Get a drill bit about the same size as that hole (about 3mm). Drill a hole in the motor shaft at about the same distance from the end of its shaft as the hole is from the end of the rod.

Mount the motor to the bottom of the project box using 4-40 bolts and nuts. Note that there is a small nipple sticking up on the side of the motor that goes towards the project box. Place a small washer over the nipple to keep the project box straight with the bottom of the project box when the bolts are tightened. The drilled end of the motor shaft should be sticking up like in the picture. This will allow you to mount the project box to the blinds while keeping the motor shaft in a position that will allow the hook on the spindle coming out of the blinds to go through the hole in the motor shaft.

Go ahead and put the hook through the hole in the motor shaft, and hold the project box against the blinds at the top of the window. Drill a small hole through the back of the project box and into the top of the blinds. Do not screw the project box to the top of the blinds yet. This hole will be used later to mount the controller to the blinds using a self tapping screw.

Step 4: Build the Circuit on the Proto Board

Picture of Build the Circuit on the Proto Board

It would be impractical for me to give you every detail on this part of the construction. At this point you are pretty much on your own as far as turning the schematic diagram into an actual circuit.

I suggest that you first build the circuit on a breadboard. This will get you familiar with the circuit and components and allow you to test it out before soldering everything up. I temporarily mounted the gear motor and project box to the blinds and ran wires down to the breadboard circuit so I could test and tweak the circuit and software before actually putting it all in the project box.

Step 5: Add the Position Adjustment Switches

Picture of Add the Position Adjustment Switches

You will need to mount the position adjustment switches S1 and S2 to the copper side of the proto board. Once these are soldered onto the board you will need to mark and drill two holes in the project box's metal face plate for the buttons to stick through.

Step 6: Drill Holes in the Project Box

Picture of Drill Holes in the Project Box

You will need to drill several holes in the project box for the various wires to go through. You will need a hole on the bottom of the box for the two wires that go to the motor. Another hole on one end will be used to mount the 3.5mm Stereo Jack. You will need another hole on top of the box near one end for the for the battery snap wires. Yet another hole will be needed on the back of the box near the bottom for the LDR. I drill my holes by spinning and pushing an exacto knife through the project box with my fingers. The plastic is very easy to drill using this method. Every time I have tried using an electric drill the bit hung in the plastic and nearly tore my fingers off. I usually finish the holes with rubber grommets to make them look a little neater.

Put the wires through their respective holes in the project box and solder them to their proper place on the proto board.

NOTE: Don't solder the motor wires to until you have everything else installed and ready to go. Just use jumpers to connect the motor to the controller during the testing and tweaking steps. This will make it easier to reverse the motor wires if the motor runs the wrong direction and tries to open the blinds when it should be closing them.

Step 7: Install the Light Dependent Resistor

Picture of Install the Light Dependent Resistor

The Light Dependent Resistor (LDR) needs to be mounted on the rear of the project box.

In this position it "looks" outside when the blinds are open and directly at the blinds when they are closed. I found that this arrangement works best because enough light shines through the blinds to make the controller open the blinds in the morning and the project box blocks any lights in the room from shining on the LDR and keeping it from closing the blinds in the evening.

Step 8: Mount the Controller to the Blinds

Picture of Mount the Controller to the Blinds

- Put the metal hook on the blinds through the hole you drilled in the motor shaft and attach the controller box to the blinds using a self tapping screw or Velcro strips. I used a screw which meant I had to mount the circuit board after I attached the box to the blinds. Velcro would allow me to completely assemble the controller before mounting it to the blinds. Velcro would also make it easier to remove the controller if I ever needed to.

- Attach the battery holder to the controller box using Velcro.

- I added a label to the front of my controller so I would know what each switch does when I need to make position adjustments.

Step 9: Program the PICAXE

Picture of Program the PICAXE

(You can download this code (Light Activated Blind Controller v.1.2.BAS) by clicking on the link at the bootom of this page.

The actual code starts after the line below:

symbol Relay = 1

symbol Motor = 2


readadc 4,b1
' this line measures the outside light level

if b1 > 240 then goto OPEN
' increase this number (240) to make the blinds open later in
' the morning - decrease it to open earlier

if b1< 200 then goto CLOSE
' increase this number (200) to make the blind close earlier in
' the evening - decrease it to close later

goto BEGIN


if b3 = 1 then goto BEGIN
' this command prevents the blinds from trying to open again if
' they are already closed

high Relay

pause 10
' this command delays applying current to the motor until the
' relay contacts are closed

High Motor

pause 6600
' adjust this number (6600) to tweak the blind open position
' increase to open more - decrease to open less (see note below)

low Motor

pause 10
' this command delays opening the relay contacts until after
' current is cut off to the motor

low Relay

let b3 = 1
' this command prevents the blinds from trying to open again if
' they are already closed

goto BEGIN


if b3 = 2 then goto BEGIN
' this command prevents the blinds from trying to close again if
' they are already closed

high Motor

pause 6150
' adjust this number (6150) to tweak the blind closed position -
' increase to close more - decrease to close less
' (see note below)

low Motor

let b3 = 2
' this command prevents the blinds from trying to close again if
' they are already closed

goto BEGIN

' NOTE: when making adjustments to the open and closed blind
' positions, it is usually best to adjust only one of these
' settings as each will affect the other

Step 10: Setup the Controller

Picture of Setup the Controller

The most practical way to tweak the controller to your blinds is to hook it up to your computer while it is mounted to the blinds. My computer is right beside my blinds so this part was easy. If your's is not close and you don't have a laptop computer then you will have to either remove the controller and take it to your computer to make adjustments or use the alternate setup method described in the next step.

The tweaking needs to be done at some time other than early morning or late evening so the controller won't be opening and closing the blinds automatically while you are trying to make adjustments.

If you do this step during the day you will need to manually close the blinds using the adjustment buttons before you download the program to the controller.

If you do this at night, you will need to manually open the blinds using the adjustment buttons before downloading the program to the controller.

This is necessary because as soon as the program is downloaded to the controller it is going to open or close the blinds depending on whether it is light or dark outside.

Once the program is downloaded and the blinds have either opened or closed automatically you will need to either cover the LDR or shine a bright light (use a flashlight) on it to make the controller operate.

Adjust the Open and Close pause times in the program to make the blinds stop in the fully open and closed position.

I manually set the open position and only adjusted the close pause time to get the blinds to close fully. It may take several cycles of this to get the controller to stop in the desired fully open and fully closed position each time.

My controller still gets off a bit over the course of a couple weeks or so of opening and closing, but a quick tweak of the adjustment buttons on front of the controller gets everything back where I want it.

You could use a 360 degree servo motor or a stepper motor instead of the gear motor I used. I am sure this would result in much better position accuracy but the cost of the project will increase significantly. With the money I saved using the cheaper gear motor I can build two more complete controllers for my living room and just manually tweak them every 2 or 3 weeks.

Step 11: Alternate Setup Method

Picture of Alternate Setup Method

If your computer is not close to the window or you just don't want to go through the setup procedures in the previous step there is an easier way to do it.

However, easier is not always better so read this carefully before you decide which method you want to use.

This alternate method requires that you open the blinds and use the position adjustment switches to set the open position exactly where you want it. That's it. You are finished. The setup is complete. However, you need to know that this method will possibly shorten the controller's battery life with the additional unecessary motor operation.

If you decide to use this method, you may want to increase the close pause time in the program by a thousand or two (1-2 seconds of motor run time). This will insure that the blinds close completely. This won't present a problem for the blinds or the controller. Most blinds can be turned several more turns after the blinds are actually closed with no problem and the gear motor has a slip clutch built in to prevent ripping its guts out in a stall.

Step 12: Taking It Further

Picture of Taking It Further

The whole purpose behind instructables and open source projects like this one is to share your ideas and give others the opportunity to improve upon them while adapting them to their own particular purpose. There are countless other ways to open and close blinds, and any number of mechanical improvements, electronic component changes, and endless software tweaks that can improve performance, lower the cost, or just make the project a little nicer on the eyes.

I am not posting this instructable for you to copy my work. I am posting it to give you an idea of one way it can be done. Take what I have done, add your own ideas, and make your own project. I would love to see the improvements and changes you come up with. Here are a few options, changes, and modifications I have thought about using with this project:

BUILD IT CHEAPER - You could use 3 AA batteries and forget about the voltage regulator, solder wires directly to the battery holder and eliminate the battery snap, solder the ICs directly to the proto board without solder tail sockets, program the PICAXE on a starter pack proto board and leave the 3.5mm stereo jack and 2 resistors out of the finished product, and use an Altoids can or other salvaged enclosure instead of the plastic project box. If you could also find a suitable salvaged motor you could build this project for less than $5.00.

USE IT AS AN ENERGY SAVINGS DEVICE - It would be very easy to adapt this project to help save energy and money by reducing your heating and air conditioning costs. The controller could be adapted to close your blinds in the summer during those times of the day when the sun shines directly in your window. This would cut down on the heat that enters the room. You could even add a temperature sensor so it would keep the blinds open during the peak sun times in the winter but close the blinds during those times in the summer.

USE SOLAR POWER - You may want to consider using rechargeable batteries and a small solar panel to operate your controller. This should work great if your window gets direct sunlight. My window does not so this was not an option for me. Using 4 rechargeable AA batteries would also eliminate the need for the voltage regulator as rechargeable batteries only deliver 1.2 volts compared to the 1.5 volts regular batteries deliver.

POWER THE CONTROLLER WITH 120 VAC - If you don't mind having a cord hanging down from the controller you can use a 7.5 DC or greater volt wall wart (power supply) to power the controller. You could always use a cord the same color as the blinds and hide it from view between the blinds and window. That way you can forget about changing batteries. The only problem with this option is that whenever your power blinks, the controller is probably going to either open or close the blinds. If they are open when the power blinks it may try to open them again and the software won't prevent it. I wish I could figure out a way to prevent this I so far I have not. Maybe you can figure out a way to do it. A better way of doing this would be to power the controller with a wall wart and a small backup battery.

USE AN IR REMOTE CONTROL - It is a simple matter to convert this controller to operate using an old universal television remote programmed to send Sony codes. You just leave off the LDR, add an IR receiver and capacitor, and make a few minor changes to the software and presto - an IR remote control blinds opener.(See the options schematic and/or metafile below) I started out with opening my blinds by remote control and closing them automatically but found it impractical for my use. I have tried to figure out a way to allow the controller to operate using either method but hit a brick wall. The command that receives the IR signal locks the PICAXE up tight and won't do anything else until it receives a valid IR signal. I could not figure out a way to get around this but maybe you can. I think that would offer the best of both modes if it can be done.

USE DIFFERENT MOTORS - As I mentioned earlier, you could used a 360 degree servo or a stepper motor and get much better precision. For me, the cost of the other motors just isn't worth it but that may not be the same for you. You may already have a servo or stepper you can use. It would only take a few minor changes to the program to make it work so if you have them or want them then go for it.

ADD AN ANALOG MOTOR RUN TIME ADJUSTMENT - I have thought about adding a 100K pot, using the ADC command on an unused PICAXE input pin, and using the resulting data variable to make adjustments to the motor run time without having to reprogram the PICAXE with a computer if I want to change it. You could do something like letting the ADC data from the pot = b5 and then using a command like pause b5 to control the motor run time. You would probably have to use another command like let b5= b5 x 100 or something to get the time into the needed range. (See options schematic and/or metafile below)

MAKE THE LIGHT SENSISTIVITY ADJUSTABLE - Replacing the 100K in the LDR ADC circuit with a pot would allow you to control the light sensitivity without having to reprogram the PICAXE. This along with the motor run time adjustment above would allow you to control all critical functions without a computer. (See options schematic and/or metafile below)

USE A DIFFERENT MICROCONTROLLER - This controller would be easily adapted to nearly any microcontroller. I use the PICAXE because of its ease of use, versatility, and low cost. The PICAXE -08M only costs about $3.00. Some microcontrollers can cost 10 times that much and more. I just cannot see me putting $30.00 worth of microcontroller into every project I build. I want to keep it simple and I need to keep it inexpensive. The PICAXE is hard to beat in these two areas. Using a regular PIC would be even less expensive, but that would require that I buy a $40.00 or more PIC programmer. Even worse, I would have to learn to program in C. I think I would rather have a root canal.

ADD A LOW BATTERY INDICATOR - Because this controller is actually an important factor when it comes to my home security, I am planning to add a low battery indicator circuit to my unit. There are quite a few under voltage components available that would be suitable for this purpose. Adding one should be a very simple matter. Right now I am monitoring the battery voltage of my unit to see exactly what voltage things start going crazy at. When I get the details worked out I will post the schematic here.

USE THIS PROJECT TO CONTROL ANOTHER PROJECT - Using the IR transceiver functions of the PICAXE -08M it would be very easy to use this blinds controller to operate another 08M based project. Adding an IR emitter to this blinds controller and an IR receiver module to a different controller would allow you to do all sorts of things. You could turn on a lamp or nightlight when the blinds shut in the evening or you could turn on a radio or coffee maker when the blinds open in the morning. If you have multiple windows in one room you could make one controller a master with an IR emitter and the others slaves with IR receiver modules so that when the master opens or closes its blinds all the other blinds in the room do the same at the same time. The possibilities are truly infinite.


Step 13: Go Green With Solar

Picture of Go Green With Solar

It is easy to adapt this project to use solar energy. However, adapting this, or any other project, to use solar will help you understand why we don't use more solar than we do. Solar energy is free but collecting, converting, and storing it is expensive. If you shop around I am sure you can beat the prices I am giving here but it is still going to be expensive. To convert this project to solar you will need the following which you can pick up at Radio Shack:

(1) Solar Cell (6V, 50mA) #277-1205 $15.99

(4) AA NiCd Batteries (1.2V, 700mA) #23-9033 $15.96

(1) 1N4001 General Purpose Diode #276=1101 $.99

TOTAL $32.94

See what I mean. Converting this project to solar increases the price from around $15.00 to almost $50.00 per window.

DO THE MATH - The batteries in my controller last somewhere around 5 weeks before I need to change them. I buy brand name batteries in packs of 24 so they cost me around .40 cents each. The controller takes 4 of them so it cost me $1.60 every time I change them. Figuring I change them one time every 5 weeks that means I can change them 20 times (almost 2 years) for what the solar option will cost. And before you start thinking that after 2 years your controller is going to operate for nothing, you need to realize that the life of NiCd batteries is only around 2 years when they are charged and discharged at regular intervals according to the manufacturers recommendations. That is not going to happen with this project so the NiCds are probably not going to make it much beyond 1 year before they need replacing.

As you can see - going solar sounds good, but not many people really want to make the initial investment or deal with the long term disadvantages. If you go green you probably need to do it for more noble reasons than saving money.

If you are really serious about going green, you need to forget about building this controller, and just open and close your window blinds by hand.


Step 14: Similar Circuit for Use With Window Shades

Picture of Similar Circuit for Use With Window Shades

I designed and built a modified circuit of the blinds controller for a friend to use with window shades. Two motors were used (One for each window shade). They were simply wired in parallel. I used an IR detector and the PICAXE remote control feature with a universal remote controi set up to send the required Sony codes. I used two pots to vary the open and close times so the PICAXE does not have to be removed and programmed to setup or adjust the unit. My friend took care of the mechanical aspects of the project so I can offer no help on that end. This is a video he sent me of his installation.

Step 15: Make, Hack, and Enjoy

Picture of Make, Hack, and Enjoy

Building projects is always fun. Building projects that have some practical purpose or that solve a problem are even more fun. This is one project that I get to enjoy everyday. It is so nice to have my blinds open every morning and close every evening. As an added bonus my house plants are much healthier too.

Watch a Youtube Video Of This Project


Step 16: Thanks

Thank you for taking the time to view my project.

I hope it will inspire you with new ideas of your own.

As Thomas Edison said,

"To invent you need a good imagination and a pile of junk".

Thanks Again,




SamH121 (author)2016-04-20

Didn't give it much thought at the time but you should know you need to purchase PICAXE serial communication cable to interface with the microcontroller. That information is in the instructable but not in the parts list.

SamH121 (author)2016-04-20

Didn't give it much thought at the time but you should know you need to purchase PICAXE serial communication cable to interface with the microcontroller. That information is in the instructable but not in the parts list.

MikeF109 (author)2016-02-29

I'm a hobbyist inventor myself I'm not for familiar with the PIC AXE system however I'm thinking of using an Arduino to control the motor using an app or light sensor or timer I'm also wondering if your device is patentable or if add on devices already exist just a thought. I'd like to see if you'd call me for a quick chat 214-564-4822
I have other ideas that I could use your insight with. Thx.

Shegs D (author)2014-12-04

I would like to know what it would entail to substitute the IR aspect of the PICAXE micro-controller for a RF module.

And the joint working of the two of them, would we need two motors or we can embed both to control one?

biochemtronics (author)Shegs D2015-01-16

A complete circuit re-design and re-write of the software would be required to change this to an RF controlled unit. It would still only require 1 motor. If you are going to use an RF module you could design it so that there would be no need for the PICAXE and related circuits in my design. A two channel RF module from e-bay would work just as well and be less complicated. You may want to post your suggestion in the Instructable Community Answers section for ideas.

MikeF109 (author)biochemtronics2016-02-29

I'm unfamiliar with the PICAXE system, I'm an inventor hobbyist myself. I'm wondering if this add on device is patentable. Also, was thinking letting a programmed arduino control the motor, using an app, light sensing and a timed program. I'd like to discuss further. Wondering if you'd call me for a quick chat. 214-564-4822

KevinK11 (author)2015-06-03

I'd love to build this but I have black-out blinds that don't open, they only raise. How difficult would it be to make that modification?

biochemtronics (author)KevinK112015-06-03

Kevin: To adapt this to open black-out blinds you only need to figure out a way to connect the motor to the blind opening device. I don't know what your blinds use but most use some sort of plastic chain. If you can find a pulley to fit the chain and can attach it to the motor you are in business. No modifications will be required to the controller. You may have to remove the motor from the controller box in order to make the mechanical connection to the blinds and still allow the photo cell to see out the window but that is no problem. If you will read the instructable I talk about a friend that hooked his controller up to two motors at once and used it to open and shut shades in his bedroom. I also included a video he made but it doesn't show the mechanical connection between the motor and shades. The video is MVI_2704.avi Good luck with the project.

RichardS14 (author)2015-05-28

I'm very much interested in adapting this project to my own needs - how responsive is the LDR? I live in an urban area, so I often get car headlights pointed at the window as they make turns. Will this trigger the LDR, and if so, can it be mitigated somehow?

EricC16 (author)2015-03-14

what type of wire

jmarcinkowski (author)2013-10-01

Would it be as easy to replace the LDR with a timer to make the blinds open and close on a timer?

I would not say it would be easy but it could be done. It might work great for your application. However, the reason I did not use that method is because sunrise and sunset changes so drastically throughout the year. It gets dark here at 5:30 in the winter and almost 9 in the summer. Given that and daylight savings time changes and you have almost a 5 hour span of time when the blinds could operate when I might not want them to.

Will you build me two of these unit Automatic Window Blinds Controller (PICAXE)

Sorry, but I don't make these to sell.

Yes, a timer could replace the LDR. In fact a timing circuit could replace the entire circuit including the PICAXE.

kevin.davidson.1485 (author)2014-11-15

The Advanced Microcircuits web link on this page no longer works.

tyconway (author)2014-01-29

I have a 4th grader that has to come up with the idea for an invention and try to make it work. He wants to invent a system that would remind his grandma to put her contacts in every morning. His idea was a light activated pulley system that would activate when she turns on her bathroom light and drop a reminder note down for her to put her contacts in . Would this kind of motor work with a typical house light or does it have to be sunlight?

biochemtronics (author)tyconway2014-01-29

Yes, this circuit can even be set to activate with any light level; even candle light. Looking at the software program you will see that I open the blinds when the value of 4,b1 (the light dependent resistor or solar cell) is above 240. That is pretty bright. It then closes when the value of 4,b1 drops below 200. Your student needs to experiment and adjust the activation values for the light in the bathroom. A window or nightlight in the bathroom or even the light coming in from another room could activate the motor when it isn't suppose to. Also, using light in the bathroom to activate it means that even if his grandmother turns on the light in the afternoon the little sign will come down. Not sure if that would be a problem or not. The software could be changed to only operate the sign after the room has been dark for several hours but that might not be practcal since people sometime go to the restroom in the middle of the night. I am not sure how this could be done so that it only happens in the morning. Good luck figuring it out.

alfaboy (author)2013-01-14

Hi, I've ordere all of the parts in this list except the picaxe. I could not find Advanced Micro Circuits, but found the picaxe starter kit at I'm assuming I need the USB Starter pack to get the cable and CD for programming it. Let me know if that sounds right.
Also, BGMicro didn't have the REL1090 on its site, so I ordered REL1107, the description is: 5Vdc Latching relay by Fujitsu. 2A contacts, double pole, double throw latching. Coil resistance 178 ohms. Will fit in a 0.3" socket.

Will that work? Or could you suggest a replacement relay I should get?

I'm looking forward to this project, I have a background in programming, and it's fun to see the picaxe is programmed in BASIC, line numbers and all!

biochemtronics (author)alfaboy2013-01-14

Yes, you need the USB cable for programming the PICAXE. As for the relay, the latching relay will work but will require some code changes. The relay I used was not a latching relay. That means that when the power is applied to the coil the contacts change position and when power is removed from the coil the contacts return to their previous state. With a latching relay the contacts change position when power is applied to the coil and the contacts remain in that position when the power is removed. To change the contact position you need to apply power to the coil again. Some latching relays use two coils so you have to alternate power between the two to make the contacts change position. I cannot tell from the description which type the REL1107 relay is. You can either rewrite the code to change the relay contacts bak to their original position or you can get another relay. BG Micro has a REL1106 that will work well fr this. Nearly any regular 5 volt coil DPDT relay will work for this application. I hope this goes well for you.

jeabraham (author)2012-10-28

I built your system but the picaxe keeps resetting when the motor turns on. When I shine a flashlight on the LDR it switches the relay, pauses the appropriate amount of time (10ms in your code, but I changed it to 1000ms), then starts the motor. But instead of waiting 6 seconds with the motor going it restarts the whole process. I think the motor is dropping the supply voltage, causing the picaxe to reset.

My proposed solution is to run the motor directly off the batteries through a separate relay, so that it draws from outside of the voltage regulator. Fortunately I ended up with a double relay DS4E-S-DC5V, since I couldn't find the one you recommended, so I'll use the other side for the motor control.


Also my application is different. I want my blinds at work to close when the sun is out, to reduce glare on my computer screen, but then reopen when the sun goes behind a cloud or a building. I hope to redesign it so the two buttons are used to increase or decrease the programmed setpoint for the desired amount of light. And the algorithm would sweep the blinds from closed downwards through fully open to closed upwards, recording the maximum amount of light that comes in. After determining the maximum available light, it would then close them fully down and gradually open them until it hit the setpoint or the maximum available.

biochemtronics (author)jeabraham2012-10-28

From your description of the problem, it sounds like the motor you are using is causing electrical noise and resetting the Picaxe. Some motors do this and some don't. There seems to be no rhyme or reason to it. The good news is that this is usually easy to fix. To correct this problem you will need to install a noise suppression circuit on the motor. The Picaxe manual recommends installing a 220 nf polyester (non-polarized) capacitor across the motor terminals. I had a similar problem with another Picaxe project I built. I fixed that one by installing three 0.1 uf disk capacitors on the motor. I put one capacitor between the two motor terminals and another capacitor from each motor terminal to the metal motor case. A fingernail file will usually scuff the motor case up enough to solder to it. I feel sure either of these solutions will correct your problem. Best of luck.

jeabraham (author)biochemtronics2012-11-05

Well it's weird, I think it may be the relay I chose. The part you suggested wasn't available, so I chose a DS4E-S-DC5V. Supposed to draw 40mA across the coil when activated.

Even with the motor disconnected, it still resets once in a while. I've used 2 relays now, and have connected the motor (and the switching sides of the relays, of course) to a completely separate power supply. The only thing the PICAXE is doing (through the darlington array) is switching these relays.

Still, it resets now and again. I bought parts for two devices and have been swapping them in and out to try to blame manufacturing inconsistencies.

Oh yeah I have three 220nF capacitors across +5V/Gnd, without these it doesn't work at all, just resets all the time.

biochemtronics (author)jeabraham2012-11-05


From what you describe this still sounds like electrical noise in the circuit. It could be coming from the motor and/or relay coil. I have two suggestions.

1) Put a 220 nf polyester capacitor across the relay coil to suppress any noise coming from it.

2) Try operating the circuit on battery power. If you have to add capacitors to the 5 volt supply it must be really noisy. If the circuit operates fine on battery power then you need to either change power supplies or add several thousand mfd of capacitance to the output.

I hope this helps.

jeabraham (author)biochemtronics2012-11-05

Thanks, I tried the 220nf across the coils again just now, didn't help, but I tried them together with 120ohm resistors to ground on the one coil side, and it may be working now. Sort of a low frequency filter.

I am on batteries. Well, my electronics are on batteries. The motor is being powered by a cannibalized 5V supply, but it's completely electrically separate now, being switched by the relays.

I've also ordered some other relays off of ebay, just to try them.

If only I had an oscilliscope to see the noise pattern.

My program is super cool by the way, I'll post it when it's all working. I couldn't rely on the blinds making the motor stall out at the end of the rotation, so I have to avoid that by tracking my "position" as the total time spent swiveling each direction. To avoid drift I'm resetting it every 12 hours or so that the midpoint is the location where the maximum light was observed. So it's getting complicated.

biochemtronics (author)jeabraham2012-11-05

I also forgot to mention that you need to place a diode across the relay terminals to shunt the kickback voltage it produces when the power is disconnected. Just make sure the diode is in the reverse polarity or it will short out your circuit. Your program sounds really interesting. I cannot wait to see how you accomplish this. As for an oscilliscope, I am seriously considering one of the new digital deals. Maker Store has one for $110.00 and you can get similar ones from other sources for a few dollars less.

reverbflange (author)2012-04-13

Awesome tutorial! I'm gathering supplies to make one myself! I just ordered that PICAXE 08M starter kit, but am curious.... does it come with the IR transceiver right out of the box, or do I need to order it separate? I like the light activation, but that isn't really suitable for my circumstances. The remote controlled idea sounds awesome though! If I can get one to work correctly, I'm going to build one for every room in my home :)

The PICAXE does not come with a IR emitter or receiver. You will need to order a receiver separately. As for using the remote control, a word of warning. You may run into problems getting the remote to work if you are dealing with direct sunlight coming in your windows. It has to do with the IR in sunlight overpowering the weak IR coming from your remote. I had a toy helicopter that used an IR remote. It was pretty useless outside or in front of a window with direct sunlight coming into it. Best of luck with your build.

mart_1986 (author)2009-10-25

hi there

im a newbie to electronics im really intrested in this would i put it on a timer as i need it to open at 10am and close at 6pm every day for 12weeks each year (its for my racing pigeons)

biochemtronics (author)mart_19862009-11-10

 For a timed application I would just use a power supply and a household timer. The full open and close positions could be controlled with simple limit switches.

kent01 (author)biochemtronics2012-04-06

I would also like to do a timed application. What if I adapted your design using the 08M2, removing the light sensor, and adapting the code to use the time variable to count the seconds between opening and closing? That would at least be a start, but I wonder if it would work, or whether the time function would use too much battery power.

You mention using a household timer, but I have never done any circuitry before so I'm not sure where to start with that. Using the 08M2 would allow me to follow your design fairly closely.

BTW, I want timed blinds to help keep the house cool in the summer and to help wake me up in the morning.

Any tips would be greatly appreciated! If I figure something out I'll post the solution here.

ravonricks (author)2012-03-04

Well Put together project!! Do u have a larger schematics?

niftyswell (author)2012-01-28

To open and close you need two solar power sources. The first one would be a standard source that has a cut off actuated by the blind itself when if fully opens- a fan pull toggle switch would work just fine. The close would require you to get a simple 3 dollar solar light from a department store that has the battery that charges during the day. Again, the close action would actuate the power to stop flowing. You have to ensure the open and close triggers are consistent enough not to trigger both at the same time which should be simple enough to achieve by simply using the blinds themselves to interfere with the electronic eyes. Then the only issue you would have is the battery running out of juice keeping you from actuating a close sequence...but it would use such a low amount of juice the battery should last for quite some time.

mongorsf (author)2011-11-01

Anyone familiar with solar cells, I wanted to do this project but using solar cells to start the motor to open the blind and keep tension on a spring loaded pully all day while the panels had light and gave charge to the motor. Then the motor would release the tension once the sun went down and it lost its voltage, allowing the spring to release.

The motor he listed above is 3v, that would only take 6 3x6 panels at $.60 each (typically), removing the need to change batteries and would only open on days that were sunny enough to deserve the blinds to open. 6 panels would give only 12 watts of power, but if geared right should be enough to slowly open them.

The only thing I worried about is that it might burn out the motor keeping a charge on it all day, everyday, no?

biochemtronics (author)mongorsf2011-11-15

Keeping current on the motor all day would not be a good thing. It would damage the motor for sure. However, you could replace the batteries with a bank of solar cells and add a slight delay so that they get full sun and build to full voltage before powering up and starting the motor. You would also need to start closing the blinds before the sun goes down in the evening so the solar cells would have enough power to operate the motor. Another option would be to use a couple of super capacitors in the circuit with the solar cells instead of batteries. If you use 3 or 4 of they should hold enough power to open and close the blinds. Also, don't leave out the voltage regulator. It only takes a few extra millivolts to kill the picaxe.

mongorsf (author)biochemtronics2011-11-18

First, thank you for your reply.

I think you might have misunderstood my goal.

You are talking about delays, capacitors, circuits, etc.

But I am looking to have NO circuits, batteries, or light sensors to determine when they open or close. (I don't think I would even need the voltage regulator because the cells are not capable of generating more then 3.2v in the brightness sun.) I was thinking that I might use a DC to DC boost converter to keep the voltage at 3v as long as possible.

Due to a spring on a pulley line, the natural state of the blind would be 'closed'. When the sun hits the panel, it puts voltage to a motor, pulling the line, stretching the spring, and holding the blind open. If it gets cloudy or sun goes down, there would not be enough voltage going to the motor and it would lose power and the spring would take over and pull the blind back to natural state of 'closed'. So as long as the solar panel outputs voltage, the motor has power to fight the spring.

The motor would be geared and open VERY VERY slowly with the small amount of power the solar is giving it, so the motor would really not have that much constant power going to it. I am guessing 3v with 12w at the sunniest part of the day.

Is there any type of motor that can handle the constant voltage or maybe some other idea similar to this.



$10 a motor
3v -3 rotations per min- (very slow eh)

or 3v 10RPM

Boost converter (but I need to find one that will do 1.5v to 3v)

biochemtronics (author)mongorsf2011-11-18


I did understand your goal.In theory the method you are talking about using would not need anything more than a bank of solar cells, a spring and a motor. However, I do not think there is any way to do it this may for a couple of reasons.

First you cannot allow current to continue flowing through a motor when it is stalled because its inductive resistance drops dramatically when its stops turning. The motor windings will then act like a short circuit and the current flowing through them will increase and cause them to heat up and fail. There is no way around this. If you limit the current so this doesn't happen then there won't be enough to start the motor. All motors use several times as much current to start as they do to run. Also, all motors pull more current when the armature stalls. If the solar cells you are using can supply enough power to start the motor they will supply enough current to damage the motor if it stalls.

As for using a spring to return the device to the original starting position once the motor looses power, it sound good in theory but I don't think it is likely to work for this reason. When the motor is opening the blinds it is also going to have to wind up and hold the spring as well. This is going to dramatically increase the needed electrical current and the motor size needed to overcome the friction of opening the blinds and the current needed to overcome the spring pressure. That is going to require more solar cells to increase the current and the additional current will only serve to fry the motor faster once it stalls.

Also, you mentioned using a very slow gear motor. That will work great when it comes to opening the blinds but it is going to present a serious problem when it comes to letting the spring close them. The best way to understand this is to take a small gear motor and try to turn it using pliers on the output shaft. This is what you are thinking about trying using a spring on the output shaft. With a 1 to 3 rpm gear motor you are going to damage the gear motor before you get it to turn using the output shaft. I cannot even turn the gear motor I used in this project using the output shaft without using excessive force.

I hate to be such a skeptic and I do not want to discourage you but I don't think this is going to work. Perhaps there is some other way. A slip clutch on the gear motor output shaft may prevent the motor from stalling once the blinds are open. The motor could keep turning and keep tension on the shaft until the sun goes down and you loose power. However, even with that you are going to have to get the spring to turn the output shaft in reverse to close the blinds. Again, the extra power needed to wind up the spring to this incredible torque (for such a small motor) is going to be a limiting factor.

You have some really great ideas and I am sure there is some way to do this simply. I just don't know how. I suggest you get some motors, solar cells and springs and give it a shot. Even it it doesn't work you will gain some knowledge. Best of luck and please do keep my informed.

mongorsf (author)biochemtronics2011-11-18

You have given me food for thought and some direction to my challenge.

I think with a small guide on my line that would flip a manual switch at a certain point and have it shut the motor off at least I can have the blinds all nicely opened and the sun shining in when I wake up. Then just use some sort of quick disconnect that I can release the line manually at night.

If what your saying is that once the slow gear motor is off, it wont turn back on its own, then I just have to make the spool that collects the line, be able to 'pop' off the shaft and unravel the line, then 'pop' it back on once the blind is down, resetting it for tomorrow.

halfway is better than none :) (for now)

Thanks again

arbayer (author)2011-07-05

Sorry I am fairly new to all this... But would it be possible to set it up to a clock of some sort rather than the light dependent resistor? for example set it so they open every morning at 8:00 a.m.? If you have an idea of how that would work please let me know. Thanks!

hydroxyethyl (author)2010-08-22

I used these plans to build a chicken coop door opener like Vasileiosh did. However, I used the GM3 motor to lift the door. A few changes to the plans I made were: 1) I tied pin number 3 to ground with a 100K ohm resistor. (I believe living the inputs floating can lead to battery drain). 2) I also added the following lines before the readadc command disablebod sleep 26 enablebod Essentially this puts the microcontroller into low power sleep mode for ~ 1 minute. 3) I used a bobbin (the reel in the bottom of a sewing machine) to wind/unwind string to the door. I tried a larger reel but the motor did not have enough torque. 4) I shielded the lifting mechanism and string with hardware cloth. My chickens are very curious and tend to stand on or peck at something new. I hope this helps out anyone else trying to use these plans to make an auto opener for their chicken coop.

brbd (author)hydroxyethyl2011-06-19

Hello There,
This is really awesome.
Could you please give me the plan and instructions how to build this, I wanted one for my coop, your help is really appreciated.


batman96 (author)2011-05-20

I was thinking about one that would work with my alarm clock, also it won't use any microchips. It would have a latching diode or relay in line with the alarm beeper, when it beeps it would roll up the blinds using a geared down motor from a tape deck, when it gets to the top it would push a normally closed button to shut off the latching diode or relay.
Any other ideas or suggestions would be appreciated!

Jakeg (author)2010-07-17

Hey there, I would love if you could get in touch with your friend to get more info on those motorized shades. I want to do thin in my house but i don't want to spend over $100 for the store bought version. Please help. -Jake

biochemtronics (author)Jakeg2010-07-18

He said that he used a pully that came with the shades. It was made to mount at the bottom of the window to keep the string tight. He says it is a beaded string, not a regular string. For regular string any sort of spool or pully that would mount easily to the motor shaft would work. Perhaps you could check the solarbotics web site and find something there that may work like a wheel made to fit the motor shaft. You could always glue or screw a wooden spool to the wheel and wrap the string around it. Best of luck.

bneese (author)2010-07-16

I am going to attempt to do this on 2 blinds we have in our vaulted great room. I do however need some advice. To open and close my blinds you pull on 1 of 2 strings. How could I accomplish this?

biochemtronics (author)bneese2010-07-16

A friend made one of these for some window shades. They had 2 strings that operated the shades. He mounted a pulley (similar to a small thread spool) on the motor, tied the shade strings together, and wrapped them several times around the pulley. When the motor turned in either direction it would pull on one string while unwinding the other. It worked great for him. Hope this helps.

kd5crs (author)2009-06-08

Well, I had a whole big comment detailing my experience, but the website ate it. To summarize: 1. It works great. 2. I used the IR sensor for control. 3. I used a reed switch to say when the blinds are open, removing the need for the buttons or fiddling with timing. 4. The motor controls the shaft inside directly, rather than through the worm gear on the hand-turn rod. That improves battery life, speed, and reduces load on the motor to almost nothing. 5. Everything fits inside the box at the top of the blinds except the batteries, which I am keeping accessible until I know how long they last. I'm using 2" blinds. 6. Thanks for the awesome project, and 7. Time to automate the other blinds in the house!

bneese (author)kd5crs2010-07-16

kd5crs. This is what I would like to do. Do you have any documentation on how to go this route? My blinds use 2 strings to open and close, so I would like to be able to do it directly from the shaft. Plus these blinds are going to be in the vaulted great room so I would like to use a remote. I have never done anything like this before so please forgive me if I am a newbie. Any help you can give me would be great! thanks.

biochemtronics (author)kd5crs2009-07-22

I like your modifications. I plan to incorporate them into my next blind control. Thanks for sharing this with us.

kd5crs (author)biochemtronics2009-08-05

Thanks. My first one has been in use for a month now, and I've made some upgrades. I have three total in operation. 1. I replaced the reed switch with a contact switch. Simpler, more reliable, and keeps everything contained in the top of the blind. One input for closed, one input for open, and a piece of metal taped to the blinds that is connected to 5V. When it closes the circuit, the input goes high, and the blinds stop moving. 2. Battery life is not great. It's made worse by the fact that they start behaving unpredictably when the voltage gets low. Did you ever add a low voltage indicator? I'd like to add that to mine, but I'm not sure how.

About This Instructable




Bio: After a career in industrial electronics I went back to college and now do DNA research.
More by biochemtronics:DIY Children's Carnival Style Swing RideSeeing Green Energy - The Wind Turbine Myth Electric Trike
Add instructable to: