Is there a clock software

Welcome to

Welcome to OpenWatch!

What is OpenWatch?

OpenSwatch is a digital wristwatch that is published on this site under a free license.

The goal of the Open Hardware project is to provide a platform for those who like to wear a watch that they can program themselves and adapt to their needs. All the necessary documents such as drawings, circuit diagrams, parts lists and program codes can be found on the following pages.

What are the main components of OpenWatch?

OpenWatch consists of a mechanical watch case made of stainless steel, electronics with a microprocessor and an OLED display. The ATmega168 microprocessor from ATMEL in combination with an SMD clock crystal gives the time base and controls the display. The 1-inch Pictiva (TM) display from OSRAM is freely programmable with a resolution of 96 × 36 pixels.


Here is a visualization of the OpenWatch using Cinema4D.

Circuit diagram

The circuit diagram of OpenWatch shows the processor ATmega168 with the 32.768 kHz clock crystal in the center. The clock tackles the time base (Real Time Clock) of the processor. The processor clock itself is generated by the internal RC oscillator. The processor can be programmed via the six-pole pin header (ISP). I use the in-circuit programmer AVRISP mkII from ATMEL. The display is controlled via the SPI lines of the processor (MOSI, SCK and SS). The MISO line is not connected because the display can only be written and not read. In addition to the 3V operating voltage from the lithium battery (VDD), the display also requires a 12 V display voltage (VCC). This is generated by a switching regulator in the display driver. This requires an external circuit with a coil (L1), a Schottky diode (D1) and a MosFet transistor (Q1). IC2 is an “Ambient Light Sensor” that can be used to control the brightness of the display.



View of the fully assembled electronic print with display

Circuit board

All layers / assembly layers


The software for the OpenWatch is written in C for the ATmega168 microcontroller from ATMEL.
I work on a MacMini and have gathered the whole programming chain for Mac OS X:
I compiled the code with the AVR-GCC compiler. Link MacPack
I programmed the chip directly on the print using the AVR ISP MKII. To transfer the code to the in-circuit programmer, I use the AVRDUDE uploader (also in the MacPack) together with the graphic interface AVR8_Burn-O-Mat.
The program for operating the watch is still a bit rudimentary. It mainly consists of a real time clock and a display driver. I created these two code parts based on the following templates:
Great site from Jens Dietrich with a lot of useful information and a good code, which I mostly adopted and adapted to the ATmega168 and my layout. I have also added a new, larger font for the minutes and hours display.
I got the actual clock code from an application note directly from Atmel. I have also rewritten this code for the ATmega168 and integrated it into my program.
Here are the source files from OpenWatch:
And this is what OpenWatch looks like with the clock software:
In sleep mode, which is activated after a time display of 20 seconds, the electronics need less than 20uA and can therefore be operated on a battery for years.

Watch case

The watch case is still in development.

View of the watch case with bracelet from OpenWatch.

The drawings were created on SolidWorks.

Exploded view of the watch case.

First prototype - housing manufactured on a 3D printer (Fused Deposition Modeling)

Handcrafted, mechanical housing

Rapid prototyping housing

I tested the housing I built myself (video will follow). Thanks to rapid prototyping, I was now able to finish the original case. It was created in 2 hours on a Fused Deposition Modeling (FDM) machine. Now install the electronics again and the second clock is ready.

These are the finished production drawings of the watch case:


Drawing of the housing


Drawing of the lid