Skip to content
A desktop calendar, based on a raspberry pi and e-ink display
C++ Other
  1. C++ 99.6%
  2. Other 0.4%
Branch: master
Clone or download

Latest commit

Latest commit 3aa0bfe Mar 15, 2020


Type Name Latest commit message Commit time
Failed to load latest commit information.

UpNext: A glanceable eInk calendar for your desk

UpNext sits on your desk as an unobstusive way to make sure you always make your next meeting. It is based on a Rasberry Pi connected with a Waveshare eInk display, and pulls events from Google Calendar.

The code is written (poorly) in C++, because writing to the eInk display is timing-sensitive, there were good drivers for C++, and it was a good excuse to dust off my "lower level" programming skills after a decade of primarily programming in python and javascript.

Full writeup at


Requires the following libraries to build:

Be sure to also:

  • Rename secrets.h.example to secrets.h and add in your google calendar api keys
  • Create a bin, bld, and logs directory
  • Enable the SPI interface on the raspberry pi
  • Install the Proxima Nova font, or substitute your favorite. Note that figuring out which fonts look good on the screen requires some testing.


Much of the code for interfacing with the e-Paper module is based on the manufacturer's sample code and documentation

I borrowed a lot from the LUT tables from ZinggJM, in particular this one to get partial refreshes working well. In order to build a deeper understanding of e-Ink LUT tables and refresh rate, I leaned a lot on this video

You can’t perform that action at this time.