Introduction: Arduino Watch Build Instructions

Picture of Arduino Watch Build Instructions

Update: New version out that works with Arduino 1.0 and higher!

The Arduino Watch provides augmented sensing of temperature and range, 16-bit color drawing program, Breakout game, and also tells the time in your choice of digital, binary, or analog.  Additional sensors, devices, and programs are easy to add as any standard Arduino.

The source code can be downloaded from the google code page,

Updates and news on the Arduino Watch can be found at

This is a video that gives an overview of what the Arduino Watch can do.

Step 1: The Materials

Picture of The Materials

The materials used in making the watch are

1 Arduino Mini Pro 328 - 3.3V/8MHz available at SparkFun
1 FTDI Basic Breakout (if you don't have one) available at SparkFun
1 4D Systems OLED Module 1.5" (128x128 pixels) available at SparkFun
1 Blackberry Trackballer Breakout available at SparkFun (I'm sensing a theme of the supplier)
1 3.7V 1000mAh Li-Polymer battery available at SparkFun
1 LiPoly Fast Charger available at SparkFun
1 DS1307 Real-time clock available at Digi-Key
1 Crystal 32kHz available at SparkFun

Nuts and Bolts available at local hardware stores
2 #4 bolts 3/8" long
2 #4 bolts 1/4" long
4 #4 bolts 3/4" long
8 #4 nuts
(for the nuts and bolts I found the brass ones at Ace and the zinc ones at Home Depot)

Watch Band
~13" x 1 5/8" leather band for the outer layer (I used a wide leather belt)
~8" x 1 7/8" elastic band for the inner layer (I used another belt)

1/4" OD copper tube available at Home Depot
1/2" thick piece of wood for screen case, I usually use poplar wood.
6 right angle header pins available at MarVac
1 Connector Housing 6 pin housing (if you can find a 5 pin housing get that) available at MarVac
2 Connector Housings 1 pin housing
7 female pins available at MarVac
1 IDE ribbon cable (dig it out of that pile of cables you never use)

Alternate parts
1 4D Systems OLED Module 0.96" (96x64 pixels) available at SparkFun will also work since I originally programmed the watch for that display until I accidentally broke mine and everyone was out of stock so I had to move to the next size up.
1 3.7V 900mAh Li-Polymer battery available at SparkFun smaller cheaper battery almost as much power.
1 Real-time clock module available at SparkFun or at RobotShop these modules would replace the real-time clock chip and the 32kHz crystal and give you a backup battery.

Step 2: The Software

Picture of The Software

The code for the Arduino Watch can be found on my Arduino Watch google code page
The main file needed is the WatchRXX.pde (were XX is the current revision) and at the same location you can also download all the libraries needed for the Arduino Watch software.

Step 3: Preparing the Materials

Arduino Prep
Solder the right angle header pins to the Arduino so that you can connect the FTDI Basic Breakout board easily.

Battery Prep
Cut the JST connector off of the battery and attach the single pin housings to the ends of the wire this tutorial is useful to teach how to crimp the wires.

Step 4: Carving the Screen Case

Picture of Carving the Screen Case

This step covers the carving of the case for the OLED display.  The frame was carved on a Carvewright woodcarving machine.  Then sanded down the part and drilled the screw holes on a drill press with a 1/8" bit.  To locate the holes I put the display in and marked out where to drill.  Originally I tried to drill the holes in with the Carvewright but it split the frame during the hole drill and I had to start over. Next I used a dark stain to give the poplar wood a nice finish.

Step 5: Parts Layout

Picture of Parts Layout

This step is where you layout the parts to see how long of wires you need to have for the watch.  Remember that when the watch is on your wrist the parts will be closer together due to the curvature of the watch band.  Tape the components to the watch band and see how it fits on your wrist and make sure everything is in a comfortable position.  Layout the ribbon cable from the part to the Arduino and mark the distance on the cable (leaving wire to solder to), then cut the cable and strip the wires.

For the trackball to Arduino there needs to be a minimum of 7 wires (power, ground, button press, up, down, left, right).  If you want to light up the trackball you can use more wires and connect to an available digital out.

For the display to Arduino there are 5 wires.

Step 6: Cutting the Watch Band

Picture of Cutting the Watch Band

The step covers the cutting of the watch band to create mounting points for the trackball, display, and battery.

The screw holes are 1/8" diameter and the hole for the trackball is 1/2" diameter.

The large square in the picture was for the smaller display I was originally going to use and is not necessary.  The smaller rectangle cut out is for the connection to the display which is necessary.

Step 7: Soldering Connections Diagram

Picture of Soldering Connections Diagram

This Excel file has the pin map for how to wire the Arduino to the other components. 
The picture shows you what it will look like after following the next few steps.

Remember helping hands are always, well, helpful when soldering.  And if your helping hands cut into your wires stick a clothes pin in the helping hand and put your wire in the clothes pin.

Step 8: Soldering the Trackball

Picture of Soldering the Trackball

Place the trackball board and the trackball ribbon cable into the helping hands and solder the wires.
After soldering put a little bit of hot glue over where the wires connect to the trackball board for improved strength.

Note: To make a more compact design wires should head out to the left in the picture (opposite the direction seen below) laying flat against the back of the trackball board.

At this point it is good to test that everything is wired correctly, you can do this by uploading the the Trackball Tester software found on the Arduino Watch google code page.

Step 9: Soldering the Display Connector

Picture of Soldering the Display Connector

Now that the trackball is connected and tested you can move to the display connector.  Now you do not want to directly solder to the OLED display since it uses a serial connection to communicate with the Arduino and you want to be able to upload new sketches to the Arduino after you have completed the build (only one serial connection at a time allowed). 
Use a Dremel (or other cutting tool) to cut off one of the pin slots on the Connector Housing 6 pin housing to make it a 5 pin housing.  Also you can cut down the height of the housing so that it does not stick into your wrist as much.
Take the 5 wire piece of the IDE cable from the "Parts Layout" step and crimp the wires into the female pins and insert in the housing.  To increase the strength of the connector (especially if you cut the height down) add a hot glue to where the wires come out of the housing.
Solder the other side of the wires to the Arduino as specified in the pin diagram from the "Soldering Connections Diagram" step.

At this point you can use the Arduino Watch software to test the setup.  Upload the software with the display disconnected, then disconnect the power and connect the screen.  You can then power the watch with either the battery or the FTDI.  If everything is working right you should be able to navigate the displays with the trackball and run the programs from the menu screen.  The time screens will just display 0:00 in their various formats.

Step 10: Soldering the Real-Time Clock

Picture of Soldering the Real-Time Clock

This step covers how to solder the oscillating crystal to the real time clock and how to wire the real time clock to the Arduino.  The data sheet for the DS1307 real-time clock can be found here.

First trim the legs down on the real-time clock so that they don't poke other parts of the watch.
Then solder the 32kHz crystal to X1 and X2

The SCL is soldered to A5 and SDA to A4 as shown in the soldering chart from the "Soldering Connections Diagram" step.  Then solder the power to Vcc and ground to ground.

At this point the Arduino Watch is fully functional for the basic functions, so power it up and test it out!  If the clock doesn't run try power cycling and/or use the reset button on the Arduino.  Sometimes it takes a couple cycles to the the real-time clock going.

Step 11: Solder the Extensions Header

Picture of Solder the Extensions Header

External sensors and devices can be easily attached to the Arduino Watch.  Soldering the 4 pin header to the D/I 10, 11, Vcc, and ground allows for these extensions to be connected and disconnected easily.

Step 12: Steampunking the Watch

Picture of Steampunking the Watch

Copper tubing is your friend when you want to give your watch a steampunk look.  Spacers for the screws were made with 1/4" OD copper tube cut to about 0.26" length, you may need to try a few times to get the right length (I had to), but you can use the extra pieces in the cover for the battery wires.  To cover the battery wires thread the wire through the small pieces of copper tube until you have covered up to the connector.  

Magnifying lenses like the ones in the picture make a great addition to the look.  You may need to remove one of the spacers to allow them to clip onto the screw or you can glue or solder the lenses to one of the spacers.

Step 13: Extensions: Range Finding

Picture of Extensions: Range Finding

One of the attachments for the Arduino Watch is an ultrasonic range finder.  This one is a Maxbotix LV-EZ2 (from SparkFun) and the watch is reading the pulse width modulated signal from the sensor.

In future versions I may route the output to a vibrating motor or speaker to allow for someone with visual impairment to use the range finder as a cane.

Step 14: Extensions: Temperature Sensing

Picture of Extensions: Temperature Sensing

With the temperature sensing glove attachment the Arduino Watch can give temperature warnings to the user i.e. warning that the drink is too hot or that there is a fire behind a door.

I'll be posting a separate short Instructable on how to make the glove but the sensors used are the one-wire Dallas 18B20 sensors.

Step 15: Wear and Enjoy!

Picture of Wear and Enjoy!

Now that you have your Arduino Watch wear it and enjoy!


samk90 (author)2016-08-17

I cant access the video

DavidS39 (author)2015-02-09

super richest buy high-end swiss watch like 100K, 200K USD or more
will corporate with the frac appreciation very well . I believe Swiss
and UK watch makers will survive well as they are the no 1 around the
world and nobody can compete with their
talent/innovation/precision/delicacy in this field so far, not even
close. All the normal / poor quality watches are no longer made in
Swiss. They are made in China. In fact there is a option to bild your
own watch. The only thing which you have to do Is to buy the parts
which you need and also watch biuld kit. Here you can find more
information how to do that - http://www.vintagewatchmaker.

vgregorio (author)2015-01-18

Can I just replace the trackball with 4 buttons (up, left, own, right)?

Lennymasterrace (author)2014-09-27

I was wondering, what could be a substitute for the OLED?

Maybe a Nokia 5110 display or you can buy a Monochrome OLED 128X128

paultnylund (author)2014-10-12

How is the battery life?

bossmaker (author)2014-01-27

also what display (specifications)

bossmaker (author)2014-01-27

I am planning on making a smartwatch similar to the same build but I need a board small enough to hold my OS. I also need a good frame. I think mines will resemble a pebble smart watch. any suggestions

tal satti (author)2014-01-06

I like your project alot, well done !

i have a question i wana ask u plz , im actually planning to do a human steps counter+ hearbeat montitor, do you think i can interface my project easily with this watch ?

kooljo (author)2013-05-23

and could i use this instead of there other arduino. idk if there the same or not

kooljo (author)2013-05-23

could i use this for the FTDI BAsicbreakout

kooljo (author)2013-05-21

would i be able to use Serial Miniature OLED Module - 1.5" (μOLED-128-G2-GFX) ( instead of the other screens?
and how would i be able to add back lights.

i'm new to arduino so please help me. this might be my first project. thanks

nerd7473 (author)2013-04-13

freaking awesome!!!

potatowaretech (author)2013-04-09

Hello pros:) I am a beginner in the use of Arduino in projects like this. I am no engineer or something but could someone post a guide on how to incorporate programs in an Arduino chip (if that's what they call it) or something like a starter's introduction for Arduino projects?
Anyway this thing is nice, it suddenly sparked my interests in projects like these.

mr.cardboard (author)2013-01-10

Can I buy one from you and how much would it cost?

vmspionage (author)2010-06-09

I absolutely love this. I have a few nanos at home myself... can't wait to make my own! I just wish that OLED wasn't so expensive, but the end result is certainly worth it. Good work!

vmspionage (author)vmspionage2010-06-17

Ah crap, I broke my 4d 128x128 1.5" the other day. It had a dead line so I tried to fix it by messing with the ribbon cable and I screwed it up even worse. I was on the 4D forum and apparently this is a common defect with the 1.5" version. No problem cause I've got a replacement coming in the mail today (the smaller .96" one). Good news is I got your software working with no problem, and even started on some mods for my application. I was wondering why you had the "shut down" option until I started reading up on the oled - apparently they don't like having power removed all willy-nilly. Oops. I'll be sure to remember that with my new one. Fun stuff, thanks again for the instructable! =)

I had a .96" and broke it and then could only get the 1.5" at the time as a replacement. Much of the software I wrote with the .96" in mind so there are only a few variables to change to make it run on the smaller screen. Let me know if you have any question about getting it running and post pictures when you do!

I got the smaller screen in the mail Friday and had no problem getting your software to work.  Of course there was a wrapping problem due to the reduced resolution but that was easily solved.  I had a few more problems however and decided to go another direction with this.

First one was that I'm not happy with the smaller size and resolution so I ordered yet another 4D screen, this time the 1.7" version.

The second problem is with the Arduino, and I kind of expected this.  The 32k of memory just doesn't give me enough space for all the functionality I would like to add to my project, so I ordered a mbed as well (512k program space, 100mhz =) ).  Not only did all the necessary libraries take up a ton of memory on the Arduino but also the annoyances of having limited serial and I2C.  I plan on connecting at least one second serial device (probably an xBee) and that wouldn't be possible on an Arduino without having to rely on the buggy SoftwareSerial library.

I did write a pretty cool cursor routine for the Arduino platform that will even work on graphic backgrounds (it snapshots the 8x8 section under the cursor before it draws the bitmap so it can erase it before moving) that seems to work well, however I wrote it stand-alone and haven't yet integrated it into your project.  Let me know if you'd like that code and I'll post it.  I think it would be a cool addition to the main menu.  Also I'm using a configurable speed (pixels moved per trackball bit cycle) and increasing that to 2 or 3 seems to make the interface a lot smoother.  I just hate having to scroll 4-5 times to move from corner to corner.

I'll keep you updated... I have a ton of parts in the mail which should make for a busy weekend.

vmspionage (author)vmspionage2010-06-23

Got some parts in today and made the band and prototype display bracket.  It's still powered by an Arduino (my mbed is on backorder), but I did get one of these in the mail

It's starting to become obvious that space is going to be limited, so I may have to go 2 "layers", under and over the band.  We'll see.

atilladolphun (author)vmspionage2012-10-22

that is realy nice work you likely could make it a bit like a bracer insted so you can set the batery off to the side and save some room. i love the resolution on the screen hmmm i wonder if it could handle the android os.

Nice job! I like that you have the trackball LED powered. You may want to add a material layer between the skin and the components for a more comfortable fit. I'd be interested in seeing the cursor code you mentioned, so go ahead and post it for the community to take a look. Keep up the good work!

Thanks, I'll post the cursor code and updated pics later on. I haven't worked on the software at all but last weekend I made a fully enclosed metal case for the screen and another for the battery out of sheet aluminum. I'm still not sure if I'm happy with the design though - I'm using the screw holes on the OLED module which adds another ~12mm or so to the width. I'm thinking about chopping them off and securing it with hot glue in my second revision to reduce the overall size. I'm switching materials as well from aluminum to brass sheet metal.

afiedler1 (author)2012-08-12

Where do I get those mgnifying lenses? They looking really great! :o)

greetings André

mattkulcsar (author)afiedler12012-10-01

American Science and Surplus has a set. I don't think they are that nice brass color but it's the same type.
Search: Double Vision.

gadgetnerd3373 (author)2012-05-21

hey i also found some oled parts ( i'm not able to say where ) online for one cent each ( 7.01 each with tax shipping and handling ) would those work too

gadgetnerd3373 (author)2012-05-16

hey i'm new at this and i wanted to know a little more about how to program this thing into doing things like radio and radio jamming. Also i'm kind of a newb so i might add some comments later. One other thing i think you should post another version of this that could go under gadgets.
The funtions i think should be in there are everything in here, a radio, a radio jammer, a 2 gb memory, a few more games, a word processor, and a calculator. I know it seems like a lot to ask but i'm trying to build something like that with those functions

hoser1000 (author)2012-01-10

Also, the DS1338 from Maxim IC is a drop in replacement for this part (DS1307) that will run at 3.3V. Samples are available directly from Maxim.

hoser1000 (author)2012-01-10

Nice project and I just ordered the parts to try this on my own but when I was reading over your statement regarding the RTC you say: "If the clock doesn't run try power cycling and/or use the reset button on the Arduino. Sometimes it takes a couple cycles to the the real-time clock going". How is the clock functioning at all when the power requirements for the DS1307are 4.5V - 5.5V? I assume there is some flexibility in these specifications but I cannot see it being reliable as the 3.7V Battery decreases over time. Have you had issues with this?

protobug (author)2011-11-29

hi i was wondering what would it take to add bluetooth capability to this or if thats even possible im about to order the parts and would love to just order any bluetooth parts along with it thanks!!!

Lyron (author)2011-11-23

how would i go about adapting the code for a psp 1000 joystick and 1 button to click?

(the joystick outputs 2 analog values 0-255 for x and y and the button is just connected to a digital input)

mikesnyd (author)2011-10-07

Is there a way to put an MP3 player and headphone jack on this?

mitchjorg (author)2011-03-05

Question, do you think it would be hard or easy for someone with no programming knowledge to build one of these? Would appreicate an answer. p.s. amazing job on the watch!!

The nerdling (author)mitchjorg2011-08-09

i think yes if you are good at making things becaus with the programming all you need to do is copy the code then paste it into the uploader then upload it to your arduino

Matthew Garten (author)mitchjorg2011-03-07

On the software step I have links to the software for the watch, you can run it as is or modify it to suit your needs. Check it out and see. The building part of the watch is soldering, leather cutting, and carving out a case for the screen.

The nerdling (author)2011-08-09

soooooooooooooooooooooooooo cooooooooooooooooooooollllllllllllll!!!!!!!!!!

MaxCrave (author)2011-05-20

Can someone post links to the header pins (all), the connector Housings, and the female pins? I cant seem to find all that i need...

dragon warrior (author)2011-02-23

it is the best project ever cool

EricaAnnihilate (author)2011-02-16

This watch looks absolutely amazing, unfortunately I'm not so great with building anything other than computers. The smaller it is, the worse it comes out. Someone should make one and put it up on ebay, I'm sure it will sell really fast. I know I would buy it. If anyone wouldn't mind making one and me throwing in extra for labor, let me know.

mikebook (author)2010-12-13

I have looking for an excuse to get an Arduino to play around with, and this may be the one. Absolutely awesome, and I can't wait until I save up enough to get the parts.

Dr.Earl Insanity (author)2010-09-19

what other software could one put on this?

I would be interested in buying one depending on your answer

Any software for the Arduino can be run on the watch since it is using an Arduino Mini Pro as the brains of the watch.

khayel (author)2010-09-04

im in love of hte steampunk arduino <3 XDD i wish could make one for me .... but im a noob on this T.T i wish could learn how to if some one wants to teach me D: and have the patetient to do it :3 or.....dude god of arduino watchs :P could you tell me how it cost one of those wonder things? i really appreciate it.

joe57005 (author)2010-08-30

if you're not using sleep mode on the arduino, you could ditch the rtc and measure the time using just the arduino and save some space in the watch. conversely, if you keep the rtc, you can put the arduino in sleep mode until a button is pressed. (use an interrupt) if you use the battery backed rtc from sparkfun, you could completely disconnect the lipo battery when not in active use and make it last for months. (the rtc will last 9 years without power)

Matthew Garten (author)joe570052010-08-30

In the software (step 2) it has a sleep mode (the "Shut Down" at the bottom), to get out of sleep mode and turn it back you press the trackball button. The RTC is ready for a backup battery and if you use a RTC board most of them have a backup battery.

joe57005 (author)Matthew Garten2010-08-31

i couldn't find the sleep function in the code, what line does it start?

joe57005 (author)joe570052010-09-02

if the sleep mode is the code starting at line 1035, it's not a true sleep mode, which is why i didn't initially recognize it as such. it may power down the trackball and oled, but the arduino is still going, in a loop checking for a button press, still sucking power. the functions in avr/power.h will actually shut off parts of the arduino itself, you can save a lot of power by disabling the adc, spi, and timers. there's some good example code on i don't have the hardware to test this (yet) but: if {y_pos > item1_corner_y - 1) //shutdown crossline {detachIntrerrupt(1); //disconnect button for power down uoled.SetPowerState(0); //power down oled //begin arduino power down attachInterrupt(1, wakeup, FALLING); //interrupt to wake up set_sleep_mode(SLEEP_MODE_PWR_DOWN); // set powersaving mode sleep_enable(); //little safety put in place, not really necessary, imo sleep_mode(); //put arduino to sleep //code continues here on interrupt(1) detachInterrupt(1); attchInterrupt(1, click, FALLING); // Reattach the interrupt uoled.SetPowerState(1); //Power up the oled x_pos = 48; // reset cursor so it doesn't automatic shutdown again y_pos = 32;} void wakeup() {//dummy, as long as code here is going, everything else, even clocks and, //serial are halted, so it's best not to do anything in here } i don't have the parts for a watch (yet), but i'll test this on a duemilanove board.

Matthew Garten (author)joe570052010-09-02

Excellent, I had not seen the power.h functions so I was referring to the turning off the OLED as the sleep mode. I'll have to try that out, thanks!

renavspainatal (author)2010-07-22

Hello, I really enjoyed seeing your watch, congratulations! I'm planning making one based on this one but I cannot understand everything in the xls file. Actually I don't understand wich pin have to be soldered to the component's pin. I can't recognize the different components and the respective pin in the arduino mini. Somebody could help me understanding the excel file please? Thank you that I saw the datasheet of the trackball and the LCD I started to realize which pin has to be soledered to which one.

About This Instructable




More by Matthew Garten:Arduino Watch Build Instructions
Add instructable to: