Skip to content

michaelwschultz/eink-frame

Repository files navigation

Scripts for displaying html (React) on remote E-ink display

News Nasa Photo of the Day
News Example APOD

Basics

  • Currently only works with Waveshare e-ink displays. (could be updated to work with other brands easily)
  • This script currently runs on a Raspberry pi zero w that's connected to the net.
  • It fetches a list of frame screens to be displayed via val.town (feel free to use your own backend)
  • That list is then used to fetch the the next image in rotation based on which one is currently being displayed on the connected eink display derived from state.json.

Setup

  • Create a free account on val.town and remix the eink-frame project
  • Remove or add any frames you want and make sure to update the list near the beginning of index.tsx to include all the frames you want your device to pull from
  • Follow the README, as you'll also need a API Flash api key for image generation.
  • Clone this repo to your arduino or raspberry pi. Make sure you're device has internet access.
  • Update the BACKEND_URL in fetch_and_display_image.py with your remix of the val.town project
  • You may also need to update the imported waveshare eink display you're using in send_to_display.py

Usage

pip install -r requirements.txt
python fetch_and_display_image.py

You can also tell it which frame to display using the param -F or --frame.

python fetch_and_display_image.py --frame weather

Remote backend for fetching data

For ease of iteration, the backend was created on val.town. There you can view each frame and remix them if you'd like. You can view the image that will be sent down to the pi and make any changes you'd like. You can also control the list of images you'd like to show up on your pi so you don't have to log into the pi to change anything once it's set up.

Add startup process using pm2

pm2 start fetch_and_display_image.py --name fetch_and_display --no-autorestart --cron "0 7,19 * * *"
pm2 save
pm2 startup

pm2 logs fetch_and_display

Hardware

Optional button and rotary button scrips available.

3D Printing (more frames to come)

Right now, I'm using this design.

Here's another design if you're interested in adding a battery to your setup.

About

Fetches remote data and displays on 3 color (white, black, red) eink screen

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Contributors

Languages