Electrical Engineering Stack Exchange is a question and answer site for electronics and electrical engineering professionals, students, and enthusiasts. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am helping with a middle school project. The idea is to power a 3 V vibrating motor for about 10 seconds after the alarm goes off.

The cheapest way so far I have found is to get a dual alarm clock and replace the buzzer with the motor. Unfortunately, since the alarm goes on for 30 minutes, or until manually shut down, the motor runs for that long. I just need it to run for about 10 seconds. What can I add/put between the clock and the motor so the power shuts off after the period of time till the next alarm event?

Second, if there's a way to do this with some kind of circuit timer, instead of an alarm clock, that would be ideal.

The goal is to be able to set 2 events within a 24 hours period (every 12 hours, or twice a day); when the even happens, it should power my 3 V vibrating motor for about 10 seconds and then turn off.

share|improve this question

I'm starting to feel like an old engineer suggesting these so frequently recently, but you can use a 555 timer in monostable operation. When triggered (by the alarm), these maintain high signal for a set amount of time and do not accept additional triggers during that time.

You might need to make this as two stages if the original alarm signal continues to set one off when triggered (like if the alarm signal is the driving signal for a buzzer). The way that works is one is high for the length of the buzzer, accepting no other triggers, the output of the first stage triggers the second, which is monostable for the length of the vibration motor. Basically this allows both to be triggered on the same edge, but the shorter duration one can not be re-triggered until the longer duration has run out.

share|improve this answer

This is a trivial job for a microcontroller. Even the smallest cheapest of them, the PIC 10F200 can do this easily. It might even be able to perform the alarm function depending on what kind of accuracy you need. Either way, the alarm triggers a internal timer, whether that is triggered internally or from the external alarm signal. The motor output is turned on when the alarm is first detected, then turned off when the timer expires. This is about as easy as it gets for a microcontroller.

You can do the timing with analog components and something like a 555 timer, but 10 seconds is approaching "long" for a analog delay. Stability and accuracy both go downhill rapidly from there. It will also take more parts and more futzing with to find the right parts for the desired delay. If you like the 1980s retro look, this is the way to go though.

share|improve this answer

You can also use the 60Hz signal converted to logic levels with a ripple counter and some logic gates to decode 3 minutes worth of delay and then 10 seconds of delay if you like to demonstrate how counters work. It may take several inexpensive chips to be hardwired but will be triggered by the alarm to start the delay so only one event needs to be programmed in the clock. If you use a dip switch, you can program the delay. enter image description here

If this sounds about the right complexity, I can expand.


The low voltage side of the transformer power supply can be used to get the clock using transistors or an HC04 CMOS inverter or skip that and use the classic 555 timer to make the clock at 1 second intervals. enter image description here enter image description here

share|improve this answer
The problem with this answer is that you glossed over the "60H converted to logic levels" issue. While conceptually easy, it isn't a very safe thing to do for a beginner EE. This would be the last thing I would recommend any novice to try. – user3624 Nov 22 '12 at 4:11

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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