The RePaper development boards from Pervasive Displays come with a driver board that is powered from 3V and has level shifting on all the I/O pins so it can be used with 5V microcontrollers such as the Arduino. The PCB also has a lot of driver circuitry required to keep the display running smoothly such a temperature sensor, FLASH memory and ZIF socket. All signals are broken out to a 20 male socket header on the left. A 20 pin socket/socket cable is included to make wiring easier and there's also some extra-long header so you can plug these wires into Arduino header or a breadboard.

The displays are available in 1.44", 2" and 2.7" diagonal sizes with resolutions of 128x96, 200x96 and 264x176 pixels. These are intended for use as small dynamic signage in grocery stores since a barcode displayed on it can be scanned by a laser barcode-reader. The display does not require any power to keep the image and will stay 'on' without any power connection for many days before slowly fading. Of course, its also daylight readable and is very high contrast. This makes it excellent for data-logging applications, outdoor displays, or any other ultra-low power usages

RePaper/PDI have provided a suite of example code for Arduino UNO/Leonardo and Mega, as well as a driver compatible with the Adafruit GFX Library. Now you can program this display with the same library as all our TFT LCD and LED matrix displays!

However, please note: the displays are quite large pixel-wise and to dynamically write to the display requires that the display buffers are in SRAM. The buffers for the 2" display are more than 3K. That is more than is available in the Arduino Uno or Leonardo. To use these displays with the Adafruit GFX Library, you will need an Arduino Mega (1280, 2560 or ADK version) for the 1.44" or 2" - the 2.7" is not supported by GFX at this time. No ETA when 2.7" will be completely supported
The largest 2.7" display buffer requirements are too much even for the Mega. It is not possible to use the GFX library with this display.
The eInk development board comes completely assembled. All you need to do is attach the eInk display and the breakout cable.

Attach the Display

Open the Socket

Lift the front edge of the flex connector socket and raise it to the vertical position as shown on the left.

Insert the Flex Connector

Gently slide the flex connector (contact side down) into the socket.

Make sure that the display is aligned with the outline on the silkscreen.

Close the Socket

Gently push the socket closed to lock the flex connector in place.

Remove the protective film

Lift the white tab and gently peel back the protective film from the display.
Use care when handling the assembled development board. The display is attached only by the flex connector, and this can be damaged by excessive force. If desired, a small piece of tape can be used to stabilize the display on the board.

Attach the Breakout Cable

Locate Pin 1

Pin 1 is marked with a white dot on the connector. There will be a red wire connected to that pin.

Insert the cable

  • Flip the cable over so that the white dot is facing down.
  • Center the connector in the socket with Pin 1 on the side marked with a circled "1" on the board.
Be sure to center the connector in the socket. The socket is wider than the connector and the display will not work if you plug it in off-center.
The UNO and Leonardo are both capable of running the eInk displays using the EPD Library. However, neither processor has enough SRAM to run the Adafruit GFX library. To use GFX, you will need a Mega (see next page).


Cut and insert the header segments

Insert the double-sided male header sections into the UNO or Leonardo female headers. You will need header sections for:
  • 3.3v - 1 pin
  • GND - 1 pin
  • A0 - 1 pin
  • Digital 2-7 - 6 pins
  • Digital 8-9 - 2 pins
  • Digital 11-13 - 3 pins (Uno only!)

Connections:

Start by connecting Pin 1 of the breakout cable (red wire) to the header pin for 3.3v.

Continue making connections in the order listed below. There are duplicate wire colors, so don't mix them up!

For the UNO

Make connections to:

1. (Red) -> 3.3V
2. (White) -> NC
3. (Grey) -> NC
4. (Purple) -> NC
5. (Blue) -> NC
6. (Green) -> A0
7. (Yellow) -> D-13
8. (Orange) -> D-7
9. (Brown) -> D-5
10. (Black) -> D-6
11. (Red) -> D-2
12. (White) -> D-4
13. (Grey) -> D-3
14. (Purple) -> D-12
15. (Blue) -> D-11
16. (Green) -> NC
17. (Yellow) -> NC
18. (Orange) -> D-9
19. (Brown) -> D-8
20. (Black) -> GND

For the Leonardo

Note that the SPI connections are made to the ICSP header pins.

