Schematic:

BCDW Schematic

The schematic is pretty basic because I wanted to keep the BOM as small as possible. The watch will show the time in hours, minutes, and seconds. The ATTINY1616 was chosen because it had enough PWM pins for the Display matrix and for its built-in RTC functionality. An ATTINY1614 could work, but at the time I designed this it was completely out of stock. While it is possible to use an internal clock signal for the RTC, it comes with significant downsides. The internal 20 Mhz clock is accurate enough for timekeeping but it consumes too much power. There is an internal 32.768 kHz clock for low-power use, but it is far too inaccurate to be useful in this application. Luckily, the ATTINY1616 has an input for an external 32.768 kHz clock signal, either through a crystal or with an oscillator chip. This was the route I chose. The display is a 6x4 matrix with unnecessary LEDs removed, of course in a very retro red. There are resistors on the cathode side to limit current while brightness is controlled through PWM. Two buttons on the side are used to set the time and wake the display. Finally, the watch is powered using a CR2032 cell.

PCB:

*Photos coming soon

Dimensions: 22x40x1.6mm

This PCB was difficult to design simply because of its small size, especially on the back where the battery holder takes up most of the space. Routing the display to the PWM pins on the ATTINY was particularly annoying, taking 7 revisions to get it right. I could have put some components on the front to make this easier, but I wanted the front to only have the display matrix for aesthetics. I think this effort paid off because this PCB looks amazing. As I am right-handed the buttons are on the right side of the watch, but this could be changed without too much effort for those lefties out there.

Case:

*Photos coming soon

Dimensions: Coming soon

I've always loved the look of transparent electronics which I wanted to emulate in this design. The internal frame is designed to hold the PCB inside the outer transparent shell and connect to a 22mm standard watch band. The slot on the top frame is a bit smaller compared to the bottom frame to accommodate the resistors but it still holds the board securely. The top case is screwed into the frame on the side and the bottom case is screwed in through the bottom. I wanted the bottom case screws to be easily accessible to make it easier to change the battery. The button covers are held in by friction. Because of the small size of the parts I would recommend printing the case in resin rather than FDM for the higher resolution and better surface quality.

Programming:

*Photos coming soon

The ATTINY1616 comes with UPDI, a simple 1-wire interface for programming. It is capable of high-voltage programming, which means we can use an Arduino Nano as a programmer despite the 2V difference between it and the ATTINY (though the voltage difference is right on the edge of compatibility). I followed the Create Your Own UPDI Programmer - Arduino Project Hub guide to make my programmer, though I swapped the capacitor with an 120Ω resistor between +5V and reset. Other jtag2updi guides should work, but I needed Arduino IDE compatibility which this firmware supports. 

Code:

*Photos coming soon