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
For Version 3.1 you will need these files:
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:
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
Load your blank PCB:
Cut your board:
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.
Follow these general steps to add the components:
The Battery Holder
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.
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 firstname.lastname@example.org.