# Do-It-Yourself The Nerd Watch - do it yourself

Hello! Welcome to another Other Machine project tutorial! I'm Sam DeRose, a former Other Machine Co. Summer Intern. I created The Nerd Watch last summer while working at OMC.

The Nerd Watch displays the time in binary when the button is pushed. The watch shows the hour and minutes by flashing two LEDs in sequence to represent two 4-bit binary numbers (in big-endian format). Here's a great description of how to read binary numbers.

In this Instructable, I'll show you how to build a Nerd Watch from scratch with a few electronics components, and an OMC Othermill.

This Instructable presumes you have previous experience working with surface mount electronic components, and that you are no stranger to a multimeter or soldering.It's also helpful to pick up a little information on how Arduino works.

## Step 1: A Few Notes Before We Get Started

How To Tell The Time:
The first number represents the hour and the second number represents the number the minute hand would be pointing to if it were an analog clock. For example, if the watch flashes 0010 - 0110, this corresponds to 2 - 6, which means the hour is '2' and the minute hand points to the '6'. This means it is 2:30. (Check out the image above for a graphic description!) There is no indication of am or pm, but hopefully it's clear whether it's 2:30 in morning or not :)

The watch is based on a project my dad made for Maker Faire. It uses the same code and same schematic, but now the board is laid out to look more like a watch, and sleeker surface-mount (SMD) components are used to make it lower profile.

Note: I made many iterations of this watch - you'll see version numbers on the in the photos. Because of this, the progress pictures in this post skip around between different versions pretty frequently. The general process for every version is exactly the same though, so don't worry if your watch doesn't look exactly like the picture.

Another Note: The main part of this post will cover how to build version 2.5, the most current version that uses a regular ATtiny chip. However, Step 7 provides the files and instructions for making version 3.1, which uses a surface-mount ATtiny and a mini-USB port to program it. This version is significantly more difficult to build and program, so I'd recommend starting with version 2.5 and only trying version 3.1 if you feel really ambitious (or have experience with soldering SMD components).

## Step 2: How it Works

The ATtiny chip is the heart of the watch (the black 8-pin IC chip). This chip is basically a small version of the same chip that's inside an Arduino, and thus it can be programmed to perform different functions. In this case, the chip has a program on it which waits for a button press, and when it senses one it grounds several of its pins so that current can flow from +3-volts through the LEDs, lighting them up. The ATtiny has an internal clock, and so the LEDs are programmed to flash to display the time.

## Step 3: Tools, Materials & Files

Tools

• An Othermill
• A computer with Otherplan installed
• Alignment bracket and mounting hardware (included with the Othermill)
• Soldering Iron
• Required: 1/64" and 1/32" flat endmills
• Optional but recommended: 1/16" flat endmill (for clearing out all excess copper)

Materials

• Double-sided FR-1 PCB blank
• Double-sided tape
• Solder
• Recommended: Solder paste
• Sewing Needle
• 3/4" black velcro straps (or another form of watch strap)

Electronic Components

