1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/README.txt Mon May 27 22:41:55 2013 +0000
1.3 @@ -0,0 +1,183 @@
1.4 +Introduction
1.5 +------------
1.6 +
1.7 +The ben-epaper distribution provides a program, epaper, that runs on the Ben
1.8 +NanoNote and controls the EM027AS012 display from Pervasive Displays on an
1.9 +Embedded Artists' 2.7 inch E-paper Display module. To connect the module to
1.10 +the Ben, the 8:10 port which is typically employed to access microSD cards is
1.11 +instead used to hold a suitable breakout board that exposes the 8:10 port's
1.12 +connectors to other circuits. These connectors are in turn connected to
1.13 +specific connectors on the E-Paper Display module as follows:
1.14 +
1.15 +Sniffer UBB EM027AS012
1.16 +------- ---- -----------
1.17 +DAT2 DAT2 4 (MOSI)
1.18 +CD DAT3 6 (SSEL)
1.19 +CMD CMD 11 (PWM)
1.20 +VCC VDD 13 (PANEL)
1.21 +CLK CLK 3 (SCK)
1.22 +GND GND
1.23 +DAT0 DAT0 12 (RESET)
1.24 +DAT1 DAT1 14 (DIS)
1.25 +
1.26 +On the E-Paper Display module the socket appears as follows, with the numbered
1.27 +pins protruding from the board:
1.28 +
1.29 + Socket
1.30 +--------------------
1.31 + 2 4 6 8 10 12 14
1.32 + 1 3 5 7 9 11 13
1.33 +---------__---------
1.34 +
1.35 +However, it is more convenient to use standard male-to-male jumper wires to
1.36 +connect the Sniffer or UBB breakout board to the end of a suitable cable which
1.37 +in turn plugs into the socket on the E-Paper Display module board. The jumper
1.38 +wires plug into the holes in the cable plug. Remember that the pin numbering
1.39 +is "mirrored" on the end of the cable:
1.40 +
1.41 + __
1.42 +--------- ---------
1.43 + 1 3 5 7 9 11 13
1.44 + 2 4 6 8 10 12 14
1.45 +--------------------
1.46 + Cable
1.47 +
1.48 +In addition to the Sniffer or UBB connections, additional connections for 3.3V
1.49 +power and ground must be connected as follows:
1.50 +
1.51 +3.3V Supply EM027AS012
1.52 +----------- ----------
1.53 +GND 1 (GND)
1.54 +3V3 2 (3V3)
1.55 +
1.56 +Note that the VCC output of the 8:10 port is used as a "power control" signal
1.57 +and not to power the display board.
1.58 +
1.59 +Collecting Images for Display
1.60 +-----------------------------
1.61 +
1.62 +Before building the epaper program, you will first need to collect some images
1.63 +with the following specific properties:
1.64 +
1.65 +Width: 264 pixels
1.66 +Height: 176 pixels
1.67 +
1.68 +An image preparation program then needs to be run on a list of image filenames
1.69 +to produce suitable source files incorporated into the built program. This is
1.70 +done as follows:
1.71 +
1.72 +python tools/bitmap.py images file1.png file2.png file3.png
1.73 +
1.74 +Here, three PNG files are loaded, internally converted (the files are not
1.75 +changed), and the bitmap data written out to two files:
1.76 +
1.77 +images.c
1.78 +images.h
1.79 +
1.80 +Since the Makefile and epaper program references these files, it is
1.81 +recommended that the "images" basename be retained when running the bitmap.py
1.82 +program.
1.83 +
1.84 +Building the Software
1.85 +---------------------
1.86 +
1.87 +Before building the software, it will probably be necessary to edit the
1.88 +Makefile to specify the locations of the cross-compilation toolchain and of
1.89 +libubb. Obtaining a toolchain and libubb is currently beyond the scope of this
1.90 +document.
1.91 +
1.92 +The epaper program is built as follows:
1.93 +
1.94 +make
1.95 +
1.96 +Running the Software
1.97 +--------------------
1.98 +
1.99 +On the Ben, the epaper program can be deployed together with libubb in a
1.100 +particular directory and invoked as follows:
1.101 +
1.102 +LD_LIBRARY_PATH=. ./epaper
1.103 +
1.104 +Alternatively, the library search path can be configured properly and the
1.105 +epaper program installed in such a way that merely typing the name of the
1.106 +program is enough to run it.
1.107 +
1.108 +The epaper program accepts a list of options:
1.109 +
1.110 +<image number> This indicates which image to display (where 0 is
1.111 + the first image).
1.112 +
1.113 +--have <image number> This indicates that the display is showing the
1.114 + image with the given number (where 0 is the first
1.115 + image) and is used to influence subsequent
1.116 + options.
1.117 +
1.118 +--blank This blanks the screen, using knowledge of the
1.119 + current screen image if provided either by the
1.120 + --have option or by the display of a preceding
1.121 + image.
1.122 +
1.123 +--wait <delay in seconds> This causes a delay between operations.
1.124 +
1.125 +Hardware: Embedded Artists' 2.7 Inch E-paper Display Module
1.126 +-----------------------------------------------------------
1.127 +
1.128 +This board provides an interface to the EM027AS012 display from Pervasive
1.129 +Displays:
1.130 +
1.131 +http://www.embeddedartists.com/products/displays/lcd_27_epaper.php
1.132 +
1.133 +This software has only been tested with revision A of the board, and employs
1.134 +code from Pervasive Displays that may have been superseded upon release of new
1.135 +revisions of this and related boards (as mentioned below).
1.136 +
1.137 +More information and source code licensed under Free Software licences can be
1.138 +found on the RePaper site:
1.139 +
1.140 +http://repaper.org/
1.141 +
1.142 +Other boards that provide an interface to the EM027AS012 display and other
1.143 +displays from the same manufacturer also exist. For example:
1.144 +
1.145 +http://www.adafruit.com/products/1316
1.146 +
1.147 +This software has not been tested with such boards.
1.148 +
1.149 +Hardware: 8:10 Port Breakout Board
1.150 +----------------------------------
1.151 +
1.152 +To connect the Ben NanoNote to the E-Paper Display module, a suitable breakout
1.153 +board is required to expose the connections inside the 8:10 slot. To achieve
1.154 +this, the Sparkfun microSD Sniffer has been used:
1.155 +
1.156 +https://www.sparkfun.com/products/9419
1.157 +
1.158 +This board is apparently intended for eavesdropping on communications between
1.159 +a "host" device with a microSD slot and a microSD-based device that can be
1.160 +inserted into a slot mounted on the board (instead of being inserted directly
1.161 +into the host device). However, the board-mounted slot can be ignored and the
1.162 +exposed connections routed to the display board instead.
1.163 +
1.164 +Another board that achieves the same purpose is the Universal Breakout Board
1.165 +(UBB):
1.166 +
1.167 +http://en.qi-hardware.com/wiki/UBB
1.168 +
1.169 +The UBB is somewhat more difficult to work with as its connectors are very
1.170 +small and, compared to the microSD Sniffer, awkward to attach things to. The
1.171 +microSD Sniffer employs connectors situated around holes with 0.1 inch
1.172 +spacing, meaning that commonly available connection headers can be soldered
1.173 +onto the board.
1.174 +
1.175 +Although the labelling of the connections is different between the microSD
1.176 +Sniffer and UBB (see above), the layout appears to be identical.
1.177 +
1.178 +Contact, Copyright and Licence Information
1.179 +------------------------------------------
1.180 +
1.181 +The author can be contacted at the following e-mail address:
1.182 +
1.183 +paul@boddie.org.uk
1.184 +
1.185 +Copyright and licence information can be found in the docs directory - see
1.186 +docs/COPYING.txt and docs/gpl-3.0.txt for more information.