I have a light bulb plugged into an outlet and I need to be able to turn it on and off again and again in 1 minute intervals for a period of 10 hours per day (a total of around 600 on/off events per day). I have found a similar question on SO here: How can I turn on and off a switch every 20 minutes?

However, besides the fact that the question was for 20 minute cycles long I saw a number of answers about micro controllers which I understand will take a lot of work and know-how to achieve.

Is there any pre-packaged solution or something that can be done easily ?

As a side note most digital timers that can be set for 1 minute increments can only be set around 7 times per day (max I found was 50 settings per day) so this isn't a viable solution.

The timer will need to withstand 500-1000 watts (if this matters).


  • 1
    \$\begingroup\$ Microcontrollers will not take a lot of work for something this simple. \$\endgroup\$ Mar 4, 2015 at 0:59
  • \$\begingroup\$ Microcontroller is too complex as indicated by many comments on the other thread. I am looking for something simpler. \$\endgroup\$
    – Danny Bein
    Mar 4, 2015 at 1:06
  • 2
    \$\begingroup\$ What does "complex" mean ? If you have an Arduino (which has a microcontroller), it will take less than 5mins to get something working. 2 wires, 1 transistor, 1 relay, 1 diode, and sample code. So define "complex". \$\endgroup\$
    – efox29
    Mar 4, 2015 at 1:18
  • 2
    \$\begingroup\$ If you want help making something that is one thing, but you seem to want a 'black box' that does everything for you. specific product recommendations are off-topic. you're going to to have to put some effort into this.. \$\endgroup\$
    – Paul L
    Mar 4, 2015 at 2:13
  • 1
    \$\begingroup\$ @PaulL Sorry but that is a ridiculous comment. If you look at the replies you can see there are plenty of answers without specific product recommendations. You downvoted the thread? It seems some people are on this forum just to downvote posts \$\endgroup\$
    – Danny Bein
    Mar 4, 2015 at 7:19

4 Answers 4


Couple options:

  1. Repeat cycle timer (you could find them on ebay for around $20)
  2. Digital timer (you could find them on Amazon for around $25-$50)
  3. Microcontroller (a bit tedious)

You use the WatchDog timer on an AVR with the maximum prescaller to generate an interrupt once every 8 seconds and use this interrupt to wake form sleep and update a counter until it overflows past 225 (use an unsigned u_int8 register for efficiency) at which time you can write a 1 directly to the PIN bit to toggle an IO pin that is in turn connected to the input of an SCR that is wired in series with the lamp power input.


Get a 0.5 RPM motor like this...


This is a motor that will make one full rotation every 2 minutes. Look around and you can probably find one for $20. I have seen ones that plug directly into 120VAC plug, or you can get one that used 12VDC and a wall wart transformer.

Mount the motor onto a 2x4 with screws or duct tape. You can also duct table directly to a table or wall if no 2x4 is available.

Mount a switch that controls the light to the 2x4 - also using duct tape or screws.

Find another 2x4 about 1' or 2" feet long. Could also be a 1x or a broken broomstick. This will be the rotating arm.

Find 2 objects on the floor. Maybe kids' blocks, or old packs of chewing gum (they must be old enough to be hard).

Glue or duct tape the two objects to opposite sides of the rotating arm such that one turns the switch on as it passes it. The other turns it off.

Use duct tape or screws or partially chewed gum (from above step) to attach the rotating arm onto the motor shaft. drilling or poking a hole in the middle of the shaft might help.

Lots of value engineering improvements are possible depending on the atual switch configuration. If, for example, the lamp has an existing pull string switch, then you could substitute a 1 RPM motor and connect the string directly to the end of the rotation arm using a thumbtack or hair tie. The arm will now pull the string once per minute, toggling the lamp on and off.

  • \$\begingroup\$ The watchdog timer is rubbish. Even a watch crystal is a vast improvement over it. \$\endgroup\$ Mar 4, 2015 at 2:14
  • 1
    \$\begingroup\$ Agreed. I would have specified a temp. controlled rubidium oscillator for the timebase, but the questioner specifically stated he was looking for "something that could be done easily" and those oscillators are notoriously hard to calibrate. \$\endgroup\$
    – bigjosh
    Mar 4, 2015 at 2:28
  • \$\begingroup\$ O_O Ooookay... walks away \$\endgroup\$ Mar 4, 2015 at 2:29
  • \$\begingroup\$ But a point for showing good effort using duct tape & chewing gum. \$\endgroup\$
    – Nedd
    Mar 4, 2015 at 2:36
  • \$\begingroup\$ Not sure if serious \$\endgroup\$
    – sherrellbc
    Mar 4, 2015 at 5:16

What you are looking for is called a repeat cycle timer. It's not surprising that you can't find one for 600 cycles -- that seems to be quite a lot. However, it should be possible to combine a cycle timer with a regular timer to get the 600 cycles over a 10-hour period.

Like the other answers you found, I'll repeat that it is quite simple to do with a microcontroller, but if you have zero experience then it can be a steep learning curve. It can be custom built, but that will cost a lot more than any off the shelf solution.

Why are you turning the light on and off so frequently? Maybe there's another, easier way to accomplish the underlying thing you need to do.

  • 2
    \$\begingroup\$ Every electronics hobbyist should have... well, not necessarily an Arduino, but certainly some sort of MCU dev kit they can knock around with. \$\endgroup\$ Mar 4, 2015 at 1:15

Perhaps an intermittent switch / outlet will work for you. These are used with aquariums to cycle from a pump plugged in to Circuit A to a second pump plugged in to Circuit B. You can set the time for each circuit and it cycles continuously. This creates a wave effect in saltwater aquariums. Prices start around $8 and go up from there.


Not the answer you're looking for? Browse other questions tagged or ask your own question.