• 8-pin IC socket
• Atmel ATtiny chip (I used the ATtiny85)
• 2x SMD LEDs (SMD = surface mount)
• 2x SMD resistors (~50 ohms, exact value isn't important)
• Square SMD momentary button (I used these, but others will fit too)
• A CR2032 3-volt coin cell battery
• A SMD holder for the battery

Files

• The Eagle board file for the watch - "NerdWatchV2.5.brd"
• The Arduino Sketch which will go on the ATTiny - "NerdWatch.ino" The .zip file included here has the sketch, as well as the libraries you will need to install to get the sketch working properly.
• Remember to install the libraries in Arduino before you try to compile the sketch. Here's how:
• Download and install Arduino if you haven't already. You can get it from the Arduino site.
• Launch Arduino, and go to Sketch > Import Library > Add Library and navigate to where you saved NerdWatch.zip
• Select the whole .zip file, and let Arduino install the libraries automatically.
• Restart Arduino to activate the libraries. If you have any issues, the Arduino Forums are a spectacular place to ask questions for advanced users and new programmers alike.
• Use Arduino to open NerdWatch.ino and compile your code.
• Optional: The Eagle file for my ATtiny Programmer - "TinyProgShield.brd"

For Version 3.1 you will need these files:

• The Eagle file - "NerdWatchV3.1.brd"
• The same NerdWatch.zip file as v2.5
• The Eagle file for the SMD Tiny programmer board - "SMDtinyProgrammer.brd"
NerdWatchV2.5.brd63 KB
TinyProgShield.brd86 KB
NerdWatchV3.1.brd68 KB
SMDtinyProgrammer.brd88 KB
NerdWatch.zip9 KB

## Step 4: Setting up Otherplan

Fire up Otherplan, and connect your Othermill to your comuter and power it on.

Import the file into Otherplan and perform the following steps to set up the cut:

• Use the Setup Fixturing button to walk you through the installation and location of the alignment bracket
• Once the bracket is installed, set your material to a double-sided FR1 board using the Setup Material button
• In this dialogue, make sure to align the material's origin to the bracket
• Use a 1/32" and 1/64" flat endmill for the FRONT of the board, and a 1/32" for the BACK of the board (the back is also where you might add your optional 1/16'' end mill if you have one and you want to).
• The default setting for your FR-1 board works fine for this project, but if you want to experiment with more trace clearance, you can turn on BitBreaker Mode (Otherplan > Preferences > Click on the BitBreaker box) and experiment with the depth and clearance settings (this is is for the user who knows their way around a mill).

If you need a refresher on using Otherplan and setting up the Othermill, check out this getting started guide.

## Step 5: Cut Out The Watch

• Cover one side of a double-sided FR-1 with double-sided tape, and match the board up with the left corner of the alignment bracket.
• Firmly press down the board and then hit the Home button.

• First cut the traces and holes for the top. Do this by clicking on Traces and Holes in the plan file window.
• When that's done, flip the board in Otherplan by clicking on the Bottom button.
• Likewise, flip the actual board in the machine so the uncut side faces up. Make sure the bottom side of the board is flush with the right corner of the alignment jig.
• Click on Traces and Outline in the plan file window.

The mill will cut out the remaining traces and holes, and you will have a finished board!

## Step 6: Solder on the Electronics

Now comes the tedious part: soldering the components onto the watch!

If you're new to surface-mount soldering, or soldering in general, read my description and find some tips here.

For this process, I used a toaster oven to reflow solder the smaller SMD components like the LEDs and resistors, and then used a regular soldering iron to attach the larger components like the IC socket, button, and battery holder.

SMD Components

• Dab solder paste onto the 8 pads which will mount the two LEDs and two resistors. Check out the photos above to get the placement locations.
• Check that you know the polarity of the LEDs. To do this, you can use a multimeter in its "continuity" setting, or you can look at the LED and find the tick mark or green line(s), this side is GROUND.
• Using tweezers, place the LEDs and resistors on the pads with the solder paste. Make sure to get the polarity correct! For both LEDs, GROUND is closer to the bottom of the watch.
• Use a hotplate, toaster oven, or just a regular soldering iron to melt the solder paste and attach the components.

IC Socket

• Bend the leads of the through-hole IC socket flat so that it now looks like a SMD component instead of a through-hole component.
• The pads on the watch will be long enough to accommodate the bent-out leads of the socket. Place the socket and make sure you understand how it mounts to the watch.
• Remove the socket, dab solder paste on at least one pad on each side of the socket. I usually do one corner, and then the opposite corner.
• Place the socket back on the pads with the alignment mark facing up. This isn't required but it will help you remember which way the ATtiny goes in!
• Press down on the socket so that it's all the way down on the board, and use a soldering iron to tack the leads with the solder paste to the board.
• Finish soldering the rest of the leads to the pads with a soldering iron and a spool of regular solder.

The Button

• Depending on what button you get, you may have to bend the leads down so that they contact the pads better.
• Place the button on the board and make sure that the two leads that are normally-open are on the bottom left and upper left pads. (when the button is pressed, the two left pads get connected)
• Use the same tacking technique explained in the Socket section to solder the button on.

Vias

• For the vias you can either use a clipped lead from an LED or resistor, or you can strip a length of 22-gauge solid core hookup wire.
• Stick the wire through the hole and use a soldering iron to solder wire to the pads on both sides of the board.
• Clip the excess wire off with wire snippers.

The Battery Holder

• Use tape to hold the surface-mount CR2032 battery holder in place while you solder it (it gets really hot so you don't want to hold it with your fingers!)
• Attach the holder to the back of the board by soldering the feet on both sides to the square pads.

## Step 7: Add the Strap

This part is really up to you. The easiest way to add a strap is by sewing on some cheap velcro strips that you can find at any craft / fabric store like Michael's or Jo-Ann. Eventually I'd like to make the strap out of nicer material like leather, and add a buckle to fasten it, but this works in the meantime.

Please let me know if you come up with any cool or nice looking ways to attach the watch to your wrist!

## Step 8: Program the ATtiny

Now the watch is physically complete, but the ATtiny chip doesn't yet know how to control the LEDs. That's why we have to program it!

There are several options when it comes to programming an ATtiny. You can make a quick breadboard circuit, use a special ATtiny programming board, or if you can make a nifty Arduino shield, like I did, so you can easily program these chips from now on!

If you're an experienced arduino shield maker, and you'd like to choose this method, the board file for the programmer is available on this step ("TinyProgShield.brd"). Simply cut it out, solder the components, and couple it up with your Arduino.

The .ino file here and in the intro step is the file with which you'll be programming your ATTiny85. Change the time in the code to the current time. Be sure to upload the file to your ATtiny within a minute or two so that the watch is synced up with the correct time.

TinyProgShield.brd85 KB
NerdWatch.ino5 KB

## Step 9: Other Variations

As mentioned in the first step, I made a fully SMD version of the watch, complete with a surface mount ATtiny. Since you can't pull out the tiny to program it, I had to add a mini USB port which connects to necessary pins so that the tiny can be programmed externally.

I made a shield for the other end of the USB cable so that all you need to do is hook the watch to the shield and then program the ATtiny85 as if it is on the shield.

## Step 10: Use it!

Put your Nerd Watch on and test it out by pushing the button.

Can you read the time? If you're able to tell the time by watching the sequence just once, then congratulations, you're a nerd! If it takes you two or three times to get the time, well, you're still a nerd because you're wearing this super nerdy watch.

Have any questions or comments? Shoot us an email at support@othermachine.co.

•