The actually design for the face is probably where I spent most of the time on the build to be honest, never actually getting it quite right; But eventually I settled on the 5 ring design of the finished watch. The outer most ring has 60 blue LEDs that signify seconds, moving around the face as though it was the old watches hand. The second ring has 60 green LEDs for the minutes moving the same as the first. The third ring has 24 red LEDs for the hours, I decided on 24 hour both to make it a bit different and because 12 LEDs just didn’t really fill up the space nicely. The fourth ring has 7 orange LEDs showing the day of the week (I like to start with 1 LED as Monday but there’s no real reason for that). The inner ring isn’t on under normal use and is simply a battery charge indicator with 3 red while charging and 3 green when charged, I didn’t use bicolour LEDs for this so all the LEDs on the front looked the same. Each ring is joined by a silk screen circle but for aesthetic reasons that is the only silk screen on the PCB.
There was one main rule I had for this project; I couldn’t modify the case itself in any way. That meant no new holes made and nothing permanently attached to it in any way. As a secondary goal I wanted the new movement to work as closely to the old one as possible. So with both of these in mind, the time needed to be set using a watch key in the centre of the face and charging had to be done through the same hole in the back that would have originally been the winder. I did briefly look into wireless charging however that wasn’t happening through the silver case. This meant I had to find a charging socket that would both fit in the hole made for the old key and not be too long to fit within the case, obviously all USB standards were out, along with DC jacks as although you can source one that would fit within the existing hole none available at the time were short enough to fully fit inside the case. In the end I chose to use a 2.5mm headphone socket, not a standard in any way of course but it was the only way I was going to get away with not enlarging the hole in the case.
Setting the time was an easier decision as since I was making a custom face I could control the size of the setting hole. The obvious choice for this was a rotary encoder but the trouble came again with the size, the entire interior depth I had to work with in this case was less than 7mm and that had to also include a battery and given the requirement of setting in the same way the old movement would have the encoder had to be in the centre of the watch face. I eventually found an Alps encoder (part number EC05E1220401) that was only 2.7mm tall that would do the job nicely.
For a battery I wanted to use the largest capacity possible so the only real choice was a Li-pol I ended up going with a 380mAh cell as it was the physically largest cell I could fit in the space (while not being from a dodgy source like the magical ones on ebay that claim over 1Ah in the same size for the 2 seconds before they explode).
At this point the only major component I had left to pick was the processor. Now I must admit here that my usual response for needing a Micro is to look up which PIC has all the features I need for the given project as for my day job, the product we know and have all the tools for is basically required. But for this I decided to cast a wider net and try something new, I didn’t need much in processing power but what I did need is something that would be as power efficient as possible, I wanted all the power available to go to the LEDs. Originally I also wanted to use a capacitive touch sensor to turn on the face when someone picked up the watch so my processor choice was also affected by this, however as I will explain later on, this did not end up going to plan... The processor I ended up going for was a cortex M0 based chip made by Silicon Labs called the ‘EFM32 Zero Gecko’ or more specifically ‘EFM32ZG222F32-QFP48’ which at the time I started the project was a relatively new chip specifically designed for low power use applications that was just what I was looking for.
Now I had selected all the major components and decided on what I wanted the watch to look like and how it was to work it was time to design the circuit. This was relatively simple, the processor itself required a few support components, a crystal, a few filter caps and a small inductor; nothing out of the ordinary. The power supply I admit is a slight bodge as the battery while for most of its charge cycle ran at 3.7V which is within the processors valid input range of 1.98V - 3.8V the max charge voltage of 4.2V was outside this by 0.4V. I didn’t want to use a linear regulator in this for efficiency and I also didn’t want to use a switchmode as I know I wouldn’t have the space so I ended up using a diode drop as it was only 0.4V. For battery charging I used a MCP73832T as that’s usually my go to charge controller for small things, nothing really special. The encoder circuit is as you’d expect and I used a resistor divider on an analogue pin for battery monitoring. The LEDs are a simple multiplexed grid using TSSOP ULN2003LVs as Line drivers since the Micro couldn’t sink a whole row of LED’s on one output.
I first built a test circuit using a SL dev board for the Micro and got all the major parts working, at that point including using the Capacitive touch on the watch case to turn on the display. It wouldn’t be until I had fully assembled the final watch that I would find out my mistake here but while the watch case attached to the capacitive touch input worked fine with the micro outside of the case of course what I hadn’t thought of was that when inside it would have no ground reference other than the case itself meaning I had to ditch this feature.
The PCB design ended up being rather tricky for this project too, needing to fit 157 LEDs on a 46mm disk multiplexed ended up taking a large number of layers and I realised early on there was no way I could have the Micro on one side and the LEDs on the other and still fit in the 4 layer limit of most cheap PCB suppliers so I came up with a little cheat to save some money. The LEDs and 2 driver ICs would fit on one 4 layer PCB with the outputs going to two rows of contacts on the back of the board while the rest of the circuitry would go on a cheaper 2 layer board with matching edge connectors that I could solder down as a module on to the back of the display board. I also didn’t want to pay the extra for castellated holes so simply made full plated holes on the edge and sanded 1mm off the final PCB to make my own since my supplier quintuples the price for castellation. This design decision also made it so I could easily change CPU or revise board errors without ordering another costly 4 layer PCB or having to re make the display PCB that was a long process to solder by hand. I did need to make a hole in the top PCB so I could mount the power connector with enough clearance to the lid of the watch, I ended up having to use a through hole right angle connecter with the pins bent down on surface mount pads and sat vertically just to get it to fit the case as no existing connector would have been suitable unmodified. I also used a third 2 layer PCB connected to the board through a surface mounted connector block to house the 2.54mm header and 2 buttons required to program the Micro and also to hold the battery in place. I used 1mm thick PCBs for the display and processor board to save space but a full 2mm thick one to hold the battery in place (these were the min and max sizes I could go to without a price increase)this meant I could have the whole assembly stay in place without needing any 3D printed parts.
Once I had assembled the PCBs into the watch the final part of the project was the software which is really nothing special, it was mostly based of the example project that came with my dev board but at the end of the day the project was all about looks of the final product not pretty code!
The watch lasts about 48 hours on battery with the display on and so time is not lost (as there is no place for a backup timekeeping battery in there!)when the battery reaches 25% capacity the main display is shut off and only the red battery ring is flashed once per second to show low battery, the processor is also put into a slower, lower power mode and at this point the time will be kept for over 2 months on the remaining power, once the battery reaches the 3V threshold the processor is sent in to an even lower power state and time will be lost to make sure the lithium battery is never discharged past its safe minimum. Since the original watch would have needed winding daily and would have lost time if left to fully unwind I think this is a reasonable improvement and while it’s nowhere near as good as a modern watch I use it really more for looks than anything and its always been a popular piece at conventions when people see it (or rather it was before those all stopped happening!)
This is a project I have been meaning to write up for years but never got round to putting it anywhere and while it has little chance of winning anything the ‘Reinvented Retro Contest’ is a good excuse for me to do so and maybe show a few people, after all, 1900s has to be retro by now right?