Background:
The goal was to create a nicely looking E-Paper Clock that will show the current time all the time, so a refresh every minute is needed.
This goal was reached by implementing a custom LUT(Look Up Table) driving the E-Paper display as well as implementing an algorithm that will only update the changing pixels of the E-paper display. Every hour the screen will be fully refreshed to prevent ghosting or burn in.
The optimized E-Paper driving plus the good deep sleep of the nRF52832(including active Bluetooth/BLE and 500ms advertising interval) ends up at an average of 65uA deep sleep current!
From the calculations this should reach over a year of runtime on a single 18650 Cell, and by now this project is fully tested, more than a year of runtime can be reported :)
Since the main goal was reached no further software improvements where done after that :( by now the Triink is on my desk and is actually used to show the time, every 3 month or so it is needed to connected to it via the D6Notification app to set the time as it is drifting by a few minutes.
The Screen itself is out of an Old E-Paper Price Tag and is named: WF00290BF33 the code and LUT is very much custom for that particular screen but can be adapted to any other screen if wanted.
BLE Connection:
The Android app D6Notifications can be used to set the time and also to implement further modes like notifications by utilizing the Display or Beeper
https://play.google.com/store/apps/details?id=com.atcnetz.de.notification&hl=en&gl=US
The app DaFlasher can be used to flash a new Firmware OTA to the Triink
https://play.google.com/store/apps/details?id=com.atcnetz.paatc.patc&hl=en&gl=US
Assembly:
Build LOGs:
Some project logs from Twitter:
https://twitter.com/atc1441/status/1436733610414026755
https://twitter.com/atc1441/status/1430244457396506627
Building your own Triink:
See the "Build Instructions" if you want to build your own Triink