1.  Description and Scope 
This document applies to the AF E Ink waveform flash memory file.  The waveform flash file is designed for 
use with an E Ink approved compatible controller (with advanced Generation II capabilities), an E Ink 
approved Power Management Integrated Circuit (PMIC), and an Active Matrix Electronic Paper Display 
(AMEPD) panel using E Ink Carta Imaging Film. Verified AMEPDs are listed in Section 5.  The AF waveform is 
a high performance 4-bit (16-level) grayscale waveform.  The AF waveform look-up tables are defined in a 
5-bit (32-level) pixel state representation where the 16 graytones are assigned to the even pixel states (0, 2, 
4, … 30), where 0 is black and 30 is white. 
 
The waveform flash memory file contains temperature look-up tables (LUTs), waveform sequence data, 
algorithm data, voltage data, controller settings, and manufacturing data.  Each AF waveform is specifically 
adjusted for a particular display module lot. This specification document is for use by E Ink Corporation and 
their customers under non-disclosure agreements.  E Ink Corporation will be responsible for maintaining 
and controlling specification revisions. 
 
 
2.  Waveform Flash File Format 
 
2.1 Introduction 
The controller generates display waveforms using an internal or external flash file. The waveform flash file 
contains multiple temperatures look-up-tables (LUTs). Each temperature LUT contains the waveform 
sequence information to allow the controller to properly construct a waveform used to generate images on 
the display. Several update modes are encoded in the AF waveform within each temperature LUT. 
 
2.2 Pixel State Usage 
For the AF waveform, the LUTs are defined for a 5-bit (32-level) pixel state representation. Graytones 1-16 
are assigned to the even pixel states (0, 2, 4, … 30), respectively.  The odd pixels states (1, 3, 5, … 27) are 
not used. Odd pixel states 29 and 31 (along with state 30) are used to denote graytone 16; states 29 and 31 
are used to invoke special transitions to graytone 16. 
 
2.3 Display Update Modes 
 
 DU 
INIT  
2.3.1 
The initialization (INIT) mode is used to completely erase the display and leave it in the white state. It is 
useful for situations where the display information in memory is not a faithful representation of the optical 
state of the display, for example, after the device receives power after it has been fully powered down. This 
waveform switches the display several times and leaves it in the white state.  
 
2.3.2 
The direct update (DU) is a very fast, non-flashy update. This mode supports transitions from any graytone 
to black or white only. It cannot be used to update to any graytone other than black or white.   The fast 
update time for this mode makes it useful for response to touch sensor or pen input or menu selection 
indictors. 
 
 
 
 
2.3.3  GC16 
The grayscale clearing (GC16) mode is used to update the full display and provide a high image quality. 
When GC16 is used with Full Display Update the entire display will update as the new image is written.  If a 
Partial Update command is used the only pixels with changing graytone values will update.  The GC16 mode 
has 16 unique gray levels.  
 
2.3.4  GL16 
The GL16 waveform is primarily used to update sparse content on a white background, such as a page of 
anti-aliased text, with reduced flash. The GL16 waveform has 16 unique gray levels.  
 
2.3.5  GLR16 
The GLR16 mode is used in conjunction with an image preprocessing algorithm to update sparse content on 
a white background with reduced flash and reduced image artifacts.  The GLR16 mode supports 16 
graytones. If only the even pixel states are used (0, 2, 4, … 30), the mode will behave exactly as a traditional 
GL16 waveform mode. If a separately-supplied image preprocessing algorithm is used, the transitions 
invoked by the pixel states 29 and 31 are used to improve display quality.  For the AF waveform, it is 
assured that the GLR16 waveform data will point to the same voltage lists as the GL16 data and does not 
need to be stored in a separate memory. 
 
2.3.6  GLD16 
The GLD16 mode is used in conjunction with an image preprocessing algorithm to update sparse content 
on a white background with reduced flash and reduced image artifacts.  It is recommended to be used only 
with the full display update. The GLD16 mode supports 16 graytones. If only the even pixel states are used 
(0, 2, 4, … 30), the mode will behave exactly as a traditional GL16 waveform mode. If a separately-supplied 
image preprocessing algorithm is used, the transitions invoked by the pixel states 29 and 31 are used to 
refresh the background with a lighter flash compared to GC16 mode following a predetermined pixel map 
as encoded in the waveform file, and reduce image artifacts even more compared to the GLR16 mode.  For 
the AF waveform, it is assured that the GLD16 waveform data will point to the same voltage lists as the 
GL16 data and does not need to be stored in a separate memory. 
 
 
2.3.7  DU4 
The DU4 is a fast update time (similar to DU), non-flashy waveform. This mode supports transitions from 
any gray tone to gray tones 1,6,11,16 represented by pixel states [0 10 20 30]. The combination of fast 
update time and four gray tones make it useful for anti-aliased text in menus. There is a moderate increase 
in ghosting compared with GC16. 
 
2.3.8  A2 
The A2 mode is a fast, non-flash update mode designed for fast paging turning or simple black/white 
animation. This mode supports transitions from and to black or white only. It cannot be used to update to 
any graytone other than black or white. The recommended update sequence to transition into repeated A2 
updates is shown in Figure 1. The use of a white image in the transition from 4-bit to 1-bit images will 
reduce ghosting and improve image quality for A2 updates.  
 
 
standard 
transition 
fast drive 
D
A
A
4-bit 
white image 
1-bit 
1-bit 
 
 
Figure 1 Recommended update sequence for transitioning into A2 
 
