Small e-Paper Shield
e-Paper might be the most comfortable material to read. It reflects light instead of emitting light to mimic the experience of conventional paper reading. And in this way much less power is consumed. The Small e-paper shield is a driver shield for e-paper of small sizes. It's capable of driving e-papers of 1.44 inch, 2.0 inch and 2.7 inch and supports more than 170 languages. The upper surface of this shield is left flat and clean to give great support to the e-paper attached to it. If you are considering a lightweight and comfortable to read display, e-paper would be a good choice.
Attention: Since this driver board supports e-papers of different sizes. e-paper is not included in this product. We have e-paper of 2.0 inch and 2.7 inch on sale simultaneously. Go and add the most suitable one to your cart now!
Model: SLD00200P
Choose the library
In order to choose the correct library you should know the version of your panel.
Pay attention to your panel's label:
if the model name is 'EG020AS012' or 'EM027AS011',then you should choose the old library, please click here Small e-Paper Library.
if the model name is 'EG020BS011' or 'EM027BS013',then you should choose the new library,please click here New Panel Library【EPD_V230】.
Specifications
Compatible board: Arduino Uno/Leonardo/Arduino Mega
Operating Voltage: 3.3/5VDC
Operating Current(refresh screen):40mA
Interface Type: SPI
PINs on Arduino
Arduino | E-paper |
---|---|
D2 | M_EPD_PANEL_ON |
D3 | M_EPD_BORDER |
D4 | M_/SD_CS |
D5 | M_EPD_PWM |
D6 | M_EPD_/RESET |
D7 | M_EPD_BUSY |
D8 | M_EPD_DISCHARGE |
D9 | M_/WORD_STOCK_CS |
D10 | M_/EPD_CS |
ICSP PORT | M_MOSI , M_SCK , M_MISO |
A0 | M_TEMP_SEN |
A1 | M_OE123 |
A2 | M_CKV |
A3 | M_STV_IN |
3.3V | M_VCC_3V3 |
5V | M_VCC_5V |
Demonstration
Small e-Paper Shield can display image, a variety of graphics and texts. There are plenty of examples in library that give you some ideas on how to use the module. Now let us experience the strong library and wide viewing angle of e-Paper.
Hardware Installation
- Connect e-Paper to the FFC interface of Small e-Paper Shield.
- Plug Small e-Paper Shield to Arduino/Seeeduino and connect it to PC using a USB cable.
Now it is time to show demos using the library which needs download from here. After downloading, you need put it into the library file of Arduino IDE by the path:...\arduino-1.0.1\libraries.
Demo Showing
Here we select the 2.0 inch screen as an example to show its display functions.
Demo 1: Display texts
- Open the code: File -> Examples -> ePaper -> text as show below:
- We need to re-emphasize this note:
- If you use Arduino UNO, Seeeduino 3.0 and any board that uses Atmega 328P or Atmega32U4 as controller, you should insert an SD card using this demo. The SD card is used to store temporary data because of the little storage space of Atmega328p and Atmega32U4.
- If you use an Arduino Mega, or any other board that uses Atmega1280 or Atmega2560, you don't need to insert an SD card.
- Change the parameter to match your screen size. You need to change 200 to 270 if your screen is 2.7 inch. And you need to do this change when usisng other examples.
#define SCREEN_SIZE 200 // choose screen size: 144, 200, 270
Upload the code to your microcontroller. Please click here if you do not know how to.
Now you can see this:
- Try to change the display text and display location. You may learn every function usage.
Demo 2: Display graphic
The example: draw will be a good example to display a variety of graphics. You need to open this code: draw like demo 1. Remember the note about whether you need a SD card to complete the demo. Please make sure the SD card is needed or not, depending on your microcontroller type. And change the parameter to match your screen size.
After completing modifications and uploading the code, a beautiful pattern will display on the screen:
The picture is created by calling the draw graphic functions. You can make your pattern and try it on the screen. Every draw function has a specific description in the reference.
Demo 3: Display image
Similar to TFT displays and OLED displays, the small e-Paper Shield supports displaying images.
Now you need to open the image example: File -> Examples -> ePaper -> image.
You need to upload the code to see the result.
Note:As you can see, the default screen size in this "image" sketch is set as 2.7 inch. Please modify the screen size setting in case of improper display.
#define SCREEN_SIZE 200 // choose screen size here: 144, 200, 270
Of course, you can change the display image by changing the image's lattice data.
For example, if your e-Paper screen is 2.7 inch, you need to provide the lattice data of 264 X 176 pixel and copy the code to ‘’’static unsigned char image_270[] PROGMEM ={}’’’ in picture.h. You need to copy the code for a lattice data of a 200x96 pixel to ‘’’static unsigned char image_200[] PROGMEM ={}’’’ when using a 2.0 inch screen.
How to Display an Image
Thanks to a contribution by Muchiri John, we got a very useful and easy-to-use tool. With this tool, displaying an image is no longer difficult.
You can download the tool here
Reference
Small e-Paper library provides complete software interfaces to exercise the capabilities of e-Paper display. There are specific description about functions.
Function Description
1. void begin(EPD_size sz);This function is setup screen size.
- sz: can be EPD_1_44, EPD_2_0, EPD_2_7.
This function is used to set the display direction.
- dir: can be DIRLEFT,DIRRIGHT,DIRNORMAL,DIRDOWN
This function can be used to display char.
c: the char you want to display.
x: the starting X-coordinate of char.
y: the starting Y-coordinate of char.
This function can be used to display char.
*string: the string you want to display.
poX: the starting X-coordinate of string.
poY: the starting Y-coordinate of string.
This function can be used to display char.
long_num: the long integer data you want to display. The max is
poX: the starting X-coordinate of data
poY: the starting Y-coordinate of data
This function can be used to display float number. The display float data is rounding according to the setting decimal place.
floatNumber: the float number you want to display.
decimal: set the decimal place.
poX: the starting X-coordinate of data.
poY: the starting Y-coordinate of data.
This function can be used to display a Character or a Chinese using unicode. See the page 18 to 24 of the GT20L16P1Y datasheet to find the Char unicode, the characters include Latin、Hebrew、 Thai、Greek、 Kirill and Arabic. The Chinese unicode can see GB2312 (Simplified Chinese) character code table.
uniCode:the machine code according to a character or a chinese.
x: the starting X-coordinate.
y: the starting Y-coordinate.
Note: the character unicode between 0x0020 to 0x007E can directly input via the keyboard. Such as the display of the character 'G' ,the function can be drawUnicode(0x0047, 3,10) or displayChar ('s',3,10);
8. int drawUnicodeString(unsigned int *uniCode, int len, int x, int y);This function can be used to display several characters and chinese.
*uniCode: a unicode array.
len: string length.
x: the starting X-coordinate of string.
y: the starting Y-coordinate of string.
This function can be used to display a line.
x0: the starting X-coordinate of line
y0: the starting Y-coordinate of line
x1: the end X-coordinate of line
y1: the end Y-coordinate of line
This function can be used to draw a circle.
poX: the X-coordinate of the center
poY: the Y-coordinate of the center
r: the radius of center
This function can be used to draw a horizontal line.
poX: the starting X-coordinate of the line.
poY: the starting Y-coordinate of the line.
len: the length of the line
This function can be used to draw a vertical line.
poX: the starting X-coordinate of the Line.
poY: the starting Y-coordinate of the Line.
len: the length of the line.
This function can be used to draw a rectangle.
poX: the starting X-coordinate of the rectangle.
poY: the starting Y-coordinate of the rectangle.
len: the length of the rectangle.
width: the width of the rectangle.
This function can be used to draw a fill rectangle.
poX: the starting X-coordinate of the rectangle.
poY: the starting Y-coordinate of the rectangle.
len: the length of the rectangle.
width: the width of the rectangle.
This function can be used to draw a fill circle.
poX: the X-coordinate of the center.
poY: the Y-coordinate of the center.
r: the radius of center
Example:
EPAPER.drawRectangle(10, 10, 100, 80); EPAPER.fillCircle(50, 50, 30); EPAPER.fillRectangle(50, 65, 50, 20); EPAPER.drawCircle(150, 50, 10); EPAPER.fillCircle(150, 50, 5); EPAPER.drawHorizontalLine(120, 50, 60); EPAPER.drawVerticalLine(150, 20, 60);
This function can be used to draw a triangle. It is formed by three points.
poX1(poX2,poX3): the X-coordinate of the triangle one point.
poY1(poY2,poY3): the Y-coordinate of the triangle one point.
Schematic Online Viewer
Resources
- [Eagle] Small e-Paper Shield Eagle File
- [PDF]Small e-PaperShield v2.1 pdf
- [EAGLE]Small e-PaperShield v2.1 SCH
- [Library] Small e-Paper Library
- [Datasheet] e-Paper panels Datasheet
- [Tool] epdImageKit Tool
- [Library] New Panel Library【EPD_V230】
Tech Support
Please submit any technical issue into our forum.