EPD Extension Kit for MSP430 LaunchPad

- Main Page
- Related Pages
- Classes
- Files

All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Quick Start Guide

This is the quick start guide for the EPD Extension board made by Pervasive Displays Inc. with its small size EPDs on how to setup the kit to MSP430 LaunchPad(MSP-EXP430G2). The code example in main.c shows two ways for EPD updates, images change alternately from image array and work with PDi's EPD Kit Tool by graphic user interface. It also instructs how to use the display functions. Please open the index.html in Doxygen html folder to better read this guide.

Note
  - PDi = Pervasive Displays Inc. http://www.pervasivedisplays.com
  - EPD = Electronic Paper Display (Electrophoretic Display)
  - EPD Extension Board/Kit = The driving board has direct socket to LaunchPad and also features 20 pin out bridges to your product or development kit
  - EPD Kit Tool = The application(user graphic interface) to work with EPD Extension kit. You can download the installer and source code at here: http://www.pervasivedisplays.com/kits/ext_kit
  - COG = Chip on Glass, the driver IC on EPD module
  - For driving PDi's small size EPDs, please read the "COG Driver Interface Timing" document(hereinafter COG Document) first. It explains the interface to the COG driver of EPD for a MCU based solution.
  - Document number: 4P008-00 Download URL: http://www.pervasivedisplays.com/LiteratureRetrieve.aspx?ID=138408
  - This project code supports EPD size: 1.44 inch, 2 inch and 2.7 inch
  - Supports MSP430 LaunchPad: MSP-EXP430G2
  - For optical performance and the best contrast ratio quality, PDi recommends following the standard stage time and running four stages to complete an EPD update.
  - Every EPD update, have to do EPD initialization first. After updating EPD, have to do the power off stage.

# File explanation

- image_data:
  It defines the image arrays of each EPD size. User can use the array without application input.
- conf_EPD: The EPD configurations.
  1. EPD_KIT_TOOL_FUNCTIONS: define it if you will work with EPD Kit Tool or comment out this define if just load two images
  2. COG_VXXX: define which COG driving waveform you will use
  3. COG_SPI_baudrate: SPI speed
  4. EPD_KIT_TOOL_VERSION: the firmware version of this project code
  5. EPD_KIT_TOOL_KIT_ID: define this kit ID, 0x0101
- EPD_Kit_Tool folder:
  If you will work with PDi's EPD Extension Kit, the commands and definitions are located in this folder.
  1. Mem_Flash:
     The functions of working with flash memory including saving image, easing images and get/set parameters.
  2. Uart_Controller:
     The functions to control and return system packets with EPD Kit Tool.
  3. Char:
     The definition of ASCII characters.
  4. EPD_Kit_Tool_Process:
     All of the functions that are provided on EPD Kit Tool.
  5. Drivers folder:
     The driver of UART and LED.
- Pervasive_Displays_small_EPD folder:
  All of the COG driving waveforms are located in this folder. Logically developer doesn't need to change the codes in this folder in order to keep correct driving the EPDs.
  Software architecture:
  [Application (ex. EPD Kit Tool)] <– [COG Interface (EPD_controller)] <– [COG Process (EPD_COG_process)] <– [Hardware Driver (EPD_hardware_driver & EPD_hardware_gpio)]
  1. EPD_hardware_driver:
     Most of the COG hardware initialization and configuration. User can implement the driver layer of EPD if some variables need to be adjusted. The provided settings and functions are Timer, SPI, PWM, temperature and EPD hardware initialization.
  2. EPD_hardware_gpio:
     GPIO pins configuration.
  3. EPD_COG_process.h:
     The common definition of COG driving process.
  4. EPD_controller:
     The interface for external function to work with EPD.
  5. EPD_COG:
     The link source of different COG and EPD switching to be used.
  6. COG folder:
     Each COG driving file presents the different waveform driving processes of COG and updating stages. The parameters of driving different EPD is defined at COG_parameters_t structure which is easy for developer adjusting initial parameters, resolution, frame time of MCU and the size of data line.
     - EPD_COG_process_Vxxx:
       The waveform driving processes and updating stages of COG v? with VXXX EPD.
     - EPD_COG_partial_update_Vxxx:
       The partial update waveform of driving processes and updating stages of COG v? with VXXX EPD.

# Use Case

1. EPD_display_from_pointer: Load two image data arrays from image_data.c according to predefined EPD size.
2. EPD_display_from_flash: Load image data from flash memory according to the command by EPD Kit Tool.

# Steps

1. Ensure the EPD is connected correctly on the EPD Extension board
2. Stack the EPD Extension board onto MSP430 LaunchPad board directly
3. Connect the LaunchPad board to computer's USB port via its USB cable
   - Run two images only:
     1. Ensure what the EPD size you are connecting. Open image_data.h file and find "#define USE_EPD_Type USE_EPD200". Change the USE_EPDXXX to the correct size.
     2. Find "conf_EPD.h" file. Comment out "#define EPD_KIT_TOOL_FUNCTIONS"
     3. Start debugging to program the driving code to MSP430 MCU. The EPD will show two images change alternately every 10 seconds (default).
   - Work with EPD Kit Tool:
     1. Find "conf_EPD.h" file. Ensure "#define EPD_KIT_TOOL_FUNCTIONS".
     2. Start debugging to program the driving code to MSP430 MCU.
     3. Install EPD Kit Tool and then execute it. On the EPD Kit Tool, click [Scan] button to search "TI_LaunchPad" kit. If found, click [Connect].
     4. Refer to EPD Extension Kit_User manual which can be downloaded in PDi website.

# PDi EPD displays

Size | PDi Model
--- | ---
1.44 | EK014AS014
2.0 | EG020AS012
2.7 | EM027AS012