Skip to the content
PCBKitNew board
2 layers40.1 × 38.2 mmWatch, the printed circuit board in 3D

PCB designs and firmware for a wearable watch that displays 24 hr time in binary

Size
40.1 × 38.2 mm
Copper layers
2
Thickness
1.6 mm
Parts
27
Nets
35
Pads
104
Tracks, vias
354, 52
Pours
1
Routed
Yes
KiCad
KiCad 7 (file 20221018)
Created
14 Jul 2024
Updated
7 Aug 2024

Overview

Watch is an open-source printed circuit board by dividurga, from the dividurga/BinaryWatch repository on GitHub. It is a 2-layer board of 40.1 × 38.2 mm with 27 parts on 35 nets, routed with 354 tracks and 52 vias.

It is built around the ATMEGA328P-AU, DS3231MZ+ and HU2032-LF. Its parts include 13 diodes, 7 resistors, 3 ICs, 2 capacitors and 1 connector. It belongs with the wearables boards and the AVR (ATmega, ATtiny) boards of this library.

Main components

3

README

README.md

Binary Watch Project

Welcome to the Binary Watch project! This repository contains all the files related to the design and development of binary watches using STM32 and ATMega328p microcontrollers. A blog post detailing this can be found at https://divija.info/

Project Overview

The Binary Watch is designed to display the time in a "binary but base 10 format". This means each digit of the time in base 10 format is displayed in binary on an LED matrix.

For example, 17:15 is expressed on the LED matrix as:

0 0 1 0 1 0 1 0 0 1 1 1 1

where 1 = LED ON and 0 = LED OFF

Repository Structure

watch_STM32

This directory contains the design and firmware for the STM32-based binary watch.

watch_ATMega328p

This directory contains the design for the ATMega328p-based binary watch.

The firmware from the STM32 version can be modified to work for this hardware. Use the arduino versions of all the libraries and an RTC library for the DS3231 RTC chip

Setting the Time

  • When the code is uploaded for the first time, the RTC time is set to the compile time.
  • The current time is displayed on the LED matrix in binary format.
  • Everytime you reset or change the battery, the time is set to midnight. This choice is purely aesthetic; I would prefer that my watch always resets to a defined time instead of a random compile time everytime setup() runs. This is achieved by storing a flag in the EEPROM.

Contributing

Contributions are welcome! I'm still struggling with getting the external oscillator to work with my setup. I think the issue is with my choice of extenal capacitors - they should be 15pF instead of 1pF. The RTC section of the code works perfectly fine on an external Nucleo board, so I think it is a hardware issue. If you have any suggestions or improvements, please open an issue or submit a pull request.

Parts

27
QtyValueFootprintReferences
13LEDLED_SMD:LED_1206_3216MetricD1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13
4100Resistor_SMD:R_1206_3216MetricR4, R5, R6, R7
24.7kResistor_SMD:R_1206_3216MetricR1, R2
10.1uCapacitor_SMD:C_1206_3216MetricC2
110kResistor_SMD:R_1206_3216MetricR3
11ufCapacitor_SMD:C_1206_3216MetricC1
1ATmega328P-APackage_QFP:TQFP-32_7x7mm_P0.8mmU2
1Conn_01x05_Pinconnector:TestPoint_Pad_2.0x2.0mmJ1
1DS3231MPackage_SO:SOIC-16W_7.5x10.3mm_P1.27mmU1
1HU2032-LFbattery_holder_metal_smd:BAT_BAT-HLD-002-SMT-TRU3
1SW_SPSTSwitch:SW_TL3342F160QGSW1

Questions

How big is the Watch PCB?

It measures 40.1 × 38.2 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Watch use?

27 parts, built around the ATMEGA328P-AU, DS3231MZ+ and HU2032-LF. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Watch KiCad files?

From the dividurga/BinaryWatch repository on GitHub, at the commit this page was made from: the board is watch_atmega328p/watch.kicad_pcb and its schematic watch_atmega328p/watch.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Watch design in my own project?

Its repository states no licence, so its author keeps all rights: ask dividurga before reusing the design.

Similar boards

  • 4 layers37 × 64.5 mmIEMU Sensor Core, the printed circuit board in 3D

    IEMU Sensor Core

    ponderononon/IEMU_DevBoards

    Kicad Schematic Files for the BASE and SENSOR Development Boards (Layout in Progress)

    27 parts
  • 4 layers49.5 × 21.6 mmI protect2.0, the printed circuit board in 3D

    I protect2.0

    PsVenom/i-Protect

    PCB files for an old project of mine

    30 parts2
  • 2 layers38.8 × 46.4 mmSmartwatch, the printed circuit board in 3D

    Smartwatch

    SydneyDith/Heartrate-monitor-Smartwatch---Electronics-Club

    Led the development of a heartrate monitor smartwatch based on the ATmega328P microcontroller with a group of 4. Utilized several sensors to send/recieve data via I2C communication protocol uising C based Arduino IDE.

    38 parts1
  • 2 layers93.8 × 64.4 mmClock, the printed circuit board in 3D

    Clock

    Josse078/Clock-PCB

    A custom PCB design for a digital clock, designed and routed in KiCad, running on Arduino.

    12 parts
  • 2 layers221 × 221 mmWordclockPCB, the printed circuit board in 3D

    WordclockPCB

    maelgui/wordclock

    This repository contains every files needed to build the clock

    159 parts
  • 2 layers74 × 124.5 mmFluke 87v clock v1, the printed circuit board in 3D

    Fluke 87v clock v1

    miekush/fluke-87v-alarm-clock

    ATMEGA328P based Alarm Clock PCB for the Fluke 87V

    74 parts
  • 2 layers121.3 × 139.1 mmLed clock, the printed circuit board in 3D

    Led clock

    stevenrkeyes/led_clock_hardware

    328 parts