An Open Firmware For LILYGO’s E-ink Smart Watch

The world’s first quartz wristwatches were miles ahead of electric and mechanical wristwatches by most standards of the time, their accuracy was unprecedented and the batteries typically lasted somewhere on the order of a year. Modern smart watches, at least in terms of battery life, have taken a step backwards — depending on use, some can require daily charging.

If you’re looking to bridge the gap between a day and a year, you might look into a smart watch with an e-ink display. One option is the ESP32-based LILYGO T-Wrist. Of course, it’s not a smart watch without some software to run on it, which is where qpaperOS comes in.

Developed by [qewer33], this open source firmware for the T-Wrist is designed to get the most out of the battery by updating only once per minute. With a 250 mAh battery, it should last about five days on a charge. Of course, with the power of the ESP32 comes a whole host of other features including GPS, a step counter, and a weather display, although since the firmware is still under development, some of these features have yet to be implemented.

With all of the code available, qpaperOS could make an excellent platform from which to build your own smart watch around. Or perhaps you could chip in and add some of the features on the whislity. The ESP32 is a capable and versatile chip, even capable of playing popular 8-bit video games, although we’re not sure this functionality would fit in a smart watch and preserve battery life at the same time.

21 thoughts on “An Open Firmware For LILYGO’s E-ink Smart Watch

  1. This is basically just getting time from the RTC and printing it then going to sleep. Everything else is just static text, no step counter, no weather, nothing else, just time :)

    It’s fine for what it is and what it could be, but right now it’s not much to write home about.

  2. Nice dev board, but qpaperOS is a project which was just published yesterday, so saying that the firmware is under development is a serious understatement. Also, it is created by a student, and is written in Arduino instead of something sensible. As much as I like the idea of an open-source e-ink smartwatch, this doesn’t give me enough optimism to actually put in my time into it.

    1. What would be your recommendation for a sensible ESP32 development framework? I personally find ESP-IDF unnecessary and unintuitive unless your project requires access to low level RTOS functions and configuration. And Arduino as a platform is rather mature and stable with a lot of libraries developed for it by the community. And it’s certainly a much more sensible option than using half baked python interpreters on an MCU (Micropython, Circuitpython etc.)

      1. For what you are doing, Arduino is not a completely bad choice for now, as you can quickly prototype something and get yourself up to speed. Interpreters are definitely not a good choice for your project, as you probably want to optimize for battery life. My dislike for Arduino comes from the fact that its intuitiveness has a cost – it hides too much, which makes doing some stuff harder than it should be and is a source of inefficiencies. Don’t dismiss RTOS too quickly – it may help structure the project when you decide to do more features expected from a smartwatch, like notifications.

        Anyway, the most important thing is that you keep at it, and make this a fun learning experience.

    2. Arduino is more sensible than something more low level like ESP-IDF. In an open source project (especially a hobbyist one) the approachability and maintainability of the code is more important than having the absolute optimal performance.

      A student creating an open source firmware for an open source watch with the tools they’re comfortable with makes me much more optimistic about the future of the project. Don’t gate-keep open source development. Open means open.

      1. I have no doubt that Arduino can be used to build useful solutions – stuff like ESPHome and Tasmota come to mind. And it does lower barrier to entry, and provides many useful libraries and device drivers (quality varies). But I don’t believe Arduino helps maintability; a lot of Arduino code I saw was basically spaghetti, and Arduino itself doesn’t really provide tools for structuring code.

    1. I was basically thinking the same thing… I get that this is open source but surely there’s something wrong with the battery life estimate? The Time Steel had the same size battery and yes you absolutely got 10 days or more with regular use (I still do).

      1. The Pebble had an entire engineering team, a custom built board, and professionally developed firmware, with a for-profit company backing them all. This device is using off-the-shelf main board, battery, auxiliary devices, and it’s programmed by a student in his spare time. It’s like comparing a Tesla with an electric go-kart made by a kid.

        As I told my daughter one of those days, “it’s better to show up in school with a neat store bought calculator, or a crude one that you built yourself that does the job?”

        This clock is ugly, large, have several limitations, but I would surely wear one on college if I was 20 years younger…

  3. Speaking of battery life only, this is nonsense (please allow me to use the term).
    If you REALLY want a huge battery life, dependable and maintenance-free watch that can withstand swimming, dirt, dust throughout the years and it is lightweight and cheap, then there are not many options:

    Casio W-720-T (or similar Casios)

    Tested (patiently, by me) battery life > 15 YEARS (yes, that’s years!)

    No mechanism maintenance required, like mechanical watches, it is just a trouble-free watch for 15 years.
    The only problem is the rubber strap which needs replacement after a few years.
    I replaced mine with a Casio stainless steel bracelet from a Casio A158WA-1DF (many other models fit) which fits perfectly, and I got piece of mind virtually for ever.

    This watch is so dependable, that the only real problem I find from time to time, is that I get bored to wear the same watch for so many years!

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.