edit

2.7inch Triple-Color E-link Shield for Arduino

E-Ink screen also known as E-paper screen, we have released several E-Ink screens of various sizes, including grove E-Ink module, raspberry pi E-Ink hat. Now we introduce you to the new member of the Seeed E-Ink family -- the 2.7'' Triple-Color E-Ink Display for Arduino.

The 2.7'' Triple-Color E-Ink Display is an Arduino E-Ink display shield, which contains 264x176 pixels, and can display white/black/red for each pixel. This shield communicates with Arduino via the SPI interface and it reserves a Grove I2C interface for use with other modules. With the help of a comparison circuit, the module achieves self-adaption of the 3.3V and 5V voltage system.

Compared to traditional LCD displays, E-Ink eliminates the need for backlighting and therefore power consumption is ultra low. And the E-Ink has an extremely wide viewing angle with very high contrast so that it even can be clearly displayed in direct sunlight. On top of that, the E-Ink can display user-set images for a long time(For weeks or even months) without any power supply. What an amazing display!

If you are interested, you can click on the image below to view the different sizes of Arduino E-Ink or Raspberry Pi E-Ink.

Features

  • Ultra low power consumption
  • Ultra wide viewing angle
  • High contrast

Applications

  • Low power display scene
  • Outdoor display scene
  • Industrial instrument
  • Shelf label

Platform Supported

Arduino Raspberry Pi

Getting Started

Materials Requied

Seeeduino Lotus 2.7''Triple Color E-Ink Shield for Arduino
enter image description here enter image description here
Get ONE Now Get ONE Now

Hardware Overview

Notice

1
**1** Please plug the USB cable, E-Ink FPC Interface and Triple-Color E-Ink Shield into Seeeduino gently, otherwise you may damage the port.
  • Step 1. Plug Triple-Color E-Ink Shield into Seeeduino.

  • Step 2. Connect Seeeduino to PC via a USB cable.

  • Step 3. Download the code, please refer to the software part.

  • Step 4. Run the code and even your owm image will display on the screen.

Triple-Color E-Ink Shield for Arduino' connect
Figure 2. connection

Software

Attention

If this is the first time you work with Arduino, we strongly recommend you to see Getting Started with Arduino before the start.

  • Step 1. Download the Demo code.

  • Step 2. Open the epd2in7b-demo.ino file with your Arduino IDE.

  • Step 3. Copy the whole Seeed_Elink_Shield file and paste it into your Arduino IDE library file.

  • Step 4. Upload the demo. If you do not know how to upload the code, please check How to upload code.

Success

If everything goes well, you will see the display flickering, and the the display will show the Seeed logo

DIY

Triple-Color E-Ink Shield for Arduino'' DIY
Figure 3. DIY demo

It will be a lot fun to display your own image, now, let's show you how to DIY your own E-paper.

Before the start, please check the E_ink154_factoryCode.ino again. You can find the two array easily.

const unsigned char IMAGE_BLACK[] PROGMEM = { /* 0X00,0X01,0XC8,0X00,0XC8,0X00, */
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
....
....
....
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,};

and

const unsigned char IMAGE_RED[] PROGMEM = { /* 0X00,0X01,0XC8,0X00,0XC8,0X00, */
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
....
....
....
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,};

As you can see, the two array is called const unsigned char IMAGE_BLACK[] and const unsigned char IMAGE_RED[],

const unsigned char IMAGE_BLACK[] is used for black image display
const unsigned char IMAGE_RED[] is used for red image display

Actually, to display your own image, you just need to replace those two image array. That is to say, you just need to get your own image array. Luckily, there is a tool Image2LCD, you can google it, it's not difficult to find. Suppose you have downloaded and installed this software. Next, we will show you how to use this software.

  • Step 1. Prepare a picture of 264*176 pixels.

Tip

The ink screen only supports pictures with gray level of second-order, that is, black and white. If the gray level of the picture is too much, the whole color cannot be completely displayed.

  • Step 2. Open the Image2LCD software and click the Open icon to open your picture. You will see the fallowing window.
Triple-Color E-Ink Shield for Arduino'' DIY
Figure 4. Image2LCD configuration

Please check the corresponding option as shown above.

  1. Output file type -> *.C
  2. Scan mode -> Horizon Scan
  3. BitsPixel -> monochrome
  4. Max Width and Height -> 264 x 176
  5. Reverse color: Whether you need to check this option is based on the effect you need to display. For more detail please check the Table 1 below.
  • Step 3. After you configure the above options, you only need to click the Save button in the upper left corner to generate the corresponding image array. Then replace the the factoryCode array with your own image array.
Triple-Color E-Ink Shield for Arduino'' DIY
Figure 5. Just replace the part selected with the red box, which means you should keep the array name

As we mentioned above, there are two arrays, you may be cofused: which one to replace? Well, it depends on what display effect do you want. Check the Table 1. And after choosing one color to replace, remember to delete the code of the other color but should keep the array name.


Display

Black background
Red image

White background
Red image

Red background
Black image

Red background
White image

Black Array 00 FF 00 FF
Red Array Image(Reversed) Image(Reversed) Image Image

Display

Full screen
red

White background
Black image

Red background
red

Black background
White image

Black Array Image(Reversed) Image(Reversed) Image Image
Red Array 00 FF 00 FF
Table 1.Array display effect

Note

a.00 means all elements in the array are 0x00, actually you need 2888 0x00
b.FF means all elements in the array are 0xFF, actually you need 2888 0xFF
c.Image(Reversed) means you need to check the Reverse color option in the Step 2(Figure 4)
b.Image means do not check the Reverse color option in the Step 2(Figure 4)

Tip

Make a 2888 0x00 or 0xFF array?
Don't worry, we feel you pain, you can just click the 0x00.c and 0xFF.c file and copy into your code.

0x00.c
0xff.c

We consider the original state is full screen white. When updating the image, the black array is updated first, then the red array is updated, and the image of the red array overwrites the black image.

This display is 152 x 152, so there are 152x152=23104 pixels, each pixel is controled by one bit. The element in the array is a two-digit hexadecimal number, like 0xF0. Convert 0xF0 to a binary number we will get 1111 0000. A pixel with a value of 1 will display white, and a pixel with a value of 0 will display the color of the corresponding array (red or black). Which means each element in the image array controls 8 pixels. So you need an array of 23104/8=2888 elements.

Step 4. Download the code into your arduino, then you plug the display module into the arduino board. After blinking for a while, you will see the pattern you set.

Schematic Online Viewer

Resources

Tech Support

Please submit any technical issue into our forum.