Smart calendar with EInk display and Raspberry Pi
Branch: master
Clone or download

README.md

EInk Smart Calendar

What does it do?

It's a raspberry pi based smart calendar that can tell you the current date, weather, and your events on Google calendar. Updates once per hour. Also supports manual update with a press of button.

Get started

First you need to get a few components:

Then clone this repo and install the dependencies

pip install -r requirements.txt

Also make sure you have at least Python 3.5 installed.

Third, you need to get the credentials for Open Weather Map and Google calendar

  • OWM API key:
    • Go to the Weather API page: link
    • Subscribe to 5 day / 3 hour forecast
  • Google credentials:
    • Follow the instructions of this answer on stackoverflow.
    • Instead of choosing the drive API, choose Calendar API v3 of scope https://www.googleapis.com/auth/calendar.readonly
    • We will need the client ID, client secrete, refresh token and access token

Then hook up the wires as following:

Or download diagram.fzz. Note that the labeling on the breadboard corresponds to the wires on the hat comes with the screen. The wiring is the same as on page 12 of the official documentation

Once you have got all the credentials and hooked up the wires, you can run

main.py without any parameter to create the config file:

python3 main.py

and follow the interactive guide to create the config file.

You can specify the config file for later runs as:

python3 main.py -c <config file path>