It is also recommended to use a white image after a sequence of A2 updates as shown in Figure 2 
 
fast drive 
transition 
standard drive 
A2 
GC16 
1-bit image 
white image 
4-bit image 
 
Figure 2 Recommended update sequence for transitioning out of A2 
 
 
 
 
2.4 Mode Version 
Table 1 and Table 2 defines the mode and what mode versions available.  
Table 4 lists which mode version is available for each AMEPD part number.  
Table 1 Waveform Mode Summary 
Mode 
Supported pixel state transitions 
Ghosting 
Usage 
Typical 
update time 
at 25 C 85 
Hz  (ms) 
INIT 
DU 
[0 1 2 3 … 31] 30 
N/A 
Display initialization 
2000 
[0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 29 30 
31] [0 30] 
Low 
Monochrome menu, 
text input, and 
touch screen/pen 
input 
260 
GC16 
[0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 29 30 
31] [0 2  4 6 8 10 12 14 16 18 20 22 24 26 28  
Very Low  High quality images 
450 
30] 
GL16 
[0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 29 30 
31] [0 2  4 6 8 10 12 14 16 18 20 22 24 26 28  
Medium 
30] 
GLR16 
[0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 29 30 
31] [0 2  4 6 8 10 12 14 16 18 20 22 24 26 28 
29 30 31] 
GLD16 
[0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 29 30 
31] [0 2  4 6 8 10 12 14 16 18 20 22 24 26 28 
29 30 31] 
Low 
Low 
A2 
DU4 
[0 29 30 31] [0 30] 
Medium 
[0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 29 30 
31]  
[0 10 20 30] 
Medium 
 
Text with white 
background 
Text with white 
background 
Text and graphics 
with white 
background 
Fast page flipping at 
reduced contrast 
Anti-aliased text in 
menus / touch and 
screen/pen input 
450 
450 
450 
120 
290 
Table 2 Mode Version Description 
Offset 
0x16 
Value 
0x00 
Offset 
0x10 
Value 
0x19 
Mode 0  Mode 1  Mode 2  Mode 3  Mode 4  Mode 5  Mode 6  Mode 7 
INIT 
DU 
GC16 
GL16 
GLR16 
GLD16 
A2 
DU4 
 
 
Controller settings and manufacturing data 
3. 
The information section describes the information held in the first 24 bytes of the flash file.  The bytes are 
defined in Table 3. 
Table 3 Waveform Header Information 
Size 
Offset (bytes) 
(bytes) 
Data 
Allowed Values  
Comments 
0x00 
0x04 
0x08 
0x0C 
0x0D 
0x0E 
0x10 
0x11 
0x12 
0x13 
0x14 
0x15 
0x16 
0x17 
0x18 
0x19 
0x1C 
0x1F 
CHECKSUM 
0x00000000– 0xFFFFFFF 
CRC32 Checksum calculated on the entire binary data file, 
assuming a value of 0x00000000 for the checksum bytes. 
FILE LENGTH 
0x00000000– 0xFFFFFFF  File length in bytes (32-bit little-endian value). 
SERIAL # 
0x00000000 – 0xFFFFFFF 
RUN TYPE 
RESERVED 
0x11 -0xFF 
0x00-0xFF 
Unique 32-bit little-endian value assigned to each 
released waveform file.  0x00000000 = no serial # 
assigned. 
8-bit value representing the type of FPL runs.  
R = 0x11 
RESERVED 
FPL LOT 
0x0000 – 0xFFFF 
FPL lot number, (16-bit value, little-endian).  
4 
4 
4 
1 
1 
2 
1  MODE VERSION 
See Table 2 
See Table 2. 
(Mode descriptions can be found in Table 2.) 
1 
WF VERSION 
0x00-0xFF 
Waveform version 
1  WF SUBVERSION 
0x00-0xFF 
Waveform subversion 
1 
1 
1 
1 
1 
1 
1 
3 
1 
WF TYPE 
0x51 
Waveform type: 0x51= AF 
RESERVED 
AMEPD Part 
Number 
WFM REV 
FRAME RATE 
0x00-0xFF 
RESERVED 
See Table 4 
 
0x00 
0x85 
0x00  =  AF WFM Rev00;   
0x85 = 85 Hz   [Field definition deprecated in 0x02 WBF 
Header Revision, Do Not Use field on future designs] 
FRAME RATE 
0x00-0xFF 
Frame rate converted to Hex, i.e. (0x55 = 85Hz) 
0x00 =  
User should set the Vcom (VCOM(applied)) to VCOM 
stored in the module flash plus the VCOM_OFFSET 
specified in  the Voltage Control Information(VCI). 
 
0x01 value is reserved (for customer compatibility with 
the VCOM OFFSET field) 
 
VCOM OFFSET 
0x00 
XWIA 
CS1 
0x000000- 0xFFFFFF 
Extra Waveform Information (XWI) address. The  XWI 
contains the waveform filename. (see Section 3.1) 
0x00-0xFF 
Checksum of bytes 0-30 with bytes 0-7 set to 0x00. 
0x27 
1 
AWV 
0x00-0xFF 
0x00= No Advance WFM information is included; Gen I 
compatible 
0x01= Voltage Control format V2 
0x02= Algorithm Control only; 
0x03= Voltage Control and Algorithm Control;