This project took long, much longer than expected.

Starting with Arduino, I learned how eInk displays works and how to speed up the refresh.  That was not enough for me, to get it really power-saving I decided to use 8-bit PIC to control the Arduino Pro Mini. Now - when its in stand-buy  - its just using "no power". Power saving is so difficult - so I decided to let my clock check for light, and in the dark it gets into sleep-mode .. and with light..it wakes up so quickl (watch the video below). In addition, you can use a touch-sensor to wake-it up.. and much more..

This project is not recommended to "copy" -  I just wanted to do it this "my way" and because....I could do it.

PCB

Actually I studied Electrotechnical Engineer,  so used a some transistor circuit to better control the power of the eInk display and ..and it go so many wires. So I decided to learn how to build my own PCB.

The PCB layout is part of the PCB Frizzing File on GitHub

Happiness

It was just a great moment, once everything was soldered together .. AND.. it showed the time!

Technical Details

  1. 2.7 ePaper from EmbeddedArtist to display the text
  2. Arduino Pro Mini to manage the logic, controll the display and paint the text
  3. PIC16LF1824 (low power consumption) to control the LED Light (giving some light to the display at night), the capacitive switch to display the time in HH:MM format (not in text format)
  4. A very precise clock DS3232RTC to have the precise time (with separate battery)

Cool Features Implemented

Reading below, you will how -why it is the MCW. Try to beet it!

  1. Time is displayed as text in German, e.g. "Es ist Viertel vor Acht" and updates every 5min
  2. Pro Mini is set to deep sleep mode and wake up by DS3232RTC
  3. In addition using a PIC16(L)F1824 to control sleep mode, light-on / light-off and the Arduino (must be the MOST COMPLICATED WATCH)
  4. When touching the capacitive sensor, time is immediately displaying the time in HH:MM format
  5. Displaying the time in HH:MM is using writing in blocks to the eInk-Display and a tuned writing algorithm makes the display running faster
  6. When it is dark outside (so nobody can read the time anyway) the clock goes into very deep sleep mode, woken up by the PIC when light goes on (it wakes up quick- see the video below)
  7. Low memory of the Pro Mini requires a new self developed memory saving graphics library - that is not using a buffer, but checks for each pixel if black or write and then writes directly to the display.
  8. Character bitmaps are RLE encoded and stored in flash memory to save RAM
  9. Special circuit disconnects the e-Ink display from power during sleep mode - as the display is always consuming current, even when switched off - really!
  10. Time can be set-up by long-pressing the capacitive button and going into "time set mode" using the HH:MM minute quick display

Technical Docs

Good to remember !

Latest News
  • Proudly presents….it becomes a CASE! (14.12.2019)

    After a long time the MCW was standing outside in the cruel world – now I found its time for a real home  – lets build it a home with 3D Printing.

    I have used Tinkercad before, for my calendar (check out this picture)

    Now, the MCW Watch-Case is more complicated, because – when I build the watch and the PCB – I did not think about the case. Hence -the case had to be build around the watch.

    To get this done, I first measured all components of the MCW, starting from the e-Ink Display, the PCP, battery..everything. And build the case around it:

    Actually, for me that was the only way to visualize the full result. I want to glue the different parts together, and fill in all components from the top.  Not sure, if I considered everything 🙂

    For ordering I used http://www.treatstock.com

    Its important that you should export each part separately from Tinkercad and upload as STL file to the order – after export into STL its not possible to get the files separated.

    My order now is in Treatstock, 17€ including shipping – cant wait for the result:

    How will the final result look like: