Skip to main content

Inkplate Projects - Google Calendar

Overview

Google Calendar Showcase

The Google Calendar project is a clean and intuitive user interface that displays your upcoming personal calendar events and national holidays directly on your Inkplate e-paper display. It connects securely to your Google Calendar through the Google Calendar API, fetching and displaying up to two weeks of future events, including event titles, times, and all-day reminders. The interface is designed for at-a-glance time management, making it easy to stay organized without needing to check your phone or computer.

Thanks to the Inkplate's e-paper screen, content remains visible even when the device is not actively refreshing, mimicking the appearance of real paper. Its low-power design allows it to run on a single battery charge for weeks or even months, making it ideal for use as a desk calendar, wall-mounted organizer, or travel companion.

With this project shows the Wi-Fi and UI capabilities of the Inkplate as it becomes a personal assistant that keeps you on schedule with minimal maintenance and elegant visual presentation.

Requirements

For this project, you have to:

  • Have a stable Wi-Fi connection
  • Have a Google account (used to get the API key as well as calendar data)

Every Inkplate device can run the Google Calendar project. For this example, we will be using the Inkplate 6.

Setting up

The Arduino sketch must be modified for this project to run. First, open the Arduino IDE and navigate to
File->Examples->InkplateLibrary->Your Inkplate Device->Projects->Inkplate_Google_Calendar:

Arduino sketch path directions

Wi-Fi

Next, in the main .ino file of the project, you need to input the SSID and password for your Wi-Fi connection. This can be done in the following two lines:

const char *ssid = "YOUR_SSID_HERE";
const char *password = "YOUR_PASSWORD_HERE";

API key

To gain access to the Google Calendar API, you must create an API key.

The API key is created via the Google Cloud platform. Go to console.cloud.google.com and create a new project:

Creating a new project

After giving your project a name and creating it, via the Quick Access links, go to APIs & Services->Credentials. Then click on Create credentials->API key:

API key creation

After clicking on the API key button, the API key will be created and you will be presented with the following screen:

API key information

Now you can copy the created API key into the following variable in the main .ino file of the project:

String apiKey = "yourapikeyAizCs4728Wvsj";

It is also required to enable the Google Calendar API within the project. Go to APIs & Services and use the search bar at the top to search for Google Calendar API:

Calendar API lookup

Once on its page, enable it and it is good to go!

Google Calendar

To retrieve your Google Calendar information, go to calendar.google.com and navigate to settings:

Google Calendar settings

Next, go to the specific calendar you want to track and scroll down until you find the CalendarID:

Calendar ID

Now, copy the Calendar ID into the main .ino file of the project:

String calendarID = "[email protected]";

We also have to make the calendar publicly accessible. You can do this on the same page by going to Access permissions for events:

Calendar public access

Timezone

The Inkplate displays the last time it was updated. To do this, it needs to keep track of the time via the NTP protocol. We need to specify our time zone in the following variable:

int timeZone = 2; // timeZone is the number in (UTC + number) corresponding to your time zone | UTC + 2 for Osijek, UTC - 4 for New York City

Uploading the code

After completing all the previous steps, uploading the project to the Inkplate is as simple as just pressing the upload button in the Arduino IDE:

Arduino upload button

If you are having trouble uploading the code, check out our in-depth upload tutorial:

Quick start guide

A full, comprehensive tutorial on how to fully set up and upload code to the Inkplate for the first time

Result