User Tools

Site Tools


epaper_display

This is an old revision of the document!


Driving the Motorola F3 e-paper display

The Motorola F3/MOTOFONE was the first (and still is the only?) mobile phone with an e-paper display. Although this is not a pixel-based display, like found in eBook-readers (e.g. the Amazon Kindle or the B&N nook), it is still quite nice for experimenting with low power microcontroller projects.

E-paper/bistable displays have the ability to sustain the display content even without the supply of power, so initial idea I had was to build something like a clock, only powering the display when updating it every minute.

The display

The display consists of 182 individually drivable segments, which form a row of six 14-segment characters, a row of six 8-segment characters, and many symbols used for user notification and the menu.

PCB with segments of the displayassembled display showing all segments
The PCB of the displayDisplay showing all segments

Display controller

As you can see from this picture, the used display controller is a Solomon Systech SSD1621. Unfortunately there is no public datasheet, so I had to sniff the (32 bit) SPI communication between the TI Locosto baseband processor and the display. The protocol turned out not to be very difficult, just some initialization, some commands for actually writing the display content, and a command to refresh the display with the just transmitted content.
The most time has been spent for actually finding out which bit was for which segment, since all segments are wired up at random to the segment outputs of the controller. This is not surprising though, given that you need a circuit path to each and every segment - “just get them wired already, we can handle the rest in software” seemed to be the motto :-)

Interfacing with the display

Normally, the baseband board and the display/keypad pcb are connected with a 32-pin connector (exact model unknown). Luckily there are pull-up resistors and capacitors for every needed signal, so I decided to solder some wires there, instead of directly to the connector. The schematics of this phone are floating around the web (just search for f3_schem.rar).

thin wires soldered to the display pcbthe connector of the display

This is the pinout of the connector, signals that were used are highlighted:

pinsignalpinsignal
01SPKPA02TEMP_SENSOR
03SPKNA04DISPLAY_BUSY1
05HS_SPK_CHARGE06HSMIC_OUT
07GND08VLED
09HSSPK_CHG_N10LED_C
11GND12DISPLAY_32K
13DISPLAY_BUSY014SYS_RESET
15SPI_nCS016SPI_CLK
17SPI_MOSI18SPI_MISO
19VIO20VBAT
21PWON22KBR(0)
23KBR(1)24KBR(2)
25KBR(3)26KBC(0)
27KBC(1)28KBC(2)
29KBC(3)30KBC(4)
31GND32PCHGAC
33RF_ANT34GND

Microcontroller

To drive the display, I'm using a TI MSP430G2231 low-power microcontroller on the TI Launchpad. The Launchpad has been populated with the external 32KHz crystal oscillator that comes with it. The connection between display and Launchpad is as follows:

MSP430display
portsignalpinsignal
P1.0ACLK 32KHz clock output12DISPLAY_32K
P1.1display supply19+20VIO+VBAT
P1.2busy input04DISPLAY_BUSY1
P1.3display reset14SYS_RESET
P1.4SPI slave-select15SPI_nCS0
P1.5SPI clock16SPI_CLK
P1.6SPI MOSI17SPI_MOSI

Launchpad with connected display

Sourcecode

The sourcecode can be found on github:

Discussion

satansitik, 2013/05/27 19:39

Hi Can You publish list of command to driving this display?

Steve M., 2013/06/13 10:40

I don't have a list, but take a look on the driver I wrote, there are some comments: https://github.com/steve-m/epaperclock/blob/master/src/display.c

Don, 2014/01/02 09:30

I am fascinated by this little phone. And I notice on amazon the many people have purchased peripherals for it, like power supplies and headphones, in the last year which makes me wonder if it is becoming popular. Anyway, the clock seems to lose a minute a day at least when in the 24hr mode. Do you have a fix or do you have a guess as to why? I greatly admire the detective work you've done. Your work is excellent.

Enter your comment
T X U T M
 
epaper_display.1298244693.txt.gz · Last modified: 2011/02/21 00:31 (external edit)