GithubHelp home page GithubHelp logo

smart_watch_mk2's Introduction

Smart wrist watch

Display on

Video demo (click on the thumbnail to play the video):

DIY Watch YT demo

The name is ironic as the watch can only display time and can't do anything else, doesn't even have an alarm feature.

The idea was to take a CPU and combine it with obsolete display technology, in this case Vacuum fluorescent display (VFD). The IVL2-7_5 display has a very nice glow, which is for me impossible to capture with a camera, the neon-like glowing digits stand out in person.

Display off

Code

The watch just displays the time and doesn't do anything else, therefore the code is fairly trivial and currently kept in a handful of files:

It requires CodeVisionAVR C compiler for compilation (this will be fixed in the future when it will be converted to a GCC project).

Resource utilization

AVR Mega88 PA resources Used by this project Utilization
1024 bytes of RAM 60 bytes used of the allocated 128 byte stack + 24 bytes global variables 14%
8 KB 3096 bytes 38%
512 bytes of EEPROM 0 bytes 0%

Even when the AVR Mega88 doesn't have many resources, still most of them are free and available for future features.

Compilation

Currently doesn't support GCC or any other free tools, these files need to be imported as a CodeVisionAVR project. I have a TODO to fix this.

Schematic

The MCU can turn on/off the DC2DC section which produces the higher voltage needed for the VFD IVL2-7_5 to operate, this significantly decreases power consumption, because even at idle the DC2DC consumes significant current (from a battery-powered perspective). The filament heating can be turned off separately as well.

The RTC DS3231M chip connected through I2C keeps track of the current time when the MCU is in sleep mode.

The DC2DC calculations are based on MC34063A chip. I'm using NCP3064 which is a similar device, but with extra features such as the ability to turn it off through a pin and a higher max frequency (150kHz instead of 100kHz).

The MAX6920AWP officially is not an SPI device but has DataIn DIN and DataClk CLK inputs. Connecting it as SPI peripheral and sending it two 8-bit SPI data packets works well. The device will truncate the higher (12-15) bits while having useful data in lower bits (0-11) as it's just a 12-bit device, but my SPI peripheral can only send 8-bit packets.

schematic

TODO

  • Add protection to sensitive corners of the glass VFD
  • Add a strap so it can be used as a wristwatch
  • Switch from CodeVisionAVR C compiler to GCC compiler
  • Replace the bundled AVR C HAL with C++ implementation
  • Add vibration motor to function as an alarm
  • Try if the heating filament can be used for capacitive touch sensing
  • Switch from AVR mega MCU to a ESP32-C3
  • Then attempt to display Twitter messages. The 7-segment display is limited, but can 'render' alphanumerical characters.

smart_watch_mk2's People

Contributors

antonkrug avatar truhlikfredy avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.