Smart-watches are becoming the next big thing, but with increased miniaturization it is becoming impossible to build these sorts of devices yourself. This project aims to provide a “smart-watch” which can be built from readily available components (eg. from element14, digikey, etc.), and able to be soldered by hand. Of course, processing power must be sacrificed, but who needs a camera and 60FPS graphics on a watch???

I have been working on this watch since early 2013, and it has come a long way! It is still very much a work-in-progress though, and I am working on another hardware revision which will fix all the hardware bugs. (you can read more about those from my previous posts on the project)

You can find more info and progress on my hackaday.io project page: http://hackaday.io/project/2263-OSHWatch

Features

ClockClock
Kernel InfoKernel Info
AccelerometerAccelerometer

The watch features a PIC24F microcontroller and a 128x128 RGB OLED display, along with an accelerometer and magnetometer. The goal is to have both USB-HID (driverless) and Bluetooth 4.0 LE connectivity, so I can sync the calendar quickly and easily.

Working features

  • Real-Time Clock - It can tell the time!
  • University Timetable - I can tell when and where my next class is
  • USB-HID comms and bootloader
  • Buttons
  • Basic accelerometer logging
  • Battery charging & monitoring
  • Anti-aliased font drawing (Just grayscale at the moment, no “clear-type”)

Future features

  • Accelerometer ’tap-to-wake'
  • Magnetometer compass
  • Bluetooth 4.0 LE
  • Alarm clock with peizo buzzer
  • Desktop GUI for updating the calendar

Hardware

The hardware is a 2-layer design utilizing SMD components, and is fully open-source in case you’d like to build your own. Schematics and PCB layout were done using Altium, which unfortunately is quite expensive, but they recently announced they would be releasing a free version sometime in the future!

Known Issues (Rev 1)

  • Microcontroller doesn’t fit the PCB! see: post
  • VCC isn’t regulated

Known Issues (Rev 2)

  • Watch sometimes resets when waking up (possibly supply decoupling issues)
  • USB comms task sometimes doesn’t go to sleep (drains the battery)
  • OLED display has some weird ghosting artifacts
  • In the schematic I got the connector around the wrong way, so the OLED is on the opposite side of the PCB than I wanted.
  • I didn’t assign the OLED data lines to the PIC24’s TFT driver, so I can’t make use of it and drawing performance is less than what it could be.
  • Bluetooth 4.0 is untested
  • There are a few minor “bodges” on the PCB required to make it function correctly

Future (Rev 3)

I am working on a revision 3, which will fix all of the above issues and make the PCB much more compact! Stay tuned… (Subscribe to the RSS feed to keep up-to-date)

Firmware

The firmware is available on my github: jorticus/zeitgeber-firmware You will need the MPLAB-X IDE, the XC16 free compiler, and the Microchip Application Framework. Alternatively you can download the bootloader & firmware binaries here: oshwatch-binaries.zip

Features:

  • Custom RTOS, with power saving
  • Custom graphics library, with anti-aliased text drawing
  • HID bootloader

Photos

Footnotes

All design files and source code is released under the OSHW License . ie. You may modify, distribute, and make the design, as long as you provide attribution.

comments powered by Disqus