{
    "ok": true,
    "data": {
        "title": "EP-0133",
        "rev_id": 11183,
        "updated_at": "2021-08-27T11:54:31+00:00",
        "chunk_count": 29,
        "chunks": [
            {
                "title": "EP-0133",
                "rev_id": 11183,
                "heading_path": "",
                "chunk_index": 0,
                "content": "# EP-0133",
                "char_count": 9,
                "token_estimate": 3
            },
            {
                "title": "EP-0133",
                "rev_id": 11183,
                "heading_path": "2.13 inch E-paper (BRW)",
                "chunk_index": 1,
                "content": "<figure>\n<img src=\"Display_1_2.jpg\" title=\"Display_1_2.jpg\" width=\"320\" alt=\"Display_1_2.jpg\" \/>\n<figcaption aria-hidden=\"true\">Display_1_2.jpg<\/figcaption>\n<\/figure>",
                "char_count": 166,
                "token_estimate": 42
            },
            {
                "title": "EP-0133",
                "rev_id": 11183,
                "heading_path": "Descriptions",
                "chunk_index": 2,
                "content": "Electronic paper, also sometimes electronic ink(E-Ink) or electrophoretic display, are display devices that mimic the appearance of ordinary ink on paper.\nElectrodes located above and below the capsules move up and down when a positive or negative electric field is applied, which makes the surface of the electronic paper display reflect a certain color.\nThe consumption of E-ink is very low during operation.\nOnce the data is refreshed on the screen, it can be kept for a long time without power consumption.\nIt is very suitable for displaying some specific information for a long time.\nThe only drawback may be the slow refresh speed.\nThe E-Ink provided by the product supports BRW three colors, B stands for black, R stands for red, and W stands for white, which can be refreshed on the screen through the picture file created in advance.",
                "char_count": 842,
                "token_estimate": 211
            },
            {
                "title": "EP-0133",
                "rev_id": 11183,
                "heading_path": "Features",
                "chunk_index": 3,
                "content": "-   High Contrast\n-   Sunlight Readable\n-   low-power performance attributes\n-   Easy To Assemble",
                "char_count": 97,
                "token_estimate": 25
            },
            {
                "title": "EP-0133",
                "rev_id": 11183,
                "heading_path": "Features > Specifications",
                "chunk_index": 4,
                "content": "<img src=\"Display_5.jpg\" title=\"Display_5.jpg\" width=\"500\" alt=\"Display_5.jpg\" \/>\n\\* 122×250 pixels display\n\n-   High contrast High reflectance\n-   Ultra wide viewing angle Ultra low power consumption\n-   Pure reflective mode\n-   Bi-stable display\n-   Commercial temperature range\n-   Landscape portrait modes\n-   Hard-coat antiglare display surface\n-   Ultra Low current deep sleep mode\n-   On chip display RAM\n-   Waveform can stored in On-chip OTP or written by MCU\n-   Serial peripheral interface available\n-   On-chip oscillator\n-   On-chip booster and regulator control for generating VCOM, Gate and Source driving voltage\n-   I2C signal master interface to read external temperature sensor\n-   Built-in temperature sensor\n\n<img src=\"Display_6.jpg\" title=\"Display_6.jpg\" width=\"500\" alt=\"Display_6.jpg\" \/>",
                "char_count": 811,
                "token_estimate": 203
            },
            {
                "title": "EP-0133",
                "rev_id": 11183,
                "heading_path": "Features > Mechanical Specification",
                "chunk_index": 5,
                "content": "| Parameter           | Specifications           | Unit  | Remark  |\n|---------------------|--------------------------|-------|---------|\n| Screen Size         | 2.13                     | Inch  | \\-      |\n| Display Resolution  | 122(H)×250(V)            | Pixel | DPI:130 |\n| Active Area         | 23.705×48.55             | mm    | \\-      |\n| Pixel Pitch         | 0.1942×0.1942            | mm    | \\-      |\n| Pixel Configuration | Square                   | \\-    | \\-      |\n| Outline Dimension   | 29.2(H)×59.2 (V) ×1.0(D) | mm    | \\-      |\n| Screen Weight       | 3.2±0.5                  | g     | \\-      |",
                "char_count": 620,
                "token_estimate": 155
            },
            {
                "title": "EP-0133",
                "rev_id": 11183,
                "heading_path": "Gallery",
                "chunk_index": 6,
                "content": "-   Product Outlook",
                "char_count": 19,
                "token_estimate": 5
            },
            {
                "title": "EP-0133",
                "rev_id": 11183,
                "heading_path": "Gallery",
                "chunk_index": 7,
                "content": "|                                                                                   |                                                                                   |                                                                                   |\n|-----------------------------------------------------------------------------------|-----------------------------------------------------------------------------------|-----------------------------------------------------------------------------------|\n| <figure>\n <img src=\"Display_2.jpg\" title=\"Display_2.jpg\" width=\"320\" alt=\"Display_2.jpg\" \/>\n <figcaption aria-hidden=\"true\">Display_2.jpg<\/figcaption>\n <\/figure>                                                                          | <figure>\n                                                                                     <img src=\"Display_3.jpg\" title=\"Display_3.jpg\" width=\"320\" alt=\"Display_3.jpg\" \/>\n                                                                                     <figcaption aria-hidden=\"true\">Display_3.jpg<\/figcaption>",
                "char_count": 1065,
                "token_estimate": 267
            },
            {
                "title": "EP-0133",
                "rev_id": 11183,
                "heading_path": "Gallery",
                "chunk_index": 8,
                "content": "<\/figure>                                                                          | <figure>\n                                                                                                                                                                         <img src=\"Display_4.jpg\" title=\"Display_4.jpg\" width=\"320\" alt=\"Display_4.jpg\" \/>\n                                                                                                                                                                         <figcaption aria-hidden=\"true\">Display_4.jpg<\/figcaption>\n                                                                                                                                                                         <\/figure>                                                                          |",
                "char_count": 825,
                "token_estimate": 207
            },
            {
                "title": "EP-0133",
                "rev_id": 11183,
                "heading_path": "Package Includes",
                "chunk_index": 9,
                "content": "-   1 x 2.13 inch E-paper (BRW)",
                "char_count": 31,
                "token_estimate": 8
            },
            {
                "title": "EP-0133",
                "rev_id": 11183,
                "heading_path": "How To Use > How To Assemble",
                "chunk_index": 10,
                "content": "-   Just connect the Hat board of the e-paper to the GPIO pins of the Raspberry Pi as shown below.\n\n<img src=\"Display_7.jpg\" title=\"Display_7.jpg\" width=\"800\" alt=\"Display_7.jpg\" \/>",
                "char_count": 181,
                "token_estimate": 46
            },
            {
                "title": "EP-0133",
                "rev_id": 11183,
                "heading_path": "How To Use > How To Configure",
                "chunk_index": 11,
                "content": "-   Test Environment：",
                "char_count": 21,
                "token_estimate": 6
            },
            {
                "title": "EP-0133",
                "rev_id": 11183,
                "heading_path": "How To Use > How To Configure",
                "chunk_index": 12,
                "content": "| Item                         | Details                                                                              |\n|------------------------------|--------------------------------------------------------------------------------------|\n| Hardware                     | Raspberry Pi 3B\/3B+\/4B\/Zero\/Zero W, 2.13 inch E-paper(BRW), 5V\/3A USB-C power supply |\n| OS                           | Raspberry Pi OS                                                                      |\n| Distributor ID               | Raspbian                                                                             |\n| Description                  | Raspbian GNU\/Linux 10 (buster)                                                       |\n| Release                      | 10                                                                                   |\n| Codename                     | buster                                                                               |\n| Kernel Version               | 5.4.79-v7l+                                                                          |\n| Dependent library            | libpng-dev Version: 1.6.36-6                                                         |",
                "char_count": 1199,
                "token_estimate": 300
            },
            {
                "title": "EP-0133",
                "rev_id": 11183,
                "heading_path": "How To Use > How To Configure",
                "chunk_index": 13,
                "content": "| Dependent Third Part library | wiringPi gpio version: 2.52                                                          |",
                "char_count": 119,
                "token_estimate": 30
            },
            {
                "title": "EP-0133",
                "rev_id": 11183,
                "heading_path": "How To Use > Pin Definitions",
                "chunk_index": 14,
                "content": "-\n\n| Physical Number    | GPIO Pin number in BCM Naming System | Function | Note                      |\n|--------------------|--------------------------------------|----------|---------------------------|\n| 19                 | 10                                   | MOSI     | Master Output Slave Input |\n| 23                 | 11                                   | SCLK     | SPI Clock Pin             |\n| 24                 | 8                                    | CE0      | Chip Select               |\n| 11                 | 17                                   | IO17     | GPIO.0                    |\n| 18                 | 24                                   | IO24     | GPIO.5                    |\n| 22                 | 25                                   | IO25     | GPIO.6                    |\n| 1                  | \\-                                   | 3V3      | 3.3V Power                |\n| 6\/9\/14\/25\/30\/34\/39 | \\-                                   | GND      | Ground                    |\n\n-   Software configuration Steps\n\n1\\. After assembling, boot up Raspberry Pi and login, make sure your Pi can access internet, and then open a terminal and typing:",
                "char_count": 1177,
                "token_estimate": 295
            },
            {
                "title": "EP-0133",
                "rev_id": 11183,
                "heading_path": "How To Use > Pin Definitions",
                "chunk_index": 15,
                "content": "sudo apt-get update\n    sudo apt-get -y install libpng-dev\n    sudo apt-get -y purge wiringpi\n    sudo hash -r\n    cd \/tmp\n    wget https:\/\/project-downloads.drogon.net\/wiringpi-latest.deb\n    sudo dpkg -i wiringpi-latest.deb\n    gpio -v\n\nIf the content shown in the figure appears in the terminal, the basic environment has been installed. <img src=\"WiringPigpio2.52.jpg\" title=\"WiringPigpio2.52.jpg\" width=\"500\" alt=\"WiringPigpio2.52.jpg\" \/>",
                "char_count": 443,
                "token_estimate": 111
            },
            {
                "title": "EP-0133",
                "rev_id": 11183,
                "heading_path": "How To Use > Demo Code",
                "chunk_index": 16,
                "content": "-   Language C\n\nCreate a new file and name it: epaper.c, copy and paste following code:\n\n#include <unistd.h>\n    #include <stdio.h>\n    #include <stdlib.h>\n    #include <string.h>\n    #include <stdint.h>\n    #include <stdarg.h>\n    #include <wiringPi.h>\n    #include <wiringPiSPI.h>      \/\/ Require wiringPi library\n\n#define PNG_DEBUG 3\n    #include <png.h>\n\n#define RESET_PIN 0\n    #define DC_PIN 6\n    #define BUSY_PIN 5\n\nint fd;\n    int x, y;\n\nint width, height;\n    png_byte color_type;\n    png_byte bit_depth;\n\npng_structp png_ptr;\n    png_infop info_ptr;\n    int number_of_passes;\n    png_bytep *row_pointers;\n\n\/* Declear functions *\/\n    void abort_(const char *s, ...);\n    void read_png_file(char *file_name);\n    void process_file(void);\n    void DEPG0213RWS800F13_Wait(void);\n    void DEPG0213RWS800F13_Command(uint8_t cmd);\n    void DEPG0213RWS800F13_Data(uint8_t data);\n    void DEPG0213RWS800F13_RedOn(void);\n    void DEPG0213RWS800F13_RedOff(void);\n    void DEPG0213RWS800F13_BlackOn(void);\n    void DEPG0213RWS800F13_BlackOff(void);\n    void DEPG0213RWS800F13_UpdateAndSleep(void);\n    void DEPG0213RWS800F13_Init(void);",
                "char_count": 1136,
                "token_estimate": 284
            },
            {
                "title": "EP-0133",
                "rev_id": 11183,
                "heading_path": "How To Use > Demo Code",
                "chunk_index": 17,
                "content": "void abort_(const char *s, ...)\n    {\n          va_list args;\n          va_start(args, s);\n          vfprintf(stderr, s, args);\n          fprintf(stderr, \"\\n\");\n          va_end(args);\n          abort();\n    }\n\nvoid read_png_file(char *file_name)\n    {\n          char header[8]; \/\/ 8 is the maximum size that can be checked\n\n\/* open file and test for it being a png *\/\n          FILE *fp = fopen(file_name, \"rb\");\n          if (!fp)\n                abort_(\"[read_png_file] File %s could not be opened for reading\", file_name);\n          fread(header, 1, 8, fp);\n          if (png_sig_cmp(header, 0, 8))\n                abort_(\"[read_png_file] File %s is not recognized as a PNG file\", file_name);\n\n\/* initialize stuff *\/\n          png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);\n\nif (!png_ptr)\n                abort_(\"[read_png_file] png_create_read_struct failed\");\n\ninfo_ptr = png_create_info_struct(png_ptr);\n          if (!info_ptr)\n                abort_(\"[read_png_file] png_create_info_struct failed\");\n\nif (setjmp(png_jmpbuf(png_ptr)))\n                abort_(\"[read_png_file] Error during init_io\");",
                "char_count": 1134,
                "token_estimate": 284
            },
            {
                "title": "EP-0133",
                "rev_id": 11183,
                "heading_path": "How To Use > Demo Code",
                "chunk_index": 18,
                "content": "png_init_io(png_ptr, fp);\n          png_set_sig_bytes(png_ptr, 8);\n\npng_read_info(png_ptr, info_ptr);\n\nwidth = png_get_image_width(png_ptr, info_ptr);\n          height = png_get_image_height(png_ptr, info_ptr);\n          color_type = png_get_color_type(png_ptr, info_ptr);\n          bit_depth = png_get_bit_depth(png_ptr, info_ptr);\n\nnumber_of_passes = png_set_interlace_handling(png_ptr);\n          png_read_update_info(png_ptr, info_ptr);\n\n\/* read file *\/\n          if (setjmp(png_jmpbuf(png_ptr)))\n                abort_(\"[read_png_file] Error during read_image\");\n\nrow_pointers = (png_bytep *)malloc(sizeof(png_bytep) * height);\n          for (y = 0; y < height; y++)\n                row_pointers[y] = (png_byte *)malloc(png_get_rowbytes(png_ptr, info_ptr));\n\npng_read_image(png_ptr, row_pointers);\n\nfclose(fp);\n    }\n\nvoid process_file(void)\n    {\n          uint16_t i;\n          uint8_t tmp = 0;\n          uint8_t rBuf[4000] = {0x00};\n          uint8_t bBuf[4000] = {0x00};",
                "char_count": 979,
                "token_estimate": 245
            },
            {
                "title": "EP-0133",
                "rev_id": 11183,
                "heading_path": "How To Use > Demo Code",
                "chunk_index": 19,
                "content": "if (png_get_color_type(png_ptr, info_ptr) != PNG_COLOR_TYPE_RGB)\n                abort_(\"[process_file] input file is PNG_COLOR_TYPE_RGB but must be PNG_COLOR_TYPE_RGBA \"\n                       \"(lacks the alpha channel)\");\n          for (y = 0; y < height; y++)\n          {\n                png_byte *row = row_pointers[y];\n                for (x = 0; x < width; x++)\n                {\n                      png_byte *ptr = &(row[x * 3]);",
                "char_count": 438,
                "token_estimate": 110
            },
            {
                "title": "EP-0133",
                "rev_id": 11183,
                "heading_path": "How To Use > Demo Code",
                "chunk_index": 20,
                "content": "\/\/ Extract the red color of the drawing board\n                      if (ptr[0] == 237 && ptr[1] == 28 && ptr[2] == 36)\n                      {\n                            \/\/     printf(\"Pixel at position [ %d - %d ] has Red Color.\\n\",x, y);\n                            \/\/ We must first calculate which byte this pixel falls on\n                            tmp = rBuf[16 * y + (15 - x \/ 8)];\n                            rBuf[16 * y + (15 - x \/ 8)] = tmp | (1 << (x % 8));\n                      }\n                      \/\/ Extract the black color of the drawing board\n                      else if (ptr[0] == 255 && ptr[1] == 255 && ptr[2] == 255)\n                      {\n                            \/\/     printf(\"Pixel at position [ %d - %d ] has Black Color.\\n\",x, y);\n                            \/\/ We must first calculate which byte this pixel falls on\n                            tmp = bBuf[16 * y + (15 - x \/ 8)];\n                            bBuf[16 * y + (15 - x \/ 8)] = tmp | (1 << (x % 8));\n                      }\n                      ptr[0] = 0;\n                      ptr[1] = ptr[2];\n                }\n          }\n\nDEPG0213RWS800F13_Init();",
                "char_count": 1150,
                "token_estimate": 288
            },
            {
                "title": "EP-0133",
                "rev_id": 11183,
                "heading_path": "How To Use > Demo Code",
                "chunk_index": 21,
                "content": "DEPG0213RWS800F13_Wait();\n          DEPG0213RWS800F13_Command(0x26);\n          for (i = 0; i < 4000; i++)\n          {\n                DEPG0213RWS800F13_Data(rBuf[i]);\n          }\n          DEPG0213RWS800F13_Wait();\n          DEPG0213RWS800F13_Command(0x24);\n          for (i = 0; i < 4000; i++)\n          {\n                DEPG0213RWS800F13_Data(bBuf[i]);\n          }\n\nDEPG0213RWS800F13_UpdateAndSleep();\n    }\n\nvoid DEPG0213RWS800F13_Wait(void)\n    {\n          while (1)\n          {\n                if (digitalRead(BUSY_PIN) == 0)\n                      break;\n                usleep(5);\n          }\n          usleep(100);\n    }\n\nvoid DEPG0213RWS800F13_Command(uint8_t cmd)\n    {\n          digitalWrite(DC_PIN, 0);\n          uint8_t buffer[1] = {cmd};\n          wiringPiSPIDataRW(fd, buffer, 1);\n    }\n\nvoid DEPG0213RWS800F13_Data(uint8_t data)\n    {\n          digitalWrite(DC_PIN, 1);\n          uint8_t buffer[1] = {data};\n          wiringPiSPIDataRW(fd, buffer, 1);\n    }",
                "char_count": 973,
                "token_estimate": 244
            },
            {
                "title": "EP-0133",
                "rev_id": 11183,
                "heading_path": "How To Use > Demo Code",
                "chunk_index": 22,
                "content": "void DEPG0213RWS800F13_RedOn(void)\n    {\n          uint16_t i;\n          DEPG0213RWS800F13_Wait();\n          DEPG0213RWS800F13_Command(0x26);\n          for (i = 0; i < 4000; i++)\n          {\n                DEPG0213RWS800F13_Data(0xFF);\n          }\n    }\n\nvoid DEPG0213RWS800F13_RedOff(void)\n    {\n          uint16_t i;\n          DEPG0213RWS800F13_Wait();\n          DEPG0213RWS800F13_Command(0x26);\n          for (i = 0; i < 4000; i++)\n          {\n                DEPG0213RWS800F13_Data(0x00);\n          }\n    }\n\nvoid DEPG0213RWS800F13_BlackOn(void)\n    {\n          uint16_t i;\n\nDEPG0213RWS800F13_Wait();\n          DEPG0213RWS800F13_Command(0x24);\n          for (i = 0; i < 4000; i++)\n          {\n                DEPG0213RWS800F13_Data(0x00);\n          }\n    }\n\nvoid DEPG0213RWS800F13_BlackOff(void)\n    {\n          uint16_t i;\n\nDEPG0213RWS800F13_Wait();\n          DEPG0213RWS800F13_Command(0x24);\n          for (i = 0; i < 4000; i++)\n          {\n                DEPG0213RWS800F13_Data(0xFF);\n          }\n    }\n\nvoid DEPG0213RWS800F13_UpdateAndSleep(void)\n    {\n          DEPG0213RWS800F13_Command(0x20);\n          DEPG0213RWS800F13_Wait();",
                "char_count": 1140,
                "token_estimate": 285
            },
            {
                "title": "EP-0133",
                "rev_id": 11183,
                "heading_path": "How To Use > Demo Code",
                "chunk_index": 23,
                "content": "DEPG0213RWS800F13_Command(0x10);\n          DEPG0213RWS800F13_Data(0x01);\n          usleep(100 * 1000);\n    }\n\nvoid DEPG0213RWS800F13_Init(void)\n    {\n          usleep(10 * 1000);\n          digitalWrite(RESET_PIN, 0);\n          usleep(10 * 1000);\n          digitalWrite(RESET_PIN, 1);\n          usleep(10 * 1000);\n          DEPG0213RWS800F13_Wait();\n          DEPG0213RWS800F13_Command(0x12);\n          DEPG0213RWS800F13_Wait();\n    }\n\nint main()\n    {\n          wiringPiSetup();\n          \/\/ DC\n          pinMode(DC_PIN, OUTPUT);\n          \/\/ RST\n          pinMode(RESET_PIN, OUTPUT);\n          \/\/ BUSY\n          pinMode(BUSY_PIN, INPUT);\n\nfd = wiringPiSPISetup(0, 500000);\n\nread_png_file(\"new.png\");\n          process_file();\n\n\/* display testing code *\/\n          printf(\"Preparing to paint all red\\n\");\n          DEPG0213RWS800F13_Init();\n          DEPG0213RWS800F13_RedOn();\n          DEPG0213RWS800F13_BlackOff();\n          DEPG0213RWS800F13_UpdateAndSleep();\n           sleep(3);",
                "char_count": 984,
                "token_estimate": 246
            },
            {
                "title": "EP-0133",
                "rev_id": 11183,
                "heading_path": "How To Use > Demo Code",
                "chunk_index": 24,
                "content": "printf(\"Preparing to paint all black\\n\");\n          DEPG0213RWS800F13_Init();\n          DEPG0213RWS800F13_RedOff();\n          DEPG0213RWS800F13_BlackOn();\n          DEPG0213RWS800F13_UpdateAndSleep();\n          sleep(3);\n\nprintf(\"Preparing to paint all white\\n\");\n          DEPG0213RWS800F13_Init();\n          DEPG0213RWS800F13_RedOff();\n          DEPG0213RWS800F13_BlackOff();\n          DEPG0213RWS800F13_UpdateAndSleep();\n          sleep(3);\n          *\/\n\nreturn 0;\n    }\n\n-   Save it and Compile it\n\n<!-- -->\n\ngcc -o epaper -lwiringPi -lpng epaper.c\n    sudo .\/epaper\n\n------------------------------------------------------------------------\n\n-   Python\n\n<!-- -->\n\nRequired: spidev, RPi.GPIO, PIL(Pillow) libraries in Python\n\n| library  | Version |\n|----------|---------|\n| spidev   | 3.4     |\n| RPi.GPIO | 0.7.0   |\n| Pillow   | 5.4.1   |\n\n-   How to install libraries:\n\n<!-- -->\n\npip3 install pillow\n    pip3 install RPi.GPIO\n    pip3 install spidev\n\n-   Demo code from GitHub:\n\n<!-- -->\n\ncd ~\n    git clone https:\/\/github.com\/geeekpi\/epaper.git\n    cd epaper\/\n    python3 eink2.13_demo.py",
                "char_count": 1095,
                "token_estimate": 274
            },
            {
                "title": "EP-0133",
                "rev_id": 11183,
                "heading_path": "How To Use > Demo Code",
                "chunk_index": 25,
                "content": "And the display will flash \\`red\\`, \\`black\\`, \\`white\\` and finally a picture.\n<b>NOTE: Please prepare the test.png picture in advance. The test.png in the code is just a sample picture and can be generated according to your needs. The format of the picture is recommended to use the PNG format, which can be generated by Microsoft's mspaint tool. The size of the picture:<\/b><b>122x250 pixels.<\/b>",
                "char_count": 399,
                "token_estimate": 100
            },
            {
                "title": "EP-0133",
                "rev_id": 11183,
                "heading_path": "How to create picture via MSPAINT tool",
                "chunk_index": 26,
                "content": "-   Press \"windows icon\" + \"r\" on the keyboard, and typing this command in the \"run\" window:\n\n<!-- -->\n\n    mspaint.exe\n\n-   Click \"File\" and navigate to \"properties\" (or press ALT+E for short) and input the dimension as :<b>128 x 250<\/b>\n\n<img src=\"Epaper-howto.jpg\" title=\"Epaper-howto.jpg\" width=\"500\" alt=\"Epaper-howto.jpg\" \/>\n<img src=\"Epaper-howto2.jpg\" title=\"Epaper-howto2.jpg\" width=\"500\" alt=\"Epaper-howto2.jpg\" \/>\n\\* Draw the pattern you like on the canvas. It should be noted that only two colors can be used: <b>red and black.<\/b> <img src=\"Epaper-howto3.jpg\" title=\"Epaper-howto3.jpg\" width=\"500\" alt=\"Epaper-howto3.jpg\" \/>\n\\* Save it and upload it to Raspberry Pi and modify the demo code and replace the file name with it's name.\n\n-   Execute the demo code and it will flash several times and the drawing will be on the screen.",
                "char_count": 843,
                "token_estimate": 211
            },
            {
                "title": "EP-0133",
                "rev_id": 11183,
                "heading_path": "Keywords",
                "chunk_index": 27,
                "content": "-   2.13 inch E-paper (BRW), E-paper, EPD, e-ink, Electronic Ink, Electronics Ecosystem, display module.",
                "char_count": 104,
                "token_estimate": 26
            },
            {
                "title": "EP-0133",
                "rev_id": 11183,
                "heading_path": "FAQ",
                "chunk_index": 28,
                "content": "-   Is it possible to do a partial update?\n\n` It can be partially updated, but after refreshing many times there will be ghosting, it is not recommended to partially updated, there is no demo program, you need to reconfigure the LUT according to the actual app, more detail can get from the PDF document: `[`File:DEPG0213RWS800F13`` ``V1.2`` ``FINAL.pdf`](File:DEPG0213RWS800F13_V1.2_FINAL.pdf \"wikilink\")",
                "char_count": 405,
                "token_estimate": 102
            }
        ]
    }
}