HomePlate: E-Ink dashboard with Inkplate 10

I’ve recently open sourced my e-ink Home Assistant dashboard using the Inkplate10 called HomePlate.

It works by taking screenshots of the desired dashboard using sibbl’s hass-lovelace-kindle-screensaver tool, but also includes its own functionality and the ability to communicate back to Home Assistant over MQTT.

For this project I spent a lot of time trying to find an aesthetic and customizable way to present sensor data on the display, and short of writing and maintaining my own UI toolkit for the ESP32 that speaks to HASS, screenshots where the most flexible and future proof method.

As documented in the repo, I also make use of a few HACS add-ons to allow a little more control over customizing the UI for the eink display.

Overall I’m very impressed with the Inkplate hardware. I’ve had this running on battery power refreshing the display every 20 minutes for the past month and the battery is still going strong! Even when running FreeRTOS with many parallel tasks.

17 Likes

You mean like openhasp? (I have no idea if openhasp works with the inkplate.)

Its a little similar, but designed for the inkplate. (eink screen, no touchscreen, battery optimized, used the inkplate’s sensors and input buttons, etc…)

What is the refresh time for your dashboards?
I wonder how long Inkplate would last in case it gets refreshed once a minute operating on batteries.

I currently have it set to refresh every 20 minutes, which gives me a battery life of about 1 month with a 1100mAh battery.

I experimented with faster refresh rates on some older kindles hard-wired with no battery, and I found that refreshing faster than once every 5 minutes did not really perform any additional benefits for my use-case.

Thanks a lot for your efforts and for making this public.
My Inkplate 10 is on the way and I’m super exited about it, as your project is pretty new it took me a few hours to find it in the depth of the web.
Looks awesome!
Gonna report back when I get mine.

Hi!
thank you a lot for sharing your project.
I have a few questions:

  1. Is there display lights, for example to turn it on when needed?
  2. What abut suspend refreshing at night, o refresh on demand: for example when someone moves near?
  1. This is an e-ink display with no backlight. There are other versions of the Inkplate that have a backlight. It would not be much work to add support for them. (CLs welcome)
  2. I have it set to refresh every 20 minutes, or whenever the wake or touchpad buttons are pressed. It would certainly be possible to add a motion sensor to wake the Inkplate and refresh then as well.
1 Like

Cool project! I looked at eink for my on wall dashboard but decided against it because I wanted to have live camera views. This is probably the best designed eink dashboard I’ve seen. Love the picture frame idea! Bet it was hella cheaper than my enclosure. :slight_smile:

Curious though - how do you distinguish the different lines on that particulate graph?

1 Like

Haha, I did my best to make them different shades of grey, which correspond to the shades of grey the values are on the top which helps. Its easier to see the differences in person, but still not perfect. I might try using dashed lines as well to help distinguish.

Also, since the values at the top are the most recent sample, if they are not currently near each other, it makes it pretty easy to tell. based on the current and history of the states graphed.

1 Like

This is really cool, thank you! My inkplate came last week and I got your code up and running with a minimum of fuss.

Would you mind posting your lovelace yaml code? I make a lot of use of mini graph cards etc as well, and it would be helpful to see how you arranged your layout, colour schemes, etc.

Thanks!!

1 Like

Good idea.
I just pushed some of my dashboard yaml code to homeplate/dashboard.md at f1c56ddabe2416966341ea5cb34c8b54592dcf51 · lanrat/homeplate · GitHub

1 Like

Amazing, thank you! This is really helpful. After posting my request I discovered that sibbl also provides a kindle lovelace theme which helped with getting the ‘colours’ right.

Really appreciate your making and sharing this - I got the idea to make an eink dashboard and I assumed it would take days of messing around, but instead I was able to get this working in basically an afternoon, so thanks again.

2 Likes

Hi, thanks for this! I had been looking for a nice solution for an eink dashboard, and I like the inkplates. I ended up buying an Inkplate 6PLUS, which is smaller, has slightly different resolution, and a touchscreen instead of the touchpads.

Fortunately your code works for basic functionality with very few modifications. Wishlist would be to enable basic touchscreen functionality (turn on backlight for a min? Switch modes?).

My fork is here: GitHub - phidauex/homeplate: Home Assistant E-Ink Dashboard on the Inkplate 10

I made a few minor usability changes like moving the sleep times out to config.h, changing how the time zone is set, and changing a few environment variables for the 6PLUS. I briefly toyed with touchscreen and backlight, but I clearly have no idea what I’m doing, so haven’t been successful yet.

For the dashboard, I’m mostly using Mushroom cards, with the icon turned off, and a modified Mushroom theme (starting from their template) to bump the font sizes way up. Also using layout-card and card-mod to create some similar graphs to those you produced:

It renders great on the Inkplate, and I’m getting good results with the other features as well (QR code, messages, info display, etc.). Obviously I can’t trigger them from the device with no touchpads, but that is ok.

For battery life, I’m using a 2500ah battery from Adafruit, which charges natively and tucks behind the unit. I was running 5 minute updates initially for testing, and then moved to 10 minute updates. At 5 min, the consumption was 8.5%/day, at 10 min it is 3.3%/day. I might go to 15 min, but 3.3% per day is 24 days from 90% to 10% which I can live with for now.

Let me know if you have any thoughts on implementing other Inkplate features. I will continue to chip away at it in spare time, but not an area of expertise of mine. It is fun having a little dashboard that just sits there quietly through the day.

3 Likes

Your dashboard looks great!

I’d be happy to accept a pull-request with your changes to support the Inkplate 6 Plus too!

I took a quick look at your fork and I’d suggest changing the #ifndef ARDUINO_INKPLATE10 and #ifndef ARDUINO_INKPLATE6PLUS in main.c to be an if/else to support both boards, and to cleanup your changes in platformio.ini to keep my comments and move the build_flags value of DARDUINO_INKPLATE10 and DARDUINO_INKPLATE6PLUS to diverent “targets” so that you only need to specify a build target to pio and the rest should be handled automatically.

Hey there! Thanks for putting this together it’s really inspired my setup. I purchased an inkplate 10, learned how to compile this setup in platform.io (learning curve, was totally unfamiliar territory for me) and successfully flashed the plate!

However!

Where I niavely ran into a roadblock is I didn’t appreciate/understand that sibbls Kindle screenshot tool requires docker, where my HA instance is run on supervisor. As far as I understand, these approaches are incompatible. Maybe I’m missing something obvious? Docker containers are unfamiliar territory for me.

Given how reliant the whole process is around the kindle screenshot docker container, do you have any leads or suggestions on alternatives to getting a dashboard png saved?

Am I able to configure a docker container separate from my current supervisor managed HA instance on a Pi, and still have things work (does that require a totally separate Pi/PC?)

I’m trying to understand what path I should explore next to automate the png screen capture, given that I’m in HA supervisor mode. Any pointers or suggestions would be fantastically appreciated!

As far as I can see sibbl’s docker container can run on a different machine.

As nickrout mentioned, you can run the docker container on another device. I also maintain a fork of the screenshot tool here (GitHub - lanrat/hass-screenshot: This tool generates a png from a Home Assistant Lovelace view.) that has some improvements for homeplate, but either work.

1 Like

Super low tech question… Mind sharing more details about your picture frame enclosure? My Inkplate is gathering dust mostly because the 3D printed enclosure doesn’t fit on the bed of an Ender 3!

I used a frame I picked up at my local thrift shop. But most frames ~11in should work.