https://github.com/davidhampgonsalves/life-dashboard

Skip to content Toggle navigation
 
Sign up

  * Product
      +  
        Actions
        Automate any workflow
      +  
        Packages
        Host and manage packages
      +  
        Security
        Find and fix vulnerabilities
      +  
        Codespaces
        Instant dev environments
      +  
        Copilot
        Write better code with AI
      +  
        Code review
        Manage code changes
      +  
        Issues
        Plan and track work
      +  
        Discussions
        Collaborate outside of code
    Explore
      + All features
      + Documentation
      + GitHub Skills
      + Blog
  * Solutions
    For
      + Enterprise
      + Teams
      + Startups
      + Education
    By Solution
      + CI/CD & Automation
      + DevOps
      + DevSecOps
    Resources
      + Learning Pathways
      + White papers, Ebooks, Webinars
      + Customer Stories
      + Partners
  * Open Source
      +  
        GitHub Sponsors
        Fund open source developers
      +  
        The ReadME Project
        GitHub community articles
    Repositories
      + Topics
      + Trending
      + Collections
  * Pricing

Search or jump to...

Search code, repositories, users, issues, pull requests...

Search
[                    ]
Clear

Search syntax tips

Provide feedback

We read every piece of feedback, and take your input very seriously.

[                    ] [ ] Include my email address so I can be
contacted
Cancel Submit feedback

Saved searches

Use saved searches to filter your results more quickly

Name [                    ] 
Query [                    ]

To see all available qualifiers, see our documentation.

Cancel Create saved search
Sign in
Sign up
You signed in with another tab or window. Reload to refresh your
session. You signed out in another tab or window. Reload to refresh
your session. You switched accounts on another tab or window. Reload
to refresh your session.
Dismiss alert
{{ message }}
davidhampgonsalves / life-dashboard Public

  * Notifications
  * Fork 19
  * Star 1.1k

E-Iink based dashboard for every day life

1.1k stars 19 forks Activity
Star
Notifications

  * Code
  * Issues 0
  * Pull requests 12
  * Actions
  * Projects 0
  * Security
  * Insights

More

  * Code
  * Issues
  * Pull requests
  * Actions
  * Projects
  * Security
  * Insights

davidhampgonsalves/life-dashboard

This commit does not belong to any branch on this repository, and may
belong to a fork outside of the repository.
master
Switch branches/tags
[                    ]
Branches Tags
Could not load branches
Nothing to show
{{ refName }} default View all branches
Could not load tags
Nothing to show
{{ refName }} default
View all tags

Name already in use

A tag already exists with the provided branch name. Many Git commands
accept both tag and branch names, so creating this branch may cause
unexpected behavior. Are you sure you want to create this branch?
Cancel Create
13 branches 0 tags
Code

  * Local
  * Codespaces

  *  
    Clone
    HTTPS GitHub CLI
    [https://github.com/d]

    Use Git or checkout with SVN using the web URL.

    [gh repo clone davidh]

    Work fast with our official CLI. Learn more about the CLI.

  * Open with GitHub Desktop
  * Download ZIP

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

@davidhampgonsalves
davidhampgonsalves display sun rise/set in local time
...
38f513f Sep 25, 2023
display sun rise/set in local time
38f513f

Git stats

  * 34 commits

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
.cargo
Initial commit
August 24, 2018 12:17
cmd/main
v2 rewrite
September 23, 2023 11:28
pkg
display sun rise/set in local time
September 25, 2023 09:36
static
v2 rewrite
September 23, 2023 11:28
.gitignore
v2 rewrite
September 23, 2023 11:28
README.md
v2 rewrite
September 23, 2023 11:28
deploy.sh
v2 rewrite
September 23, 2023 11:28
example.jpg
v2 rewrite
September 23, 2023 11:28
go.mod
v2 rewrite
September 23, 2023 11:28
go.sum
v2 rewrite
September 23, 2023 11:28
install.sh
v2 rewrite
September 23, 2023 11:28
life-dashboard-init
disable unused calendar
June 14, 2022 10:23
main.tf
v2 rewrite
September 23, 2023 11:28
start.sh
v2 rewrite
September 23, 2023 11:28
View code
[                    ]
Life Dashboard Details V2 Rewrite and Compromises Deploy (via
Terraform) Run Locally Setup Jailbreak and Setup SSH SSH over wifi
Install Copy books to Kindle vis SCP Frame Notes

README.md

[example]

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.

About

E-Iink based dashboard for every day life

Resources

Readme
Activity

Stars

1.1k stars

Watchers

13 watching

Forks

19 forks
Report repository

Releases

No releases published

Packages 0

No packages published

Languages

  * Go 60.6%
  * HCL 27.5%
  * Shell 11.9%

Footer

 (c) 2023 GitHub, Inc.

Footer navigation

  * Terms
  * Privacy
  * Security
  * Status
  * Docs
  * Contact GitHub
  * Pricing
  * API
  * Training
  * Blog
  * About

You can't perform that action at this time.