{"id":4743,"date":"2025-12-01T13:54:17","date_gmt":"2025-12-01T13:54:17","guid":{"rendered":"https:\/\/www.creatingsmarthome.com\/?p=4743"},"modified":"2025-12-01T14:13:47","modified_gmt":"2025-12-01T14:13:47","slug":"home-assistant-using-seeed-studio-reterminal-e1001-as-home-assistant-dashboard","status":"publish","type":"post","link":"https:\/\/www.creatingsmarthome.com\/index.php\/2025\/12\/01\/home-assistant-using-seeed-studio-reterminal-e1001-as-home-assistant-dashboard\/","title":{"rendered":"Home Assistant: Using Seeed Studio reTerminal e1001 as Home Assistant Dashboard"},"content":{"rendered":"\n\n\n<p>A few years ago, I embarked on a <a href=\"https:\/\/www.creatingsmarthome.com\/index.php\/2022\/06\/01\/e-ink-dashboard-for-home-assistant\/\" target=\"_blank\" rel=\"noreferrer noopener\">project to build a dedicated e-ink dashboard for Home Assistant<\/a> using the LilyGo 4.7\u201d display. It was a fun project, but the screen real estate was always just a&nbsp;<em>little<\/em>&nbsp;too tight for everything I wanted to display.<\/p>\n\n\n\n<p>Today, I\u2019m revisiting that concept with a significant upgrade. I\u2019m testing the brand new&nbsp;<strong><a href=\"https:\/\/www.seeedstudio.com\/reTerminal-E1001-p-6534.html\" data-type=\"link\" data-id=\"https:\/\/www.seeedstudio.com\/reTerminal-E1001-p-6534.html\" target=\"_blank\" rel=\"noreferrer noopener\">Seeed<\/a><a href=\"https:\/\/www.seeedstudio.com\/reTerminal-E1001-p-6534.html?sensecap_affiliate=XfIKHZY&amp;referring_service=link\" data-type=\"link\" data-id=\"https:\/\/www.seeedstudio.com\/reTerminal-E1001-p-6534.html\" target=\"_blank\" rel=\"noreferrer noopener\"> <\/a><a href=\"https:\/\/www.seeedstudio.com\/reTerminal-E1001-p-6534.html\" data-type=\"link\" data-id=\"https:\/\/www.seeedstudio.com\/reTerminal-E1001-p-6534.html\" target=\"_blank\" rel=\"noreferrer noopener\">Studio reTerminal e1001<\/a><\/strong>. I\u2019ll be porting my original dashboard to this spacious 7.5\u201d display to see if it\u2019s the ultimate wire-free solution for smart home control.<\/p>\n\n\n\n<p><em>Disclaimer: I\u2019ve receive the tested device for free on reviewing purposes, but as always, the opinions are 100% my own and this does not affect the product review<\/em>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What is the reTerminal e1001?<\/h2>\n\n\n\n<p>Unlike many DIY e-ink components that arrive as bare ribbon cables and fragile glass, the e1001 feels like a finished product. It is powered by the robust <strong>ESP32-S3<\/strong> and offers a complete package for developers and smart home enthusiasts.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Specifications at a Glance<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>MCU: <strong>ESP32-S3<\/strong><\/li>\n\n\n\n<li>Memory: <strong>8MB PSRAM<\/strong><\/li>\n\n\n\n<li>StoragE: <strong>32MB Flash + MicroSD Slot<\/strong><\/li>\n\n\n\n<li>Display: <strong>7.5&#8243; Monochrome E-ink<\/strong><\/li>\n\n\n\n<li>Resolution: <strong>800 x 480<\/strong><\/li>\n\n\n\n<li>Battery: <strong>2000mAh<\/strong><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Hardware &amp; Build Quality<\/h2>\n\n\n\n<p>The first thing you notice when unboxing the e1001 is that the package contains everything you need to get started immediately, including desk stand support and usb-c cable.<\/p>\n\n\n\n<p>What surprised me the most (positively), is the build quality. The device features a&nbsp;<strong>sturdy metal framing<\/strong>, meaning no external housing or 3D printing is required to make it look presentable. It feels premium in the hand and looks great on a shelf. It also offers versatile mounting options straight out of the box:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Wall Mountable:<\/strong>&nbsp;Perfect for a permanent information hub.<\/li>\n\n\n\n<li><strong>Table Stand:<\/strong>&nbsp;Included in the box, allowing you to place it on a desk or nightstand.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">ESPHome &amp; Battery Life<\/h2>\n\n\n\n<p>For Home Assistant users, the software experience is just as important as the hardware. The reTerminal e1001 shines here because it can be flashed with&nbsp;<strong>ESPHome<\/strong>&nbsp;straight out of the box &#8211; no modifications needed. <\/p>\n\n\n\n<p>Because e-ink displays only consume power when refreshing the image, the battery life potential is massive.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Efficiency:<\/strong>&nbsp;With a proper update cycle (e.g., deep sleeping between updates), the device can operate for&nbsp;<strong>2 to 3 months on a single charge<\/strong>.<\/li>\n\n\n\n<li><strong>Wire-Free:<\/strong>&nbsp;This allows you to place the dashboard anywhere in your home without worrying about running power cables.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Porting the Dashboard: From LilyGo to Seeed<\/h2>\n\n\n\n<p>I decided to convert my previous Home Assistant dashboard project for this new hardware. While the logic remains similar, there were a few technical hurdles to jump over during the migration.<br><br><em>Just here for the code? Check the <a href=\"https:\/\/github.com\/kotope\/esphome_eink_dashboard\">GitHub project page<\/a>.<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"960\" height=\"723\" src=\"https:\/\/www.creatingsmarthome.com\/wp-content\/uploads\/2025\/11\/PXL_20251129_143807263.jpg\" alt=\"\" class=\"wp-image-4772\" srcset=\"https:\/\/www.creatingsmarthome.com\/wp-content\/uploads\/2025\/11\/PXL_20251129_143807263.jpg 960w, https:\/\/www.creatingsmarthome.com\/wp-content\/uploads\/2025\/11\/PXL_20251129_143807263-300x226.jpg 300w, https:\/\/www.creatingsmarthome.com\/wp-content\/uploads\/2025\/11\/PXL_20251129_143807263-768x578.jpg 768w\" sizes=\"auto, (max-width: 960px) 100vw, 960px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">1. Driver Changes, spi &amp; i2c<\/h3>\n\n\n\n<p>First change in the code was the display library. This unit appears to use a Waveshare display driver, which required swapping out the display component in the YAML configuration compared to the LilyGo.<\/p>\n\n\n\n<p>SPI and I2C GPIO needs reconfiguring also.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># define SPI interface\nspi:\n  clk_pin: GPIO7\n  mosi_pin: GPIO9\n\n# define I2C interface\ni2c:\n  sda: GPIO19\n  scl: GPIO20\n  scan: false\n\ndisplay:\n  # reTerminalE1001\n  - platform: waveshare_epaper\n    id: epaper_display\n    model: 7.50inv2\n    cs_pin: GPIO10\n    dc_pin: GPIO11\n    reset_pin:\n      number: GPIO12\n      inverted: false\n    busy_pin:\n      number: GPIO13\n      inverted: true<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">2. Resolution &amp; Coordinates<\/h3>\n\n\n\n<p>Here is the trade-off: While the screen is physically larger (7.5&#8243; vs 4.7&#8243;), the pixel density is different. The resolution is&nbsp;<strong>800&#215;480<\/strong>.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>This meant I had to recalculate some of the&nbsp;<code>x<\/code>&nbsp;and&nbsp;<code>y<\/code>&nbsp;coordinates for my sensors and text.<\/li>\n\n\n\n<li>You actually have slightly less &#8220;pixel density&#8221; to work with than some smaller, high-res screens, so bold fonts and high-contrast UI elements work best here.<\/li>\n<\/ul>\n\n\n\n<p>Otherwise the draw code and syntax is the same. Just pass the elements to draw along with coordinates.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. Battery Monitoring<\/h3>\n\n\n\n<p>The method for reading battery voltage on the e1001 differs from the LilyGo, requiring a code adjustment to ensure the battery percentage reported to Home Assistant is accurate.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\noutput:\n  - platform: gpio\n    pin: GPIO21\n    id: bsp_battery_enable\n\nsensor:\n  - platform: adc\n    pin: GPIO1\n    name: \"Battery Voltage\"\n    id: batt_volt\n    update_interval: 60s      \n    attenuation: 12db\n    filters:\n      - multiply: 2.0  # Voltage divider compensation  \n  - platform: template\n    name: \"e-ink Dashboard Battery\"\n    id: batt\n    unit_of_measurement: \"%\"\n    accuracy_decimals: 0\n    device_class: battery\n    lambda: |-\n      int y = (1-(4.1-id(batt_volt)-&gt;state)\/(4.1-3.3))*100;\n      if (y &lt; 100) {return y;} else {return 100;};\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Get the full code<\/h3>\n\n\n\n<p>If you want to try this yourself, I have published the full ESPHome configuration and code on <a href=\"https:\/\/github.com\/kotope\/esphome_eink_dashboard\"><strong>GitHub<\/strong><\/a>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<div style=\"gap: 20px;\" class=\"align-button-center ub-buttons orientation-button-row ub-flex-wrap wp-block-ub-button\" id=\"ub-button-1d8b00f2-cd3d-4b00-ae27-703076079dc9\"><div class=\"ub-button-container\">\n\t\t\t<a href=\"https:\/\/amzn.to\/4pF72t8\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"ub-button-block-main  \" role=\"button\" style=\"--ub-button-background-color: #313131; --ub-button-color: #ffffff; --ub-button-border: none; --ub-button-hover-background-color: #313131; --ub-button-hover-color: #ffffff; --ub-button-hover-border: none; padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; border-top-left-radius: 10px;; border-top-right-radius: 10px;; border-bottom-left-radius: 10px;; border-bottom-right-radius: 10px;; \">\n\t\t\t\t<div class=\"ub-button-content-holder\" style=\"flex-direction: row\">\n\t\t\t\t\t<span class=\"ub-button-icon-holder\">\n\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" height=\"30\" width=\"30\" viewbox=\"0 0 448 512\">\n\t\t\t\t\t<path fill=\"currentColor\" d=\"M257.2 162.7c-48.7 1.8-169.5 15.5-169.5 117.5 0 109.5 138.3 114 183.5 43.2 6.5 10.2 35.4 37.5 45.3 46.8l56.8-56S341 288.9 341 261.4V114.3C341 89 316.5 32 228.7 32 140.7 32 94 87 94 136.3l73.5 6.8c16.3-49.5 54.2-49.5 54.2-49.5 40.7-.1 35.5 29.8 35.5 69.1zm0 86.8c0 80-84.2 68-84.2 17.2 0-47.2 50.5-56.7 84.2-57.8v40.6zm136 163.5c-7.7 10-70 67-174.5 67S34.2 408.5 9.7 379c-6.8-7.7 1-11.3 5.5-8.3C88.5 415.2 203 488.5 387.7 401c7.5-3.7 13.3 2 5.5 12zm39.8 2.2c-6.5 15.8-16 26.8-21.2 31-5.5 4.5-9.5 2.7-6.5-3.8s19.3-46.5 12.7-55c-6.5-8.3-37-4.3-48-3.2-10.8 1-13 2-14-.3-2.3-5.7 21.7-15.5 37.5-17.5 15.7-1.8 41-.8 46 5.7 3.7 5.1 0 27.1-6.5 43.1z\">\n\t\t\t\t<\/path><\/svg>\n\t\t\t<\/span><span class=\"ub-button-block-btn\">Get from Amazon (US)<\/span>\n\t\t\t\t<\/div>\n\t\t\t<\/a>\n\t\t<\/div><div class=\"ub-button-container\">\n\t\t\t<a href=\"https:\/\/www.seeedstudio.com\/reTerminal-E1001-p-6534.html?sensecap_affiliate=XfIKHZY&amp;referring_service=link\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"ub-button-block-main  \" role=\"button\" style=\"--ub-button-background-color: #00d084; --ub-button-color: #ffffff; --ub-button-border: none; --ub-button-hover-background-color: #07ac70; --ub-button-hover-color: #ffffff; --ub-button-hover-border: none; padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; border-top-left-radius: 10px;; border-top-right-radius: 10px;; border-bottom-left-radius: 10px;; border-bottom-right-radius: 10px;; \">\n\t\t\t\t<div class=\"ub-button-content-holder\" style=\"flex-direction: row\">\n\t\t\t\t\t<span class=\"ub-button-block-btn\">Get from Seeed Studio<\/span>\n\t\t\t\t<\/div>\n\t\t\t<\/a>\n\t\t<\/div><\/div>\n\n\n<h2 class=\"wp-block-heading\">Verdict<\/h2>\n\n\n\n<p>This is just what we\u2019ve been waiting for. It is an out-of-the-box e-ink display with native ESPHome support. Finally, anyone can create the battery-powered Home Assistant dashboard they need without a 3D printer, soldering or complex wiring.<\/p>\n\n\n\n<p>While the&nbsp;<strong>resolution could be better<\/strong>&nbsp;(text can look a little blocky if you look closely), the physical display size is fantastic for readability from a distance. If you are looking for a &#8220;set it and forget it&#8221; dashboard, the reTerminal e1001 is the way to go.<\/p>\n\n\n\n<p>There&#8217;s so many possibilities that you can do with this display. In the future I&#8217;m most probably going to make some radical changes on my code to show more calendar events and less temperature\/humidity readings. So keep polling the blog for more eink dashboard stuff&#8230;<\/p>\n\n\n\n<p>For the Seeed Studio reTerminal e1001 I&#8217;d give <strong>Smart Home score <\/strong>a full <strong>5 \/ 5<\/strong> !<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"960\" height=\"723\" src=\"https:\/\/www.creatingsmarthome.com\/wp-content\/uploads\/2025\/11\/PXL_20251129_143730087.jpg\" alt=\"Size comparison is notable between reTerminal e1001 7.5&quot; vs. LilyGo 4.7&quot; e-ink displays\" class=\"wp-image-4771\" srcset=\"https:\/\/www.creatingsmarthome.com\/wp-content\/uploads\/2025\/11\/PXL_20251129_143730087.jpg 960w, https:\/\/www.creatingsmarthome.com\/wp-content\/uploads\/2025\/11\/PXL_20251129_143730087-300x226.jpg 300w, https:\/\/www.creatingsmarthome.com\/wp-content\/uploads\/2025\/11\/PXL_20251129_143730087-768x578.jpg 768w\" sizes=\"auto, (max-width: 960px) 100vw, 960px\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>A few years ago, I embarked on a project to build a dedicated e-ink dashboard for Home Assistant using the LilyGo 4.7\u201d display. It was&hellip;<\/p>\n","protected":false},"author":1,"featured_media":4772,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[100,4],"tags":[203,454,202,201,7,453,26,452,8],"class_list":["post-4743","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-home-assistant","category-reviews","tag-dashboard","tag-display","tag-e-ink","tag-esphome","tag-home-assistant","tag-reterminal-e1001","tag-review","tag-seeed-studio","tag-smart-home","has-post-thumbnail-archive"],"acf":[],"featured_image_src":"https:\/\/www.creatingsmarthome.com\/wp-content\/uploads\/2025\/11\/PXL_20251129_143807263.jpg","author_info":{"display_name":"Toni","author_link":"https:\/\/www.creatingsmarthome.com\/index.php\/author\/topsy\/"},"_links":{"self":[{"href":"https:\/\/www.creatingsmarthome.com\/index.php\/wp-json\/wp\/v2\/posts\/4743","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.creatingsmarthome.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.creatingsmarthome.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.creatingsmarthome.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.creatingsmarthome.com\/index.php\/wp-json\/wp\/v2\/comments?post=4743"}],"version-history":[{"count":38,"href":"https:\/\/www.creatingsmarthome.com\/index.php\/wp-json\/wp\/v2\/posts\/4743\/revisions"}],"predecessor-version":[{"id":4790,"href":"https:\/\/www.creatingsmarthome.com\/index.php\/wp-json\/wp\/v2\/posts\/4743\/revisions\/4790"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.creatingsmarthome.com\/index.php\/wp-json\/wp\/v2\/media\/4772"}],"wp:attachment":[{"href":"https:\/\/www.creatingsmarthome.com\/index.php\/wp-json\/wp\/v2\/media?parent=4743"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.creatingsmarthome.com\/index.php\/wp-json\/wp\/v2\/categories?post=4743"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.creatingsmarthome.com\/index.php\/wp-json\/wp\/v2\/tags?post=4743"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}