• Stars
    star
    121
  • Rank 293,924 (Top 6 %)
  • Language
    C
  • License
    Apache License 2.0
  • Created almost 3 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Home Assistant E-Ink Dashboard on the Inkplate 10

HomePlate

Home Assistant E-Ink Dashboard on the Inkplate 10

homeplate

Activities Screenshots

Features

  • Display Home Assistant dashboards on a beautiful e-ink display
  • Display WiFi QR Codes for guests/friends to connect to home/guest wifi
  • Can display messages directly from Home Assistant over MQTT
  • Makes full use of the ESP32's cores with FreeRTOS
  • Reports sensor data to Home Assistant over MQTT (Temperature, Battery, WiFi, etc..)
  • Can change Activity displayed via MQTT Command (HASS dashboard, WiFi QR, Stats, text message, etc..)
  • Syncs RTC over NTP
  • Touch-pad buttons can start activities and wake from sleep
  • 1 month+ battery life!
  • Low battery warning displayed and sent over MQTT
  • OTA updates over WiFi
  • Partial screen updates in grayscale mode.
  • Power saving sleep mode.
  • Display any PNG image from MQTT Command

Future Ideas

Setup

Hardware

See hardware.md

Home Assistant Dashboard

Create a Home Assistant Dashboard you want to display. I recommend using the kiosk-mode, card-mod and layout-card plugins to customize and tune the dashboard for your display.

Setup sibbl's hass-lovelace-kindle-screensaver or my fork hass-screenshot to regularly screenshot the desired dashboards for the HomePlate.

More information in hass.md and dashboard.md

Inkplate

Install PlatformIO. Then copy src/config_example.h to src/config.h and enter your settings.

Build & run with:

pio run

If you have the Inkplate10v2 (without the additional MCP expander and touchpads), use the inkplate10v2 environment:

pio run -e inkplate10v2

The first flash/installation needs to be done over USB. Future updates can be done over USB or WiFi with:

pio run -e ota

To monitor serial output without re-flashing:

pio device monitor

Updating

git pull
pio upgrade
pio pkg update
pio run --target clean

Debugging

Touchpad Sensitivity

On some devices, the touchpads can be overly sensitive. This can cause lots of phantom touch events preventing the Homeplate from going into sleep and using up a lot of power.

Sometimes running pio run --target=clean can resolve this before you build & flash the firmware.

The touchpad sensitivity is set in hardware by resistors, but the touch sensors are calibrated on bootup when the Device first gets power. I have found that USB power can mess with this calibration. If you are using battery power, restarting the Homeplate (by using the power switch on the side of the PCB) without USB power attached is enough to fix the sensitivity.

Alternatively, the touchpads can be completely disabled by setting #define TOUCHPAD_ENABLE false in config.h.

Waveform

If you get the following error while booting your inkplate, run the Inkplate_Wavefrom_EEPROM_Programming example to update your Inkplate's waveform.

Waveform load failed! Upload new waveform in EEPROM. Using default waveform.

Older Inkplates don't appear to ship with an updated waveform. I found waveform 3 looks the best for mine.

More Repositories

1

certgraph

An open source intelligence tool to crawl the graph of certificate Alternate Names
Go
328
star
2

czds

simple golang API and tools to interact with czds.icann.org
Go
64
star
3

SpiderWho

A very fast whois crawler
Python
38
star
4

minimalin-watchface

Minimalin Watch Face
Java
19
star
5

allxfr

AXFR all the things!
Go
18
star
6

extsort

external sorting for golang
Go
14
star
7

tethr

Android Tethering Provisioning Check Bypass (CVE-2017-0554)
Java
13
star
8

m365-toolbox

Java
13
star
9

CHVBadge_16

Stuff for the DEFCON 24 Car Hacking Village Badge
C
10
star
10

CHVBadge_15

Stuff for the DEFCON 23 Car Hacking Village Badge
SourcePawn
9
star
11

tftp

A simple TFTP server and client
C
8
star
12

czds-request

Automatically request and renew czdap zones
Python
7
star
13

SMS-DOS

Python
6
star
14

dotfiles

A place to store my Linux configuration files
Shell
6
star
15

stargate

SOCKS for your subnet
Go
6
star
16

PacketHackVillageHitBBadge2021

Packet Hack Village Hack in the Box 2021 Badge code
C
5
star
17

CrossFitr

Derping around until we're fit!
Java
5
star
18

docker-xpra-html5

Dockerfile
5
star
19

WIFI_Recovery

A simple android application to retrieve saved WIFI passwords
Java
5
star
20

openwrt-tailscale-repo

opkg repository for Tailscale packages for openwrt devices
Shell
5
star
21

webserial-bruteforce

Brute force UART baud rates in your web browser!
TypeScript
5
star
22

docker-certspotter

Docker image for certspotter
Dockerfile
4
star
23

smtp-scanner

A fast SMTP scanner for enumerating public SMTP server security options
Python
3
star
24

badgy

A HID badge collector/replayer
C
3
star
25

dns2mdns

a DNS to mDNS bridge service
Go
3
star
26

usb-meter

Webapp data logger for Atorch power meters
TypeScript
3
star
27

DJ_Queue

A mobile app to boss Steve around
PHP
3
star
28

luxerone

A Python API client to the Luxer One Residential API
Python
3
star
29

led-clock

"smart" LED Matrix clock
C++
2
star
30

ambergris

Inside the Belly of a Whale
1
star
31

Android_Fortune

Java
1
star
32

CHVBadge_19

Stuff for the DEFCON 27 Car Hacking Village Badge
C
1
star
33

aeroSnap

Bringing Windows 7 aeroSnap shortcuts to Linux
Shell
1
star
34

k2hass

push images from home assistant to Kindle2 display
Shell
1
star
35

docker-filebot

Makefile
1
star
36

docker-certificate-transparency

Docker examples for certificate-transparency
Dockerfile
1
star