Intro: MechWatch - a Custom Digital Watch
The MechWatch is a watch I designed to have the advantages of Arduino in terms of flexibility, but I wanted it to look and feel as professionally made as I could. To that end this instructable uses fairly advanced surface mount electronics (no exposed connections to solder) and CNC milling equipment.
I'll begin with how the time is read, with an illustration in the second picture. There are two LED rings, one is the hour hand and the other acts as a minute hand, pointing from 1-12 as on an analog clock face. Because the minute hand can only move in 5 minute increments there are 4 separate LEDs to show any single minutes. As an example the third picture shows the watch displaying 9:41.
The watch interaction is done through a two-way switch on the side that slides towards the lugs (forward/backward). To set the time:
1. push and hold the switch until the lights turn off. When it's released the time will be flashing and the switch can be pushed up/down to change the hour
2. Push and hold the switch again until the lights turn off to switch to setting the minutes in the same manner
3. Push and hold the switch until the lights switch off again to save the time
4. If you wait too long while setting the time without pushing a button the watch will just go to sleep without saving any changes
This instructable outlines how to make the complete watch and provides all of the source files needed.
Step 1: Electronics Design
This step outlines the specifics of the electronics. The first image is the electrical schematic, showing how all of the parts are outlined. The second image shows how the board is arranged, the top is red and the bottom is blue.
For anyone interested in the exact bill of materials for all the electronics parts as well as where I buy them, I have attached an excel file with links, rather than make everyone scroll by the long list.
I wanted to keep the top of the circuit board relatively clear with a consistent design aesthetic, so I put the microcontroller in the middle and arrayed the RTC, Crystal and resistors around it. The LEDs surround the outside and even the traces around the outside mirror the circular design aesthetic.
To interface the LEDs with the microcontroller they can be arranged in a grid, requiring 12 digital I/O pins to drive them. As well I want to use a real time clock (RTC) to keep time so I can put the microcontroller into a deep sleep to save power. The RTC uses significantly less power than a microcontroller, allowing up to 5 days between charges. To communicate with the microcontroller the RTC requires I2C communication. I chose the ATMEGA328P because it fulfills these requirements and I'm already familiar with using it (it is used in many Arduinos as well).
To interact with the watch the user needs some kind of switch, so I found a two-way sliding switch that returns to center using springs. An external sliding switch attaches to the electrical switch using a set screw.
I decided to use a lithium battery to power everything and Qi inductive charging to recharge it. I wanted to avoid using any kind of connectors to recharge watch because they present openings to let dirt and water in and will probably corrode over time, being so close to skin. After reading more data sheets than anyone would ever want to, I settled on the BQ51050BRHLT. It has good reference diagrams and a built in lithium battery charger (space is at a premium).
Since there was no nice way to arrange the Qi charging electronics on the top, I had to put it on the back of the board with the battery. The switch is also located on the back, but that's because it's a better location to attach an external switch.
Step 2: Electronics Assembly
I've arranged almost all of the electronics pieces in the first picture. I did leave out several of the capacitors and resistors, because they all look very similar and are easy to mix up or lose.
To get the solder on the pads, I'll be using a solder stencil. I quickly made the holder in the second picture to keep the circuit boards aligned under the stencil, but there are several easier options available, the simplest being tape.
The third picture shows the stencil aligned over the board. The fourth picture shows smearing the solder paste into the holes of the stencil. It's important that the stencil is lifted straight up after applying solder. This photo also reveals the makeshift way I'm doing this because I've never used a stencil before. Next time I wouldn't buy the frame. It would have been easier to just tape a smaller sheet along one edge without the frame, live and learn.
Now a tedious and difficult task; place each of the parts on the board with a pair of tweezers. Picture 7 shows the parts placed and picture 8 shows them soldered.
The video in place of the 6th picture shows the soldering process. I use a hot air soldering station set to 450C to melt the solder without disturbing the parts, alternately it is possible to use a soldering oven to do the same thing. After soldering the bottom use a multimeter set to continuity mode to check for shorts between adjacent pins on the IC. When a short is found, use a soldering iron to drag it away from the chip and break it.
When soldering like this it's important to slowly heat the board for a couple minuted before going in for the melt. Otherwise the thermal shock can destroy the parts. I would suggest looking at more detailed instructions if you are unfamiliar with this method.
Next, it is necessary to connect the coil to the 2 wire connector and hold it over the charging base. If everything went well the green charge light should turn on for about a second then turn off. If a battery is connected the green charge light should stay on until it's finished charging.
After the charging is working as expected, it is the same process to solder the top side of the board. A note for the LEDs in picture 9, there is a small marking on the bottom of the LEDs to show the orientation. The side the little line come out towards is the narrow end of the triangle in the LED schematic. It's important to check this for each surface mount LED you use because the markings can vary between different manufacturers.
Step 3: Electronics Programming and Testing
Use a AVRISP mkII to program the microcontroller (push and hold shift while clicking upload in the Arduino IDE). It is also possible to use it to just burn the bootloader as normal and use the serial connection on the back of the watch with an FTDI cable. But by circumventing the bootloader and programming directly with the AVR ISP mkII the code starts quicker on power-up.
I've attached the code to this step as well. If anyone would like to look more in-depth, I've commented the code to explain what each part does. The general structure of the code is a state machine. Each state has a piece of code it runs as well as conditions to move to a different state.
Much of the code controlling the I/O pins directly controls the registers, it's a little harder to read but it can be up to 10x faster in execution than digital.Write or Read.
Step 4: Machining Setup
The machining setup for the watch case is fairly complex and takes a good bit of preparation.
The mill I'm using is an Othermill v2 (now called Bantam Tools) with a toe clamp kit. The clamps allow me to hold the work piece from the sides, which I use for the first setup.
The watch machining is done in three setups. The first setup just has the starting material clamped to the CNC bed and the mill cuts out the inside shape of the watch and removes a bit of the surface. The machining software setup can be seen in the 6th picture.
The second setup requires a custom fixture to hold the watch case from the inside, so it is possible to cut the entire top outside shape of the watch. The custom fixture can be seen in the first picture with an exploded view in the second picture. The small center piece has a tapped hole so when a screw is tightened it lifts the piece and forces the two side pieces into the watch case, holding it in place. The machining software for the second setup is seen in picture 7.
The third setup requires another custom fixture to hold the watch; this one is slightly simpler. The fixture consists of a base and a piece that goes inside the watch. The piece inside the watch registers with two posts on the base and screws in place to hold the watch case upside down.
I machined the fixture pieces from larger chunks of aluminum and left them connected by tabs. After both sides are machined I cut the tabs with a scroll saw and sand them smooth.
I've included the fusion360 CAD files I used to make all the parts (including the watch case and side switch), but use your own judgement if you try to make the parts. I'm not responsible if something goes wrong and breaks.
A hint for making the fixtures more accurate: machine any part that interfaces with the machine first and then put it in the final place and then machine it to final dimensions. This ensures many small errors don't compound and hold the watch case in the wrong place. This knowledge brought to you by a pile of scrap aluminum.
Step 5: Machining the Case
The starting aluminum blank can be seen in the first picture. I use a 1-1/4" hole saw to remove the center, this saves quite a bit of machining time.
As mentioned in the previous step there are 3 setups to machining the case. The first setup after machining is seen in picture 2. I first use 1 1/8" end mill (flat on the bottom) to remove most of the material. I then switch to a 1/32" end mill to cut the 4 screw holes. To cut the threads in the screw holes I then use a M1.6 thread mill (from Harvey tools). The specific settings I use are contained in the Fusion360 CAD file.
Picture 3 shows the second setup with the machining finished and the 4th picture shows the third setup before machining.
The second setup is machined using a 1/8" end mill to remove most of the material quickly then I use a 1/8" ball mill (round end) to cut the curved surfaces. The operations are the same for the third setup as well.
The second setup requires the use of another specialized tool, a 3/4" slitting saw with a modified arbor so it can fit closely with the watch case holder. The slitting saw spins at 16500 RPM and moves at 30 mm/min. This speed pushes what the Othermill is capable of, so it might be necessary to slow it down even more. This step is shown in the video above.
If you are looking to learn more about the specifics about CNC machining I will point you to NYC CNC on YouTube, They do a better job than I ever could here.
Just for reference for those who know what it means, the settings used on the othermill v2 for the 1/8" end mill is 16400 RPM (163.5 m/min), 300 mm/min, 1mm depth of cut and 1.3mm width of cut.
Because the othermill doesn't have enough z height to hold the watch on its side, I need to manually drill the holes for the watch band and the hole for the side switch. To help locate them on the irregularly shaped sides of the watch I 3D printed some guides, seen in pictures 5-7. To help drilling accuracy it is important to get the drill bit as far as possible into the chuck; this makes it harder for the bit to wander.
The side switch hole is a non-circular shape so it needs refining after getting started with the drill, which is done using Swiss files. Using calipers I measure the current hole and file it to the correct dimension. The hole should be 4.6 mm from the top surface, 3.8 mm from the bottom surface and 25.8 mm from the furthest point of each lug. I suggest watching Clickspring on YouTube for inspiration while filing the hole.
Step 6: Machining the Side Switch
The files used in this step were included in the zip file back in machining setup.
The side switch is machined very similar to the MechWatch case. It is milled with a 1/8" end mill using the same settings as the case. Next use a 1/8" ball mill on the curved surfaces, same settings as before.
The second setup is seen in pictures 3-4 before and after machining. 1/8" end mill, 1/8" ball mill, 1/32" end mill then M1.6 thread mill. (there's a threaded hole to hold it to the switch on the board).
I machine the switch from a larger piece of aluminum for two reasons. The first reason is so I can clamp the sides and not accidentally mill the piece holding it. The second is so when I place it in the slot for the third operation it can still be clamped (see picture 5).
Step 7: Machining the Case Back
The watch bottom is made out of acrylic, it has to be non-metallic due to the inductive charging. I use some aluminum off-cuts to space it from the edge (each 12.7mm thick) and double-sided tape to hold it in place.
Because the plastic is much easier to machine than aluminum it is possible to be more aggressive with the CNC settings. Starting with a 1/8" end mill the settings are 16500 RPM, 600 mm/min cutting rate, 1.5 mm depth of cut, and 1 mm width of cut. To cut the fine details use a 1/32" end mill with the same settings but 0.25 mm depth of cut and .3 mm width of cut.
After turning a toothpick from a log (I should use thinner stock, but this is what I have) I have the watch back finished. It has the electromagnet shape cut into it to keep the watch thin.
To remove it from the bed I put an allen key in the t-slot and gently pry up, moving to the next point when it starts to loosen.
The final step is the take a drill bit and gently countersink the holes on the bottom side. I do this turning the drill bit by hand. I find it easier to keep centered and under control.
Again the files used in this step were included in the zip file back in machining setup.
Step 8: Watch Assembly
This is the most rewarding step, taking all the parts and assembling them into the final watch. All of the arranged parts (minus the 24mm wide watch band and 24mm long 1.5mm diameter quick release spring bars) are seen in picture 1.
The first part is tricky since the 40mm diameter o-rings I ordered are actually closer to 37mm, so they need to be stretched out and installed quickly. Use the end of a ball Allen key to press it into place by rolling it along the groove as seen in picture 2.
When the O-ring is properly seated firmly press the crystal (40 mm diameter 1.5mm thickness) into the watch case. The o-ring should hold it in place while being almost invisible.
Now it's time to install the electronics. First, wipe the inside of the crystal with a lint-free cloth and seat the electronics in the case, paying attention to the key to keep the orientation straight. The PCB should seat firmly in the case, but if it's loose it can be secured with a small drop of super glue on the key to hold it in place.
Once the electronics are in, the side switch fits through the hole and over the switch mounted on the PCB. A M1.6 set screw holds the two pieces together as seen in picture 4.
Next, the longer cables on the coil need to be folded up and tucked where they won't rub any exposed electrical contacts.
The penultimate step is to close it all, and attach the plastic case back with the 4 M1.6 screws. It's important to pay attention that the shape in the back lines up with the coil shape. It may be necessary to tweak the wire placement so it fits better.
The final step is to attach the watch band using the quick release spring bars (pictures 8-9). Depending on the band chosen, it may be necessary to modify the band to work with the spring bars. For the shark mesh band shown, I use wire cutters to create a small hole to accommodate the quick release mechanism.
Step 9: Final Notes
The watch is now finished!
Just a couple notes: the side switch can become a little sticky at times, to fix this it may be necessary to enlarge the hole or adjust the switch location by loosening the set screw, holding the switch close to the body and re-tightening the screw.
To charge the watch I made a custom charging stand based around the Adafruit Qi charger (https://www.adafruit.com/product/2162) seen in the second picture, but that that's a topic for another time.
Whatever charger is chosen, it's important to note that no metal can be between the coil and charger. Because the band I chose is metal, it needs to go around the charger
Thanks for reading to the end, I hope you learned something. I'm happy to share the MechWatch after months in the making.
First Prize in the