{"id":551687,"date":"2026-04-26T13:42:13","date_gmt":"2026-04-26T13:42:13","guid":{"rendered":"https:\/\/www.newsbeep.com\/uk\/551687\/"},"modified":"2026-04-26T13:42:13","modified_gmt":"2026-04-26T13:42:13","slug":"lightink-an-esp32-based-solar-powered-e-ink-smartwatch-with-up-to-10-months-of-battery-life","status":"publish","type":"post","link":"https:\/\/www.newsbeep.com\/uk\/551687\/","title":{"rendered":"LightInk &#8211; An ESP32-based, solar-powered E-ink smartwatch with up to 10 months of battery life"},"content":{"rendered":"<p>Daniel Ansorregui has developed LightInk, an open-source solar-powered E-ink watch inspired by 90s solar digital watches. It features a 1.54-inch e-paper display and supports Wi-Fi, Bluetooth, LoRa, and GPS, running on a 100mAh battery.<\/p>\n<p>The project integrates a custom low-quiescent-power design using a TPS63900 buck-boost converter, capacitive-touch input, and deep-sleep-driven firmware, along with ultra-fast partial e-ink updates (&lt;1 ms active time) and precise RTC timekeeping with drift calibration. It also supports solar-first operation (no dedicated charging IC) and dynamic power gating of peripherals, enabling around 9\u201310 months of operation on a small battery supplemented by solar power.<\/p>\n<p><a href=\"https:\/\/www.cnx-software.com\/wp-content\/uploads\/2026\/04\/LightInk.jpg\" rel=\"nofollow noopener\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-169353 size-medium\" title=\"LightInk\" src=\"https:\/\/www.newsbeep.com\/uk\/wp-content\/uploads\/2026\/04\/LightInk-720x480.jpg\" alt=\"LightInk - solar-powered E-ink watch\" width=\"720\" height=\"480\"  \/><\/a><\/p>\n<p>LightInk specifications:<\/p>\n<p>System-in-package \u2013 <a href=\"https:\/\/www.cnx-software.com\/2017\/08\/22\/esp32-pico-d4-system-in-package-combines-esp32-4mb-spi-flash-a-crystal-oscillator-and-passive-components\/\" rel=\"nofollow noopener\" target=\"_blank\">ESP32-PICO-D4 SiP<\/a><\/p>\n<p>CPU \u2013 Dual-core processor @ 240MHz<br \/>\nMemory \u2013 520KB SRAM<br \/>\nStorage \u2013 4MB flash<br \/>\nWireless \u2013 2.4 GHz Wi-Fi 4 up to 150 Mbps and Bluetooth 4.2 BR\/LE connectivity<\/p>\n<p>Display \u2013 1.54-inch 200\u00d7200 B\/W e-Paper panel (GDEH0154D67 or compatible)<br \/>\nAudio \u2013 10-15mm piezo electric disc speaker<br \/>\nConnectivity<\/p>\n<p>2.4 GHz 802.11b\/g\/n Wi-Fi 4 and Bluetooth 4.2 BR\/EDR via ESP32 SiP<br \/>\nLoRa via a Wio-SX1262 transceiver<br \/>\nGPS<\/p>\n<p>Misc<\/p>\n<p>Capacitive touch buttons utilizing the ESP32\u2019s internal touch pins<br \/>\n3V 2.0 mm circular mini vibration motor<br \/>\nLED light pins<br \/>\nRTC with manual drift calibration (targeting 1ppm, currently at 10ppm)<\/p>\n<p>Power<\/p>\n<p>TPS63900 buck-boost converter (1.8V to 5.5V, 75-nA IQ) operating dynamically at 2.6V\/2.9V<br \/>\nSolar cell input<br \/>\n100mAh battery<\/p>\n<p>Dimensions \u2013 TBD<br \/>\nEnclosure \u2013 3D printed<\/p>\n<p><a href=\"https:\/\/www.cnx-software.com\/wp-content\/uploads\/2026\/04\/ESP32-E-Ink-Smartwatch.webp\" rel=\"nofollow noopener\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-169372\" title=\"ESP32 E-Ink Smartwatch\" src=\"https:\/\/www.newsbeep.com\/uk\/wp-content\/uploads\/2026\/04\/ESP32-E-Ink-Smartwatch-720x461.webp.webp\" alt=\"ESP32 E-Ink Smartwatch\" width=\"720\" height=\"461\"  \/><\/a><\/p>\n<p>Daniel mentions that the project was started in 2019 using a <a href=\"https:\/\/heltec.org\/project\/wireless-stick-lite-v2\/\" rel=\"nofollow noopener\" target=\"_blank\">Heltec Wireless Stick Lite<\/a>. While platforms like the <a href=\"https:\/\/www.cnx-software.com\/2021\/02\/04\/watchy-pebble-like-smartwatch-with-e-paper-display-esp32-processor\/\" rel=\"nofollow noopener\" target=\"_blank\">SQFMI Watchy<\/a> provided a good starting point, Ansorregui focused on improving power efficiency and adding features like LoRa and solar support without increasing the size.<\/p>\n<p><a href=\"https:\/\/www.cnx-software.com\/wp-content\/uploads\/2026\/04\/Watchy-vs-LightInk-E-Ink-smartwatches.webp\" rel=\"nofollow noopener\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-169367 lazyload\" title=\"Watchy vs LightInk E Ink smartwatches\" alt=\"Watchy vs LightInk E Ink smartwatches\" width=\"720\" height=\"656\" src=\"https:\/\/www.newsbeep.com\/uk\/wp-content\/uploads\/2026\/04\/Watchy-vs-LightInk-E-Ink-smartwatches-720x656.webp.webp\"  data- data-eio-rwidth=\"720\" data-eio-rheight=\"656\"\/><\/a>Watchy vs LightInk<\/p>\n<p>He goes on to say that the main challenge in building an ultra-low-power ESP32 wearable is the boot process, as an ESP32 typically takes about 28 ms to boot and consumes several milliamps of power before doing any useful work. To reduce this overhead, Daniel uses the ESP32\u2019s wake stub, a function pointer in the RTC memory that allows the core to run code immediately upon waking, in microseconds, bypassing the flash entirely.<\/p>\n<p>By completely reimplementing SPI communication within the wake stub, the device can boot, send data, and update the display controller buffer in less than 1ms. The ESP32 is then immediately put back into deep sleep while it waits for the e-Paper display to refresh. This drastically reduces light-sleep power draw, extending battery life to an estimated 6 to 10 months on just a 100mAh battery.<\/p>\n<p><a href=\"https:\/\/www.newsbeep.com\/uk\/wp-content\/uploads\/2026\/04\/A-typical-GxEDP2-display-update-cycle-using-the-standard-Arduino-core-showing-the-massive-energy-ove.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-169351 lazyload\" title=\"A typical GxEDP2 display update cycle using the standard Arduino core, showing the massive energy overhead required during the initial ESP32 boot sequence\" alt=\"A typical GxEDP2 display update cycle using the standard Arduino core, showing the massive energy overhead required during the initial ESP32 boot sequence\" width=\"720\" height=\"296\" src=\"https:\/\/www.newsbeep.com\/uk\/wp-content\/uploads\/2026\/04\/A-typical-GxEDP2-display-update-cycle-using-the-standard-Arduino-core-showing-the-massive-energy-ove.png\" data-eio-rwidth=\"1195\" data-eio-rheight=\"492\"\/><\/a>A typical GxEDP2 display update cycle using the standard Arduino core, showing the massive energy overhead required during the initial ESP32 boot sequence<br \/>\n<a href=\"https:\/\/www.newsbeep.com\/uk\/wp-content\/uploads\/2026\/04\/Power-consumption-before-optimization-highlighting-the-significant-energy-draw-required-for-the-ESP3.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-169350 lazyload\" title=\"Power consumption before optimization, highlighting the significant energy draw required for the ESP32 to boot from flash memory prior to updating the display\" alt=\"Power consumption before optimization, highlighting the significant energy draw required for the ESP32 to boot from flash memory prior to updating the display\" width=\"720\" height=\"275\" src=\"https:\/\/www.newsbeep.com\/uk\/wp-content\/uploads\/2026\/04\/Power-consumption-before-optimization-highlighting-the-significant-energy-draw-required-for-the-ESP3.png\" data-eio-rwidth=\"1293\" data-eio-rheight=\"493\"\/><\/a>Power consumption before optimization, highlighting the significant energy draw required for the ESP32 to boot from flash memory prior to updating the display<br \/>\n<a href=\"https:\/\/www.cnx-software.com\/wp-content\/uploads\/2026\/04\/Power-consumption-after-implementing-the-RTC-wake-stub-completely-elemeneting-the-flash-boot-sequence-so-the-ESP32-instantly-goes-to-deep-sleep-while-the-display-refreshes.png\" rel=\"nofollow noopener\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-169354 size-medium lazyload\" title=\"Power consumption after implementing the RTC wake stub, completely elemeneting the flash boot sequence so the ESP32 instantly goes to deep sleep while the display refreshes\" alt=\"Power consumption after implementing the RTC wake stub, completely elemeneting the flash boot sequence so the ESP32 instantly goes to deep sleep while the display refreshes\" width=\"720\" height=\"308\" src=\"https:\/\/www.newsbeep.com\/uk\/wp-content\/uploads\/2026\/04\/Power-consumption-after-implementing-the-RTC-wake-stub-completely-elemeneting-the-flash-boot-sequenc.png\"  data- data-eio-rwidth=\"720\" data-eio-rheight=\"308\"\/><\/a>Power consumption after implementing the RTC wake stub, eliminating the flash boot sequence, so the ESP32 instantly goes to deep sleep while the display refreshes<\/p>\n<p>The hardware uses a single-sided PCB so the e-paper display can sit flat on the back, keeping the design thin and simple. The 3D-printed case has two parts (front and back) and holds all components in a compact layout. Additionally, to save power, the design removes high-power-consumption parts such as accelerometers and battery-charging ICs and relies on a solar cell to supply and maintain power.<\/p>\n<p>The LightInk is an open-source hardware project with the ESP-IDF firmware, EasyEDA hardware design files, and 3D printable case models available on <a href=\"https:\/\/github.com\/DarkZeros\/LightInk\" rel=\"nofollow noopener\" target=\"_blank\">GitHub<\/a>. Additional build instructions and project logs can be found on <a href=\"https:\/\/hackaday.io\/project\/205564-lightink\" rel=\"nofollow noopener\" target=\"_blank\">Hackaday<\/a>, where it was recently submitted for the Green Powered Challenge.<\/p>\n<\/p>\n<p>\ufeff<\/p>\n<p>Via <a href=\"https:\/\/www.hackster.io\/news\/the-lightink-watch-pairs-a-solar-panel-with-epaper-to-deliver-theoretically-infinite-battery-life-ac8c0fdec287\" rel=\"nofollow noopener\" target=\"_blank\">Hackster.io<\/a><\/p>\n<p><img loading=\"lazy\" alt=\"Debashis Das\" class=\"avatar avatar-100 photo lazyload\" height=\"100\" width=\"100\" itemprop=\"image\" src=\"https:\/\/www.newsbeep.com\/uk\/wp-content\/uploads\/2026\/04\/1777210933_713_3746a4b12bb7f9d6ad70fdf2c1886c0ee5dece45404f2945e5efceb71716ca73.png\" decoding=\"async\"  data-eio-rwidth=\"100\" data-eio-rheight=\"100\"\/><\/p>\n<p>Debashis Das is a technical content writer and embedded engineer with over five years of experience in the industry. With expertise in Embedded C, PCB Design, and SEO optimization, he effectively blends difficult technical topics with clear communication<\/p>\n<p>Support CNX Software! Donate via <a href=\"https:\/\/www.cnx-software.com\/donate-cryptocurrencies\/\" rel=\"nofollow noopener\" target=\"_blank\">cryptocurrencies<\/a>, <a href=\"https:\/\/www.patreon.com\/cnxsoft\" target=\"_blank\" rel=\"nofollow noopener\">become a Patron<\/a> on Patreon, or purchase goods on <a href=\"https:\/\/amzn.to\/3SXubZ0\" rel=\"nofollow noopener\" target=\"_blank\">Amazon<\/a> or <a href=\"https:\/\/s.click.aliexpress.com\/e\/_DmGIIRT\" rel=\"nofollow noopener\" target=\"_blank\">Aliexpress<\/a>. We also use affiliate links in articles to earn commissions if you make a purchase after clicking on those links.<\/p>\n","protected":false},"excerpt":{"rendered":"Daniel Ansorregui has developed LightInk, an open-source solar-powered E-ink watch inspired by 90s solar digital watches. It features&hellip;\n","protected":false},"author":2,"featured_media":551688,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17],"tags":[158037,105094,123191,11627,786,5289,32907,32908,26048,1147,4742,86,56,54,55,5824,26948],"class_list":{"0":"post-551687","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-gadgets","8":"tag-c-c","9":"tag-e-ink","10":"tag-epaper","11":"tag-esp32","12":"tag-gadgets","13":"tag-iot","14":"tag-lora","15":"tag-low-power","16":"tag-open-source","17":"tag-smartwatch","18":"tag-solar","19":"tag-technology","20":"tag-uk","21":"tag-united-kingdom","22":"tag-unitedkingdom","23":"tag-wearables","24":"tag-wireless"},"_links":{"self":[{"href":"https:\/\/www.newsbeep.com\/uk\/wp-json\/wp\/v2\/posts\/551687","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.newsbeep.com\/uk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.newsbeep.com\/uk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.newsbeep.com\/uk\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.newsbeep.com\/uk\/wp-json\/wp\/v2\/comments?post=551687"}],"version-history":[{"count":0,"href":"https:\/\/www.newsbeep.com\/uk\/wp-json\/wp\/v2\/posts\/551687\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.newsbeep.com\/uk\/wp-json\/wp\/v2\/media\/551688"}],"wp:attachment":[{"href":"https:\/\/www.newsbeep.com\/uk\/wp-json\/wp\/v2\/media?parent=551687"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.newsbeep.com\/uk\/wp-json\/wp\/v2\/categories?post=551687"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.newsbeep.com\/uk\/wp-json\/wp\/v2\/tags?post=551687"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}