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).

<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: http://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: http://www.instructables.com/id/Nerd-Pocket-Watch/</p>
<p>I get this error when compiling...http://pastebin.com/rFinHZZV</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>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>
<p>@Kiteman, you really have 2 options here. </p><p>1. You can convert the board to Eagle, order it from a <a href="http://www.ladyada.net/library/pcb/manufacturers.html" rel="nofollow">http://www.ladyada.net/library/pcb/manufacturers.h...</a> PCB manufacturer, then share your work with the community.</p><p>2. You can find a local Hacker Space that has an Othermill, cut your own PCB there, then offer to do the same for interested parties in the community.</p>
<p>Or if you're not afraid to play with chemicals: etch it yourself. For the outline you could possibly use a Dremel or saw if you have enough time. As long as its not a fine pitch PCB you don't really need professional equipment to get a good result.</p>
<p>True.</p>
<p>Cool watch, I already bought the ATTiny to make it. Unfortunately I have some problems while trying to compile the code in arduio 1.0.6. I downloaded the nerdwatch.zip file and opend the .ino file. In the IDE I see the 3 .h, 3 .cpp and the ino file. When I press upload it stops and says: </p><p>This report would have more information with<br>&quot;Show verbose output during compilation&quot;</p><p> enabled in File &gt; Preferences.</p><p>Arduino: 1.0.6 (Windows 7), Board: &quot;ATtiny85 (w/ Arduino as ISP)&quot;</p><p>In file included from Button.cpp:1:</p><p>/Button.h:7:21: error: Arduino.h: No such file or directory</p><p>In file included from Button.cpp:1:</p><p>Button.h:20: error: expected `)' before 'buttonPin'<br>Button.h:24: error: 'uint8_t' has not been declared<br>Button.h:46: error: 'uint8_t' does not name a type<br>Button.h:52: error: 'uint8_t' does not name a type<br>Button.h:53: error: 'uint8_t' does not name a type<br>Button.h:54: error: 'uint8_t' does not name a type<br>Button.h:55: error: 'uint8_t' does not name a type<br>Button.h:56: error: 'uint8_t' does not name a type<br>Button.cpp:6: error: expected `)' before 'buttonPin'</p><p>I know nothing about programming, so I hope somebody can help me!</p><p>Thanks</p>
<p><a href="https://www.mepits.com/project/216/DIY-Projects/How-to-make-LED-Wrist-Band-?-DIY-LED-Project" rel="nofollow">https://www.mepits.com/project/216/DIY-Projects/Ho...</a></p><p>try this</p>
<p>You could also use NATO straps. They are really cheap if you buy them from China: </p><p><a href="http://www.aliexpress.com/item/Wholesale-10pcs-lot-High-quality-20MM-Nylon-Watch-band-NATO-waterproof-watch-strap-colorful-fashion-wach/901823219.html" rel="nofollow">http://www.aliexpress.com/item/Wholesale-10pcs-lot...</a></p>
<p>And they are only 90 cents each if you buy them on aBay </p>
Could you make one POV tech? That would be kind of neat!
<p>You just need 5 LEDs to make a POV version. You also need an inertia switch.</p>
<p>I have a kit for Nerd Watch MkII. It has 4 LEDs and 2 buttons and comes without strap for $15.00 plus $4.50 post. <br>The PCB needs trimming around the edge with a file and the slots need to be opened out as they consist of large holes next to each other. <br>The PIC chip is already programmed and the watch can be set-up via the two buttons. Email me for details Colin Mitchell talking@tpg.com.au </p>
<p>Hello, here is my version:</p><p><a href="https://oshpark.com/shared_projects/q6werfjC" rel="nofollow">https://oshpark.com/shared_projects/q6werfjC</a></p><p>Ondra</p>

About This Instructable

196,390views

1,200favorites

License:

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