Introduction: Vibrating Timekeeper

I made a watch without a face. Instead, the time is given every quarter hour through a series of pulses on a vibration motor, in the same format as a grandfather clock. So, if it is 3:15, then the motor will make three long vibrations followed by one short one. Pretty cool, right? You will never have to look down at your phone or watch again.

The watch is centered around the attiny85, a really small eight pin micro controller (just like the arduino, only tiny-er). The attiny keeps the time, and drives the vibration motor. A transistor is used as a motor driver to current-protect the attiny. Even though the vibration motor is small, it needs more current the the attiny can handle. Finally, there is a button to manually request the time. The entire setup is mounted on protoboard and powered by a coin cell.

This project is not only a cool watch, but a really small arduino board! That's right, the attiny85 is programmed through the arduino IDE. More on that later.

Step 1: Gather/buy Materials

To build this project, you will need the following

Tools(not pictured)
-Hot glue gun
-Rotary tool or hacksaw
-Soldering iron w/solder and damp sponge
-Arduino uno or similar to program attiny. 
-Jumper wires
-10uf capacitor
-Computer with latest arduino IDE
-USB cable for uno

I chose not to link to distributors like digikey or sparkfun because everybody seems to have their own preference on where to buy parts, and you can buy these at almost any good online store. However, I recommend jameco. Some stuff can be salvaged easily. All are thru-hole.

-Through hole stripboard. (Look for the epoxy stuff, fiberglass is dangerous to cut)
It will be easier to follow this instructable if you use the same board then I did, you can find it at
-CR2302 coin cell battery holder.
-Small push button.
-10k resistor
-220 ohm resistor
-3300 ohm resistor
-2n3094 transistor
-8 pin DIP socket
-Vibration motor (I salvaged this from an old cellphone, or you can buy one)
-Scrap hookup wire (not much is needed)
-Watch battery

For reference throughout the build, refer to the (sloppy) attached schematic

Step 2: Add Socket and Battery Holder to Stripboard

Place the coin cell battery holder close to the edge, and place the IC socket sideways next to it, as close as possible. Note the orientation of the battery holder and socket, because the attiny needs the power from the battery to connect to it's voltage in pins, and it is easy to solder an under board jumper to the power lines under the board to power it if the voltage line is closer to the attiny's voltage line, etc. On my board, there are power rails which make power connection easy, if you have one of these make sure the socket straddles it.

Step 3: Populate More Components

Add the transistor to the board, near the upper edge, and as close to the chip socket as possible, without coming in contact with any of the socket's pins/stripboard connection lines. Bend the 220 ohm resistor and the diode's legs as shown in the picture, to save space, and place them as shown in the picture, on the transistor's strips. Make sure the transistors flat side is facing the resistor and diode. The, take the 3300 ohm resistor and connect one side to the strip leading to the transistors middle pin, and the other side connecting to the corner of the chip socket. Notice where it is connected to the socket, because this is important and if the wrong pin connection is made, then the motor will not work.

Step 4: Jumper for Joy

Next, wire jumpers will be needed to connect the transistor to ground. Take a little tiny bit of scrap wire, strip both ends, and bend both stripped ends at a 90 degree angle. Insert this wire between the transistor's far left pin (with the flat side facing you) and the boards ground, which is in this case the lower rail. It's easier to see the two rails on the back of the stripboard.

Step 5: Populate Pushbutton+friends

Add the pushbutton to the opposite side of the board as the transistor. Insert this up-and-down, not sideways, as shown in the picture. Then, connect the far left side with a jumper, the same style as in step 4, to the upper power rail. Add the final resistor between the far left pin of the pushbutton and the lower power rail. Last but not least, add a jumper between the far left side of the pushbutton and the third pin from the lower left on the IC socket, like in the picture below.

Step 6: Solder It Up

Whew! Now the bottom of the board should have a forest of leads on it. Solder all of the leads at the bottom to their respective holes and clip them. Now the board should be looking nice and neat. Be sure to solder all of the pins in the socket to the board too. 

Step 7: Power Rails

On the back of the board there should be two rails running horizontally across. These are the power rails, there should be some components soldered to these. Following the correct orientation of the coin cell holder, connect the pins to the respective power rails via solder jumper lines on the bottom. Pay close attention to the next step. Connect the pin on the top left of the IC socket to its nearest power rail, it should be the top one. Do the same with direct opposite (bottom right) of the IC socket, connecting that to the lower power rail. If you get lost, look at the picture.

Step 8: Vibration Motor

Take the leads of your vibration motor. Connect one(it does not matter) to the far right pin rail of the transistor, and connect the other one to the upper power rail. Stop now and review all of your connections, and insert the coin cell battery. Nothing should happen and if the motor is spinning/some some components are warming up, then double check your wiring with the diagram and the instructions. Sometimes solder can pool and flow over to other areas of the breadboard. Secure the motor with a dot of hot glue.

Step 9: Program the Attiny

Now you might be thinking when the attiny comes into play. Before it is added to the 8 pin socket, it must be programmed. It would be a waste of space to list the details of programming the attiny85 with an arduino, so take a break now and follow these directions
Flash the program file below.

Step 10: It's ALIVE

Put the coin cell battery in the holder, and slot the attiny in the socket, the dot on the chip should be on the lower left of the socket.
Press the button, and it should start vibrating the time! Fee free now to carve away the unused section of the board.

Step 11: It Didn't Work

If the board was powered up correctly and nothing is happening, try this.
First, double check the connections with the instructions and the diagram. If something looks out of place, then go back and fix that.
Use a fresh coin cell battery.
Re-upload the code and ensure that the programming was successful.
Press an LED on the power rails, negative side facing down. If it fails to light up, then the connections between the board and battery are bad.
Press an led on the top left and lower right of the atmega, negative side on the lower right pin. If it fails to light up then the connections between the chip socket and breadboard are bad, or the chip isn't oriented correctly. Remember that the dot on the attiny faces the lower left.
Press an led on the far right and far left pins of the transistor, negative side on the far right. If it fails to light up the problem lies within the transistor, if it lights up then the vibration motor is bad. 
Leave a comment and I'll reply.

Step 12: Going Further/a Final Note

Admitably this project has a lot of flaws, which leaves a lot of opportunity for the community to improve on it.
I did not design a band or case for this watch, so it is pretty delicate. 
This watch rips through coin cell batteries at a rate of one per 10 hours, possibly some power saving firmware would help?
Because the attiny keeps track of time on its own, it is rather inaccurate. A external RTC would benefit this project, however the DS1307 needs 5 volts. Any suggestions?
A small lipo battery in place of the watch battery would save a lot of space.
On a final note, I read a story about designers who created a watch with no display and a vibrator motor instead(just like me!) but they programmed their watch to vibrate every 5 minutes, creating a unique perspective on time.  I promptly copied them, the firmware is below(beware, untested) with some experimental power saving stuffs.
This is my first technology instructable, any suggestions? Please comment below.


DanishJ2 (author)2016-03-21

Innovative Project ! BTW, did you take this idea from Mr. Robot Television series ?! :)

qquuiinn (author)2014-03-13

The battery lasts for about 11 hours, but with some new code I made it should last for a few years

iCHz (author)qquuiinn2015-07-06

Hi, I made one following your steps. Thanks for sharing. But I also find a problem that the battery lasts for few hours.And it seems u have solved it .Can you share your new code. Thanks a lot.

julio004 (author)2014-03-05

Wowwww this is amazing, thanks for sharing. In the market exist a watch doing exactly the same and cost more than 100 bucks. this is so sellable, how can I change the frequency of vibration ? an aprox which is the battery duration?

joeforker (author)2014-01-10

You just need to add a 32kHz watch crystal. See AVR4100, the '85 datasheet or any of the "How to add a watch crystal to the ATtiny85" tutorials. As a side effect running it slower will make the battery last longer.

Bryan Rolfe (author)joeforker2014-01-15

Agreed. The internal resonators on these MCUs are not reliable enough to give you an accurate time after 12 to 24 hours. It's a fun project though!

About This Instructable




Bio: insert clever personal bio here
More by qquuiinn:The simplest game ever Vibrating TimekeeperMinecraft Cardboard Chest
Add instructable to: