Life Dashboard

基于 E-Iink 的日常仪表盘。这是低功耗抬头显示器的实现,适合在 Kindle 上运行的日常生活。「E-Iink based dashboard for every day life. Low power, heads up display for every day life running on a Kindle.」

Github星跟蹤圖

Life Dashboard

Low power, heads up display for every day life running on a Kindle.

Details

Second hand Kindles are waiting in drawers for someone to repurpose them into something great. Boasting large e-ink screens, wifi connectivity and ARM processors they are an amazing hacking platform.

(This is the second version of this project, see the post about the original here)

V2 Rewrite and Compromises

Ideally this dashboard would generate and display its image on its own. The issue with doing this originally was that the Kindles ability to display images (via eips) requires they be in a strange format. A few yars back when I started this it was hard to get GoLang to generate this format but it was easy to cross compile GoLang to the target ARM-7 softfloat arch. On the other hand Rust could generate the image but it was a pain to setup the cross compiler toolchain (also connecting to Google API's wasn't well supported).

In the 5 years that followed the dashboard was a great tool but as API services would die (Magicseaweed, Forecast.io, DarkSky, etc) it would break. Sometimes that would require changes to the Rust front end and I would have to setup the cross compiling toolchain on each new machine I was using and eventually this got annoying.

I found out about FBInk which has Go bindings and decided that using that I could use it to do text layout and print the resulting PNG's to the screen. Unfortunately I found that GoLangs OpenFont lib crashes when run on the kindle and that these old arm archetectures aren't well supported. This seemed like an unstable footing to build on.

This led me to my current compromise. I use FBInk on the kindle to display the images after curling them from a API Gateway/Lambda backend. This gives me a low friction way to update the API logic without needing to touch the kindle or cross compile anything. I also was able to use GoLangs tdewolff/canvas which provides nice text setting and image generation tooling. I think is the right balance to keep this device productive for another 5+ years.

Deploy (via Terraform)

./deploy.sh

Run Locally

go test -c -o ldb.test ./pkg/ && ./ldb.test && open ldb.test.png

Setup

Jailbreak and Setup SSH

See (https://wiki.mobileread.com/wiki/Kindle4NTHacking) and if bricked then use Kubrick in VM to restore.

SSH over wifi

Hold power button till light flashes, then press power button a few times to restart back to normal e-reader mode. SSH server will be running and wifi will auto connect.

Install

  • Install Fbink.
  • Setup Wifi on Kindle and then run install.sh.

Copy books to Kindle vis SCP

scp book.mobi root@192.168.15.244:/mnt/base-us/documents/
dbus-send --system /default com.lab126.powerd.resuming int32:1

Frame

3D printed using wood filled filliment - https://www.thingiverse.com/thing:2536906

Notes

The mobileread forumn is the place for mobile reader hacking.

I could have avoided the backend of this project and only used the Kindle but I had already created it for another project and saved time to reuse it.

主要指標

概覽
名稱與所有者davidhampgonsalves/Life-Dashboard
主編程語言Go
編程語言JavaScript (語言數: 4)
平台
許可證
所有者活动
創建於2018-04-17 15:04:04
推送於2025-04-15 13:04:30
最后一次提交2025-04-15 10:02:24
發布數0
用户参与
星數1.3k
關注者數14
派生數19
提交數52
已啟用問題?
問題數0
打開的問題數0
拉請求數0
打開的拉請求數13
關閉的拉請求數19
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?