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 |
---|---|
Get ONE Now | Get ONE Now |
Hardware Overview
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.
Software
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.
If everything goes well, you will see the display flickering, and the the display will show the Seeed logo
DIY
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.
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.
Please check the corresponding option as shown above.
- Output file type -> *.C
- Scan mode -> Horizon Scan
- BitsPixel -> monochrome
- Max Width and Height -> 264 x 176
- 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.
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 | White background | Red background | Red background |
---|---|---|---|---|
Black Array | 00 | FF | 00 | FF |
Red Array | Image(Reversed) | Image(Reversed) | Image | Image |
Display | Full screen | White background | Red background | Black background |
---|---|---|---|---|
Black Array | Image(Reversed) | Image(Reversed) | Image | Image |
Red Array | 00 | FF | 00 | FF |
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)
d.Image means do not check the Reverse color option in the Step 2(Figure 4)
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.
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 & Product Discussion
Thank you for choosing our products! We are here to provide you with different support to ensure that your experience with our products is as smooth as possible. We offer several communication channels to cater to different preferences and needs.