1. (Red) -> 3.3V
2. (White) -> NC
3. (Grey) -> NC
4. (Purple) -> NC
5. (Blue) -> NC
6. (Green) -> A0
7. (Yellow) -> ICSP-3
8. (Orange) -> D-7
9. (Brown) -> D-5
10. (Black) -> D-6
11. (Red) -> D-2
12. (White) -> D-4
13. (Grey) -> D-3
14. (Purple) -> ICSP-1
15. (Blue) -> ICSP-4
16. (Green) -> NC
17. (Yellow) -> NC
18. (Orange) -> D-9
19. (Brown) -> D-8
20. (Black) -> GND
Now you are done wiring and ready to test the display!
Wiring for the Mega is similar to the Uno and Leonardo. Only the SPI pins are in a different location.

Cut and insert the header segments

Insert the double-sided male header sections into the Mega female headers. You will need header sections for:
  • 3.3v - 1 pin
  • GND - 1 pin
  • A0 - 1 pin
  • Digital 2-7 - 6 pins
  • Digital 8-9 - 2 pins
  • Digital 50-51 - 2 pins
  • Digital 52 - 1 pin

Connections:

Start by connecting Pin 1 of the breakout cable (red wire) to the header pin for 3.3v on the Mega.

Being careful to keep the wires in order (there are duplicate colors), make the rest of the connections as follows:

1. (Red) -> 3.3V
2. (White) -> NC
3. (Grey) -> NC
4. (Purple) -> NC
5. (Blue) -> NC
6. (Green) -> A0
7. (Yellow) -> D-52
8. (Orange) -> D-7
9. (Brown) -> D-5
10. (Black) -> D-6
11. (Red) -> D-2
12. (White) -> D-4
13. (Grey) -> D-3
14. (Purple) -> D-50
15. (Blue) -> D-51
16. (Green) -> NC
17. (Yellow) -> NC
18. (Orange) -> D-9
19. (Brown) -> D-8
20. (Black) -> GND

Download the eInk Libraries

The RePaper eInk libraries and example code are available on Github:

Once the code is downloaded, open the gratis-master.zip file. This repository contains other files besides the library and example code, so you will need to open it up and copy the parts you need:

Select the Sketches

Navigate to gratis-master.zip/Sketches and select all the folders. Press [Control]-C on your keyboard to copy.

Navigate to your Sketchbook Folder

If you are not sure where your sketchbook folder is, open File->Preferences from the Arduino IDE and it will give you the path to your sketchbook folder.

Paste the copied folders

press [Control]-V on the keyboard to paste the copied folders.

The operating system may ask if you want to merge the Libraries folder with the existing Libraries folder. Select YES.

eInk + Mega + Adafruit GFX

To experience the full graphical capabilities of the eInk display with the Adafruit GFX library, you need to use an Arduino Mega (1280, 2560 or ADK) with plenty of RAM to buffer the entire display image. If using one of those, we can use the Adafruit GFX graphics library which can draw lines, circles, text, etc.

The GFX library can be downloaded here:

GFX in turn requires the BusIO library:

For instructions on installing the GFX library, see this guide:
To learn how to use the GFX Library, look here.
Note that there is not enough memory in the Mega to use the 2.7" eInk display with GFX. The EPD libraries require 2 complete frame-buffers to update the display from SRAM.

Example Code

The RePaper eInk libraries come with the following example sketches:

demo - The "demo" sketch demonstrates the capabilities of the eInk display. This sketch will run on the Uno, Leonardo or Mega and cycles through some lines of text and the image of a cat. Don't forget to change the line #define SCREEN_SIZE 144 to match your screen size! (144, 20 or 27)

temp - The 'temp' sketch displays the temperature with a bar-graph and scale using the drawing functions of the Adafruit GFX library. This sketch requires a Mega (1280, 2560 or ADK).

amslide - The 'amslide' sketch displays a slide show of images loaded from an SD card. To run this example you need an SD card reader. This could be on one of the logger shields, or on an SD breakout. Sample images can be found in the "images" folder inside the "amslide" folder. (Written by Christopher Hall & WyoLum, and tested on the AlaMode devboard)

command - The 'command sketch allows you to control the display using text commands the host computer over the serial port.



This guide was first published on Apr 28, 2013. It was last updated on Mar 08, 2024.