ePaper Driver Board for XIAO Version 2
The ePaper driver board features a 24-pin FPC connector, built-in charging IC for efficient and safe battery charging, and a JST 2-pin BAT connector for easy battery connection. Ideal for creating WiFi-enabled digital photo frames.
This breakout board does not include an ePaper display; the display must be purchased separately.
Introduction
Feature
- Built-in Charging IC: Ensures efficient and safe battery charging.
- BAT Connector with Switch: Allows for easy battery connection and includes a switch to combine the battery and switch for more efficient energy saving.
- 24-Pin PFC Connector: Provides versatile connectivity options for various peripherals.
- Extension IO Port: Enables connection of additional sensors, such as temperature and humidity sensors, for enhanced functionality.
- Compatible with Seeed Studio XIAO Ecosystem: Seamlessly integrates with the XIAO series(Pre-Soldering Version) for versatile project development.
Application
- Smart Home Dashboard: Display real-time information such as weather updates, calendar events, and notifications from various smart home devices.
- Energy Monitoring: Show energy consumption data from smart meters, helping homeowners track and manage their energy usage more efficiently.
- Security Alerts: Display alerts and notifications about security events, such as motion detection or door/window sensor activation.
- Smart Thermostat Display: Show temperature and humidity levels, as well as control settings for your smart thermostat.
- Digital Photo Frame: Create a WiFi-enabled digital photo frame that can display images from your smart home network.
Hardware Overview
- 24-pin FPC Conncctor: For the ePaper interface.
- JST BAT Connector: For battery connection and switch.
- XIAO Socket: For connecting the Seeed Studio XIAO development board.
- IO Break out: For connecting Grove sensors or the others controller, such Arduino UNO or Raspberry Pi.
- Power switch: For battery power control.
Pinout Definitions
ePaper SPI Pins | XIAO |
---|---|
RST | D0 |
CS | D1 |
DC | D3 |
BUSY | D2 |
SCK | D8 |
MOSI | D10 |
3V3 | 3V3 |
GND | GND |
Supported ePaper
- 1.54-inch E-paper - Dotmatix 200x200
- 2.13-inch E-Paper -Flexible Monochrome 212x104
- 2.13-inch E-Paper - Quadruple 212x104
- 2.9 inch E-paper - Monocolor 128x296
- 2.9-inch e-paper - Quadruple color 128x296
- 4.2-inch E-Paper - Monocolor 400x300
- 5.65-inch E-paper - Sevencolor 600x480
- 5.83-inch E-paper - Monocolor 648x480
- 7.5-inch E-paper - Monocolor 800x480
Getting Started
Hardware Preparation
Seeed Studio XIAO ESP32S3 | ePaper expansion board | 7.5 inch epaper screen |
---|---|---|
Except for XIAO SAMD21 haven't enough FLASH and RAM to run program in 5.65 and 7.5 inch epaper, all other XIAO support all kinds of sizes of epaper.
Insert the ePaper into the FPC Connector: Carefully slide your E-paper into the 24-pin FPC connector on the ePaper Breakout Board.
Insert the XIAO into the XIAO Socket: Align the pins and gently insert your XIAO into the XIAO socket on the board.
Software Preparation
The recommended programming tool is the Arduino IDE, and you need to configure the Arduino environment for the XIAO and add the on-board package.
If this is your first time using Arduino, we highly recommend you to refer to Getting Started with Arduino.
Step 1. Launch the Arduino application.
Step 2. Select your development board model and add it to the Arduino IDE.
If you want to use Seeed Studio XIAO RP2040 for the later routines, please refer to this tutorial to finish adding.
If you want to use Seeed Studio XIAO nRF52840 for the later routines, please refer to this tutorial to finish adding.
If you want to use Seeed Studio XIAO ESP32C3 for the later routines, please refer to this tutorial to finish adding.
If you want to use Seeed Studio XIAO ESP32S3 for the later routines, please refer to this tutorial to finish adding.
For other XIAOs, please go to that XIAO's getting started page to finish adding.
Example Demo
Demo 1.Display GUI
Step 1.Download code
Click the below button to download code
Unzip the code and choose the size of the epaper you are using and open the example.ino file via Arduino IDE.
Function Overview
Before we get started developing a sketch, let's look at the available functions
void EPD_HW_Init()
—— Full screen refresh initialization.void EPD_HW_Init_180()
——Display rotation 180 degrees initialization.void EPD_WhiteScreen_ALL(const unsigned char *datas)
—— Full screen refresh display function.Input Parameters:
- datas: The image data that needs to be refreshed.
void EPD_WhiteScreen_White()
—— Clear screen display.void EPD_WhiteScreen_Black()
—— Display all black.void EPD_DeepSleep()
—— Deep sleep function, enter the sleep mode and please do not delete it, otherwise it will reduce the lifespan of the screen.void EPD_Init_Part()
—— Partial refresh display.void EPD_SetRAMValue_BaseMap(const unsigned char * datas)
—— Partial refresh of background display.Input Parameters:
- datas: The image data that needs to be refreshed.
void EPD_Dis_PartAll(const unsigned char *datas)
—— Full screen partial refresh display.void EPD_Dis_Part(unsigned int x_start,unsigned int y_start,const unsigned char * datas,unsigned int PART_COLUMN,unsigned int PART_LINE)
—— Partial refresh display.Input Parameters:
- unsigned int x_start: The x value of the starting point.
- unsigned int y_start: The y value of the starting point
- const unsigned char * datas: Data that needs to be changed
- unsigned int PART_COLUMN: The length of the area to be changed
- unsigned int PART_LINE: The width of the area to be changed
void EPD_HW_Init_Fast()
—— Fast refresh display.void EPD_WhiteScreen_ALL_Fast(const unsigned char *datas)
—— Fast refresh display function.Input Parameters:
- datas: The image data that needs to be refreshed.
void EPD_HW_Init_Fast2()
—— Fast refresh display function.
Step 2. Run code
Select the development board you are using and click upload button to upload the code to XIAO.
When it runs well, you will see the following effect.
Demo 2. Display image
Step 1.Make a picture
Use the build-in software Paint in Windows to creat a picture with the same resolution(the resolution of different types of screens in below table) as the screen you are using, and save it asBMP
or JPG
file;
Your picture resolution must be the same as the screen you are using, for example, 4.2-inch E-paper is 400 x 300 pixels, then you can not use the size of 300 x 400, it will cause the iamge2lcd output .h
file with an extra 200 bytes.
The colors of the picture should be consistent with the standard colors of the drawing board that come with Windows.The color of the drawing board is as follows:
E-paper | Colors |
---|---|
1.54-inch E-paper - Dotmatix 200x200 | pure black and white |
2.13-inch E-Paper -Flexible Monochrome 212x104 | pure black and white |
2.13-inch E-Paper - Quadruple 212x104 | black, white, red, and yellow |
2.9 inch E-paper - Monocolor 128x296 | pure black and white |
2.9-inch e-paper - Quadruple color 128x296 | black, white, red, and yellow |
4.2-inch E-Paper - Monocolor 400x300 | pure black and white |
5.65-inch E-paper - Sevencolor 600x480 | black, white, red, yellow, blue, green, orange |
5.83-inch E-paper - Monocolor 648x480 | pure black and white |
7.5-inch E-paper - Monocolor 800x480 | pure black and white |
Step 2. Bitmap Conversion
Download and open Image2lcd.7z, unzip it and open Img2Lcd.exe.
Open the picture, select the "Output file type" as the "C array (*.c)", select the "Scan mode" as the "Horizon Scan", the other parameters setting is show in follows:
- After set the Max Width and Height, it need to click the arrow to confirm.
- Don't include head data.
Click "Save" to save the the lcd output array as a file of .h
. Keep that file, we will use it later.
Step 3.Display image
Download the Demo Code, and open the code for your specific ePaper Screen.
Take a example of using 4.2-inch ePaper and a XIAO ESP32S3, once you have downloaded and extract the demo code, please navigate and open the "4.2 inch E-paper - Monocolor 400x300" folder.
Then open the "example" folder and use Arduino IDE to open the "example.ino" file:
Put the .h
file outputed from image2lcd into the same folder of example. Reopen the example.ino and include '.h' file. Open image.h file and copy the array name to EPD_WhiteScreen_ALL() function.
Please click the Board selection dropdown menu, and then click on "Select other board and port...",
Select the communication port for your XIAO, then search and select "XIAO_ESP32S3"
Please click "upload" to flash the firmware on to XIAO
You should see the ePaper display refreahing the demo image as shown below:
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.