All the code and materials is in Github: https://github.com/DarkZeros/LightInk
Checkout the features demo video:
And the power usage demo video:
This project started long time ago in 2019, with the idea to build a solar watch that can use LORA packets to communicate to a receiver at home. Back then i started with a Heltec Wireless stick lite and an external eink display.
Then I discovered "Watchy" https://watchy.sqfmi.com/ and immediately bought one, it didn't have what i wanted (sleek design, LORA, and solar), however i though it was a very good foundation.
Back then, i contributed to Watchy many patches to optimize the display as much as I could, nut at some point, that was not enough and new Hardware was needed.
Therefore i started creating my own board based on a DC-DC low quiscent current chip. After many tests and trials (with many failures), I managed to have a watch working, using 2.7V only (the eink and the ESP32 seem to not care running on 2.7V), and the battery was 2 months (instead of 1 month of Watchy)!
Also because the watchy buttons were a PITA to work with, I decided to use the touch function in the ESP32, and that work quite well i have to say (also makes the case smaller).
I kept doing changes to the firmware, and my new HW, etc, until I hit a wall. The ESP32 takes 28ms to boot, and that uses around 1mAs of current. About 60% of the total power was being used by the ESP32 just to boot (not to update or display anything).
This is when i had an idea, not boot the ESP32 at all, use a wakeup stub to run RTC code (wakeup stub). I implemented code to handle the SPI communication and to update the region of the display controller buffer. With this I could boot+send+update display in less than 1ms.
With this I finally managed to have a watch with battery running 9months (until I decommission it for a newer HW).
Since then I have polished the code, the case, added LORA (yeah!) even GPS (was a bad idea), and I am still building the project up.
But I think this project has good ideas (Touch, wakeup stub, eink driver) that can benefit the community so I would like to share it. And if possibly receive feedback from other people
Daniel