/Paperino

E-Paper display library for the Particle & Arduino family.

Primary LanguageC++BSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Paperino PL_microEPD Arduino Library

Welcome to the Paperino docs! This is a Hardware Library for the 1.1” E-Paper display (EPD) from Plastic Logic for Adafruits GFX library.

Paperino E-Paper Shield for Particle, Breakout Board and Driver Module
Paperino E-Paper Shield for Particle, Breakout Board and Driver Module

So, what is Paperino?

Paperino is an easy to use micro EPD breakout-board for the Photon or other Arduino-compatible microcontrollers. The eInk-based ePaper display mimics the appearance of natural paper and is capable of holding text and images indefinitely, even without electricity. This makes Paperino perfect for your next battery-driven, connected project where the display content changes rarely.

Paperino also integrates an easy to use accelerometer. It extends the EPD by tap-sensing functions and offers portrait/landscape detection. Furthermore you can wake-up your MCU after movement-based events from deep-sleeping, saving battery live during waiting phases.

Featured In

As Featured In

Documentation

This is the place to get started with your new hardware! We have divided the documentation into the following sections:

  • Hookup Guide - Step-by-step instructions to get your Paperino setup and run within minutes.
  • Examples - Ready to use examples for your own inspiration.
  • Reference - Datasheets & Application Notes.
  • Hardware - Schematics & PCB layouts.

How To Use

Installation

This library is part of the Particle and Arduino Library Manager. Please search for PL_microEPD within the Manager and download the library, that’s it! Included are six example sketches, they are useful to learn the basics about this ePaper screen.

Hardware hookup

To start communicating with the ePaper driver IC, you’ll need to supply 3.3V and four more wires for SPI communication (@3.3V voltage level). Please have a look at the hook-up guide for more detailed information.

Example: Hello World!

This is the first, and shortest possible demo and shows how to address the ePaper (don’t forget to update the GPIO name if needed in line 3):

#include "Adafruit_GFX.h"
#include "PL_microEPD.h"

#define EPD_CS      A2
PL_microEPD display(EPD_CS);  

void setup() {  
    SPI.begin();                    
    SPI.beginTransaction(SPISettings(4000000, MSBFIRST, SPI_MODE0));
  
    display.begin();                
    display.print("Hello World!");
    display.update();               
}

void loop() {              
}

You should now be able to see the ePaper screen updating. Congratulation! If you feel more like a pro’ this is now the time to add the wiring of two more GPIO lines (called ‘busy’ & ‘reset’). They are needed to run the image updates a bit faster and/or to reset the IC after having it set to deep sleep.

More…

Once this example is successfully running, please have a look at the following sketches: GFX demo shows how to draw all the letters, rectangles and dots. The Graylevel sketch explains how to use the four different graylevels in your next project. Update modes describes three different ways of updating an ePaper screen.

Distributors

Paperino ePaper displays are available at Crowd Supply, Watterott electronic, Mouser and DigiKey.

Projects

These demo projects are for your inspiration! What will you implement with Paperino? Tell us, we’ll love to add your project here!

Project TrafficIndicator at Hackaday.io Project IoT Connected Desk Frame at Hackaday.io Project local rain forecast for fair weather cyclists at Hackster.io
Project Industrial Tap Tap Machine at Hackster.io

Changelog

  • v1.1.01 (03/2018) - Add support for more EPDs: 1.4", 2.1" & 3.1" (auto-detection) and for deepSleep() of driver IC
  • v1.0.20 (10/2017) - Add support for (optional) simplified wiring for MCUs with limited GPIOs
  • v1.0.10 (08/2017) - Particle & Arduino Library Manager supported; tap sensitivity increased; ‘verified’ by Particle
  • v1.0.00 (07/2017) - Initial release

License Information

This library is open source!

Created by Robert Poser, Mar 4th 2018, Dresden/Germany. Released under BSD license (3-clause BSD license), check license.md for more information.

We invested time and resources providing this open source code, please support Paperino and open source hardware @Adafruit and by purchasing this product @Crowdsupply @Watterott @Plasticlogic.

If you like this project please follow us on Twitter. Having problems or have awesome suggestions? Contact us: paperino.display@gmail.com.