loading

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.

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

This tutorial presumes you have previous experience working with surface-mount electronic components and that you're no stranger to a multimeter and 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. It's 2:30. (Check out the image above for a graphic description!) There's no indication of a.m. or p.m., but hopefully it's clear whether it's 2:30 in the morning or not :)

The watch is based on a project my dad made for Maker Faire. It uses the same code and 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 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 9 shows a variation, 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 (the black 8-pin IC chip) is the heart of the watch. 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 that 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, so the LEDs are programmed to flash to display the time.

Step 3: Tools, Materials, and Files

TOOLS

  • Othermill
  • Computerwith Otherplan installed
  • Alignment bracket and mounting hardware included with the Othermill
  • Soldering iron
  • Flat end mills, 1/64" and 1/32"
  • Flat end mill, 1/16" for clearing out all excess copper (optional but recommended)

MATERIALS

  • Double-sided FR-1 PCB blank
  • Double-sided tape
  • Solder
  • Solder paste
  • Sewing needle
  • Black thread
  • Velcro straps, 3/4", blackor another form of watch strap

ELECTRONIC COMPONENTS

  • IC socket, 8-pin
  • Atmel ATtiny chip I used the ATtiny85.
  • LEDs, SMD (2)SMD = surface mount device
  • Resistors, ~50 ohms, SMD (2) Exact value isn't important.
  • Momentary button, square, SMD I used these, but others will fit too.
  • Coin cell battery, CR2032, 3-volt
  • Coin cell battery holder

FILES

  • EAGLE board file NerdWatchV2.5.brd for the watch
  • Arduino sketch NerdWatch.ino to go on the ATTiny. The .zip file included here has the sketch, as well as the libraries you'll need to install to get the sketch working properly.
  • EAGLE file for ATtiny Programmer TinyProgShield.brd (optional)

  • NOTE: 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.
    • Download the NerdWatch.zip file and remember where you saved it.
    • Launch Arduino. 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. Note: 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.

For Version 3.1 you'll need these files:

  • EAGLE file NerdWatchV3.1.brd
  • NerdWatch.zipsame file as for v2.5
  • EAGLE file SMDtinyProgrammer.brd for the SMD ATtiny programmer board

Step 4: Set Up Otherplan

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

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

  • Use theSetup Fixturing button to walk you through the installation and location of the alignment bracket.
  • Once the bracket is installed, set your material to 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. 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 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

Load your blank PCB:

  • Use the Loading button to bring the machining bed forward.
  • 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.

Cut your board:

  • First cut the traces and holes for the top. Do this by clicking on Traces and Holesin the plan file window.
  • When that's done, flip the board in Otherplan by clicking on the Bottom button.
  • Also 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 cornerof 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'll 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. Then I 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:

SMD Components

  • Dab solder paste onto the 8 pads which will mount the 2 LEDs and 2 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), which marks the ground side.
  • 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 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'll 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.

Button

  • Depending on which 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 2 leads that are normally open are on the bottom left and upper left pads. (When the button is pressed, the 2 left pads get connected.)
  • Use the same tacking technique explained in the IC socket section above 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.

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 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 (TinyProgShield.brd) is available on this step. 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 ATtiny to program it, I had to add a mini-USB port that connects to necessary pins so that the ATtiny 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 ATtiny as if it's 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.

<p>Hi everyone!! I have a question for the people who already have a nerd watch; is easy to know the time always when you want to check it? I mean, you don't need pencil and paper to memorice the sequence and then check what time was? Don`t judge me If I make you feel stupid because of my question, regards!!!</p>
<p>Is there also an opinion to make the Nerd Watch with a normal Circuit Board because I can't afford an OtherMill or OtherPlan. </p><p>Nice if somebody can help me out because it's a nice project.</p>
<p>I don't have OtherMill or OtherPlan with me..</p><p>Can anyone suggest any software to design PCB and also suggest how to do it..!</p><p>Praneeth..... :) </p>
no longer ??
Eagle Cad is a good option,u can use the free student version.<br><br>It has a steep learning curve compared to other alternstives but its worth it.<br>
<p>nice dude I'm a nerd to </p>
<p>I just finished my NerdWatch with Aduino on Windows 7 x64.</p><p>Thanks to the author of this instructable :)</p><p>For the compilation, I used another library that can be downloaded at this address:</p><p>https://code.google.com/p/arduino-tiny/</p><p>it is very convenient because it emulates several ATtiny whose 2313 </p><p>(Attention to read the README file for installation place of ficers this library in the correct folder), </p><p>after finishing the PCB I sanded with toothpaste to make it smooth, I rinsed well with water, dried, passed gloss copper, cleaned acetone, and welded the components,after I polish the PCB with gloss varnish (protecting the mini USB and hoder battery) it avoids oxidation.</p><p>it remained for me to flash the program, </p><p>I did not use the Arduino as ISP, </p><p>once the compiled program, do not close the Aduino program that generates a HEX temporary file named NerdWatch.cpp.hex, </p><p>it is in the hidden directory named C: \ Users \ yourusername \ AppData \ Local \ Temp \ buildxxxxxxxx.tmp</p><p>(yourusername is your Windows user name and Xxxxxx is a series of different amounts to each compilation)</p><p>I flashed the Attiny85 with my USBasp programmer 5 volts version (without battery on well) 2 minutes before the current time to have time to remove the programmer and I inserted the battery 3 volts on the hour :) Here are some pictures of my NerdWatch.</p>
<p>Hello..!</p><p>Could you send me picture(s) that how do you attach battery holder at the back side of board..?</p><p>Did you use dual sided pcb or single sided..?</p><p>I don't have othermill to do it..!</p><p>And also share video ( if taken) of making your nerd watch..!</p><p>And also send the pictures of your components used..!</p>
<p>I made version 3.1 of the nerd watch.</p><p>I used Eagle to make the PCB which is double sided.</p><p>On the back side, there is the location to solder the battery (the two rectangular studs for the + and the center circle for the -) battery holder is a CRD3232 Keystone SMD as the picture attached.</p><p>It can also be seen in the pictures of the Nerd watch.</p><p>Sorry I did not do video construction.</p><p>Here is the list of components:</p><p>1 x ATtiny85 SU</p><p>1x SMD LED 0805 orange</p><p>1 x SMD LED 0805 green</p><p>1x SMD resistor 1206 680 Ohm for green LED</p><p>1x SMD resistor 1206 470 Ohm for yellow LED</p><p>Warning:</p><p>1) the battery is worn out quickly</p><p>(2) the prescription should be a little adjusted</p><p>Look at my method a little lower</p><p>the keystone smd battery holder</p>
hey plz help!<br>can i use normal components instead of smd? plz answer soon.<br> regards.<br>help.<br>
<p>Look below there is an example de JRV31</p>
hi, I was just wondering if it would be possible for you to mail me an unpopulated board in Australia, If so I would like one of the smd versions, feel free to contact me on lochieom@gmail.com
<p>Haha, laugh my pants of when I saw this, nice project! Download the ino file but cannot compile it. <br><br>error: 'LED' does not name a type<br><br>and many other errors.<br><br>Can I do something about this?</p>
<p>the secondes were too ahead in my watch it advanced 46.8 second per hour, to correct it, I did this in clock.cpp:</p><p>46.8 x 1000 = 46800/3600 = 13 I add 13 in the test</p><p>if ((now - _millis)&gt; = 1000) Now the test is: if ((now - _millis)&gt; = 1013)</p><p>and the hour of my watch Nerd is more just.</p><p>if your watch ahead or behind this change improves presision time</p>
Can you switch the 1 and 0 around in and make it 3.1 for me with the usb? It just feels weird seeing '1 0' instead of '0 1'. I would love to make one like that.
<p>looking down I put the pictures of my nerd watch</p><p>we see the support for the cell and just above a pin for my +</p><p>USBasp programmer that connects to the mini USB port (version 3.1).</p><p>there are other pile holders that go as well and are compatible with batteries CR2030</p>
Oh and can you show a picture of the battery how you have it soldered on?
<p>So cool</p>
<p>Can I program the ATtiny with a Raspberry Pi?</p>
Sure! Check this out: https://www.instructables.com/id/Programming-the-ATtiny85-from-Raspberry-Pi/
<p>Neat Project. For the watch strap... There are some one piece nylon watch straps out there. I found a few on Amazon but they are 18-22mm wide typically. Could modify PCB for a std. one piece strap for a highly finished look. Just need to weave the strap through the two slots in the PCB.</p>
<p>Thank you for the good instructable.<br>I made it as a pocket watch for the Remix 2.0 contest.</p><p>Here is a link: https://www.instructables.com/id/Nerd-Pocket-Watch/</p>
<p>I get this error when compiling...http://pastebin.com/rFinHZZV</p>
<p>Where can I buy one of these ready built?</p>
<p>We can make you something similar</p>
<p>It's really cool. I really want make it, but I don't know how program Attiny85 and I don't have &quot;Othermill&quot; please, you can say me how I do make it. I do my PCB's on Proteus. Please answer me....</p>
Through hole version - http://youtu.be/8e5y9DavaEo<br><br>Attiny85 programming with arduino - https://youtu.be/3D_FfrzujaA
<p>So cool! I am learning Eagle for the first time and etching circuits using the Othermill, it's so satisfying! What tool or set of tools did you use in Eagle to ensure the everything but the traces were milled? </p>
That's so great! It is rather satisfying. To mill out all the copper except for the traces, simply set Trace Clearance to a high number in Otherplan (no need to do anything in Eagle). This requires that <a href="https://othermachine.co/support/techniques/bitbreaker-mode/" rel="nofollow">BitBreaker mode</a> be enabled. The trace clearance parameter is found in the Advanced settings dialog, the button for which is just above the Start Cutting button in each plan.
<p>I have a question according to the programming of the ATtiny. I built the board for Version 3.1 SMD. I&acute;d like to try the version with the arduino shield. How does the schematics of the shield look like? In my opinion the shield only needs a 5pin miniUSB - B - female connector and a 5 pin strip. I think the pinout of the Shield is VCC ,GND and 3 data lines. Or?</p><p>Are I&acute;m right I don&acute;t know. I also don&acute;t know how to connect the 5 pins of the shield to the Arduino Uno in the right way.</p><p>Please help me with good advices</p><p>Thank you</p><p>Max24</p>
<p>Hi, really cool project (I found it from OSHPark's FB page). </p><p>I was looking at it quickly and just so I'm clear, tho you're using a standard USB cable you cant plug it into your computer via USB right? It's just cause USB cables (and ports) are common and cheap but it's still a standard ISP connection? How are you able to program it with only 4 connections when ISP needs 6 (but you can get away with 5 usually)? I've been thinking about making a wearable clock / pedometer out of a 128x96 OLED (and a 3DOF IMU and a 32U4) but this would probably be a better first wearable project.</p>
Hi Dan,<br><br>Thanks for the note! It depends on the version of the Nerd Watch you are making. For version 2.5, Sam used a shield he made for an Arduino, plugged the shield into the Arduino board, and plugged the Arduino into the computer's USB port. If you are familiar with Arduino shields and their uses, the shield files are included in Step 8 if you want to give it a try!<br><br>We have also had good luck using Sparkfun's Tiny AVR programmer: https://www.sparkfun.com/products/11801<br><br>Let us know if you have any further questions!<br>
<p>I did it!))) PCB produced by a laser printer and iron)))</p>
<p>How did you open the NerdWatchV2.5.brd file and print off the schematics??</p>
<p>eagle 6.5</p>
<p>Looks great! How did you nail those slits?</p>
<p>2.5 mm drill several holes are drilled next to each other and not much handled needle files</p>
<p>How do you open the NerdWatchV2.5.brd to where you can see the schematics or the board? I'm trying to make my own PCB so I need to be able to print it out actual size. </p>
<p>Compiling for me after libary importation, produces the following error...</p><p>NerdWatch\Button.cpp.o: In function `Button':<br>C:\Users\Randall\Documents\Arduino\libraries\NerdWatch/Button.cpp:25: multiple definition of `Button::Button()'<br>Button.cpp.o:C:\Users\Randall\AppData\Local\Temp\build4002414321897389306.tmp/Button.cpp:25: first defined here<br>NerdWatch\Button.cpp.o: In function `Button':</p><p>Ideas?</p>
<p>Maybe that Librairy are not in the correct directory look this tutorial</p>
<p>How to install the library? You need to put files clock.cpp and clock.h in the folder &quot;Clock&quot; and copy it to the folder &quot;Library&quot; in the directory Arduino?</p>
<p>See this tutorial:</p><p> <a href="https://learn.adafruit.com/arduino-tips-tricks-and-techniques/arduino-libraries" rel="nofollow">https://learn.adafruit.com/arduino-tips-tricks-and...</a></p>
Look this picture this is ir jammer device this is for acceptor writing me to the email please
Hello can you this build for me this is ir jammer device this send information to bill acceptor writing me to the email rewe.dekra@web.de
<p>I made it as a pocket watch using an Adafruit perma-proto board designed to fit into a small Altoids tin. I need to learn how to etch a printed circuit board.</p>
<p>AMAZING, I NEED TO MAKE THIS WATCH NOW</p>
<p>How current ATTiny in mode Stand-by?</p>
<p>It is impossible to compile a sketch, could you put .hex file and fuse bits for programming attiny85 through USBAsp programmer?</p>
How can I make this watch if I have Windows? I really want to make it, but how?
<p>For those of us without an Othermill (<em>such</em> a cool name!), are there plans for a kit or mail-order deal?</p>

About This Instructable

233,186views

1,269favorites

License:

More by othermachine:OtherYo Breakfast Heroes   Custom Aluminum and Brass Rings 
Add instructable to: