Wednesday, June 23, 2010

Introducing DWex - Duino Watch for experimenters

This watch is built around a 3V-powered ATmega328P running at 8MHz.
Time is shown using 2 circles of 12 LEDs, in a manner similar to an analog watch (with hands). Minutes are indicated on the exterior circle of green LEDs; hours are indicated on the interior circle of red LEDs, as shown in this video.

To make the watch practical (that is, wearable), the battery life should be at least in the order of months. This can only be achieved by keeping the processor in sleep mode most of the time. At the push of a button the microcontroller becomes active and lights up the appropriate LEDs for 3-5 seconds; then it goes back to sleep.

The diameter of the board is 4.8mm (1 7/8 inches), determined mainly by the size of the coin batteries.
The thickness of the assembled board is 8mm (a little less than 3/8").

DS1337 real time clock chip keeps the time. It was chosen over DS1307 because it has alarm capabilities. This allows the microcontroller to wake up on an interrupt when the alarm is triggered.

The watch is powered by two 3V coin batteries (CR2032) connected in parallel and mounted on the back of the board. Their total capacity is 450mAh (2 x 225mAh). They should last about 3 months of "normal" use (pressing the "display" button several times an hour) based on the sleep mode consumption of around 120microAmps and on the "active" consumption (LEDs on) of 12mA for 5 seconds at a time.

Most of the components are surface mounted. Both ICSP6 and FTDI connectors are on board. This would allow it to be used as a miniature Arduino (with on-board RTC ), for other-than-watch purposes.

Schematics and board layout are shown below (I will publish the Eagle files soon, after a thorough revision).

An original feature of the watch is the single push button used for both showing the time and setting up the time. Basically, the first button push will wake up the controller from the sleep mode and light up the appropriate LEDs. If the user presses the button for a longer period, the LEDs are activated in sequence, simulating the rotation of minutes and hour hands. When the desired time is reached, the user releases the button, thus setting a new time.

The source code can be downloaded here.

An interesting challenge will be to find (or design and make) a proper case. Ideally, it would resemble the black anodized machined aluminum case of the Nixie watch. (But then, the button should be replaced with a tilt switch as well.)

More details to come.

Related postings:


  1. Very cool watch design. I also like that it can be used as an arduino.

    Checkout my arduino projects here:

    And follow me on @ElectronicsFun

  2. 48 mm diameter is cool size.

  3. Great project!

    How many GPIOs are available for further experimenting?

    No more than 2 leds are active every time, so I guess one can multiplex them and possibly use 12+60 LEDs (4+6 pins) instead of 12+12.

  4. Urgentissimo, see this post:, point 6.

    I don't know about the LED multiplexing. Do you mean by modifying the schematics?