Skip to main content

Getting Started XIAO eInk Expansion Board


Meet the XIAO eInk Expansion Board, your go-to solution for driving eInk displays with XIAO family effortlessly. Designed with a 24-pin FPC connector, this board provides a seamless link to our eInk product series, if you're looking to expand your options, the 8-pin 2.54 Header allows you to easily integrate any microcontroller of your choice. Think of this board as your eInk's "Best Friend Forever," enhancing its capabilities and making your life easier.

note

This breakout board does not include an eInk display; the display must be purchased separately.

Introduction

Features

  • 24-pin FPC Connector: Provides a robust and reliable connection to eInk displays.
  • XIAO Socket: Allows you to use XIAO as the processor, offering a compact yet powerful control solution.
  • 8-pin 2.54 Header: Offers flexibility by letting you connect to any microcontroller, opening up a world of possibilities.
  • Plug-and-Play: Designed for ease of use, making it perfect for both beginners and experts.
  • Versatile Applications: Suitable for a wide range of eInk displays, from small to large sizes.

Applications

  • Digital Signage: Use the eInk Breakout Board to create dynamic and energy-efficient digital signs.
  • E-Readers: Build your own customized e-reader with features tailored to your needs.
  • Smart Home Control Panels: Integrate the board into a smart home system for a sleek and modern control panel.
  • Retail Price Tags: Create electronic price tags for a more efficient and eco-friendly retail experience.
  • Educational Tools: Develop interactive educational materials that can be easily updated and are energy-efficient.

Hardware Overview

  1. 24-pin FPC Conncctor: For the 2.13 inch ePaper.
  2. XIAO Socket: For connecting the Seeed Studio XIAO development board.
  3. IO Break out: For connecting the others controller, such Arduino UNO or Raspberry Pi.

Pinout Definitions

eInk SPI PinsXIAO
RSTD0
CSD1
DCD3
BUSYD5
SCKD8
MOSID10

Supported eInk

  1. 1.54-inch E-paper - Dotmatix 200x200
  2. 2.13-inch E-Paper -Flexible Monochrome 212x104
  3. 2.13-inch E-Paper - Quadruple 212x104
  4. 2.9 inch E-paper - Monocolor 128x296
  5. 2.9-inch e-paper - Quadruple color 128x296
  6. 4.2-inch E-Paper - Monocolor 400x300
  7. 5.65-inch E-paper - Sevencolor 600x480
  8. 5.83-inch E-paper - Monocolor 648x480
  9. 7.5-inch E-paper - Monocolor 800x480

Use of the Image2lcd software

How to Make Picture

Use the build-in software Paint in Windows to creat a picture with the same resolution as the screen you are using, and save it asBMP or JPG file;

note

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-paperColors
1.54-inch E-paper - Dotmatix 200x200pure black and white
2.13-inch E-Paper -Flexible Monochrome 212x104pure black and white
2.13-inch E-Paper - Quadruple 212x104black, white, red, and yellow
2.9 inch E-paper - Monocolor 128x296pure black and white
2.9-inch e-paper - Quadruple color 128x296black, white, red, and yellow
4.2-inch E-Paper - Monocolor 400x300pure black and white
5.65-inch E-paper - Sevencolor 600x480black, white, red, yellow, blue, green, orange
5.83-inch E-paper - Monocolor 648x480pure black and white
7.5-inch E-paper - Monocolor 800x480pure black and white

Bitmap Conversion

Step 1. Open Image2lcd.7z, extract it and open the application.

Step 2. 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:

EpaperBitPixlMax Width and HeightReverse colorDisplay mode
1.54-inch E-paper - Dotmatix 200x200Monochrome200x200Mirror left-right
2.13-inch E-Paper -Flexible Monochrome 212x104Monochrome104x212Normal
2.13-inch E-Paper - Quadruple 212x104 4 Gray104x212/Normal
2.9 inch E-paper - Monocolor 128x296Monochrome128x296Normal
2.9-inch e-paper - Quadruple color 128x296 4 Gray128x296/Normal
4.2-inch E-Paper - Monocolor 400x300Monochrome400x300Mirror left-right
5.65-inch E-paper - Sevencolor 600x480256 colors600x448/Normal
5.83-inch E-paper - Monocolor 648x480Monochrome600x480Mirror left-right
7.5-inch E-paper - Monocolor 800x480Monochrome800x480Mirror left-right
tip
  • After set the Max Width and Height, it need to click the arrow to confirm.
  • Don't include head data.

Step 3. Click "Save" to save the the lcd output array as a file of .h.

Getting Started

To use the XIAO eInk Expansion Board, we need to program the XIAO series. The table of different sizes E-paper supported by XIAO is as follows:

E-paper / XIAOXIAO SAMD21XIAO RP2040XIAO nRF52840XIAO ESP32-C3XIAO ESP32-S3
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 600x480FLASH overflowd
5.83-inch E-paper - Monocolor 648x480
7.5-inch E-paper - Monocolor 800x480RAM overflowed

Hardware Preparation

Step 1. Material preparation

Seeed Studio XIAO SAMD21Seeed Studio XIAO RP2040Seeed Studio XIAO nRF52840 (Sense)Seeed Studio XIAO ESP32C3Seeed Studio XIAO ESP32S3 (Sense)

STEP 2. Insert the XIAO into the XIAO Socket: Align the pins and gently insert your XIAO into the XIAO socket on the board.

STEP 3. Insert the eInk into the FPC Connector: Carefully slide your E-paper into the 24-pin FPC connector on the ePaper Breakout 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.

tip

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 SAMD21 for the later routines, please refer to this tutorial to finish adding.

  • 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.

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.

Example Demo

Step 1. Download the Demo Code, and open the code for your specific eInk Screen.


Step 2. Take a example of using 4.2-inch eInk 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, use Arduino to open the "example.ino" file:

Step 3. Put the .h file outputed from image2lcd into the same folder as example, and include it:

Step 4. Please click the Board selection dropdown menu, and then click on "Select other board and port...",

Step 5. Select the communication port for your XIAO, then search and select "XIAO_ESP32S3"

Step 6. Please click "upload" to flash the firmware on to XIAO

Step 7. You should see the eInk display refreahing the demo image as shown below:

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.

Loading Comments...