User Tools

Site Tools


epaper_display

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
epaper_display [2011/02/21 03:37]
steve_m [The display]
epaper_display [2011/07/27 23:48] (current)
steve_m [Video] embed video
Line 3: Line 3:
 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. 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.+E-paper/​bistable displays have the ability to retain ​the display content even without the supply of power, so the initial idea I had was to build something like a clock, only powering the display when updating it every minute.
  
 ===== The display===== ===== The display=====
Line 14: Line 14:
 As you can see from [[http://​www.eetindia.co.in/​ARTICLES/​2007SEP/​C/​EEIOL_2007SEP17_EMS_NETD_TA.gif|this picture]], the used display controller is a [[http://​www.solomon-systech.com/​products/​ssd1621.htm|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.\\ As you can see from [[http://​www.eetindia.co.in/​ARTICLES/​2007SEP/​C/​EEIOL_2007SEP17_EMS_NETD_TA.gif|this picture]], the used display controller is a [[http://​www.solomon-systech.com/​products/​ssd1621.htm|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 :-) 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 :-)
 +\\ By the way, since I mentioned the TI Locosto baseband: Maybe someone wants to reverse-engineer the [[http://​bb.osmocom.org/​trac/​wiki/​CalypsoRomloader#​secure-RomloaderonCalypsoplus|serial rom-bootloader]] of this ARM7-based processor, so we can drive the display directly from the phone :-P
 ===== Interfacing with the display ===== ===== 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**).+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 webjust search for **f3_schem.rar**.
  
 |{{:​f3_wires_soldered.jpg?​350|thin wires soldered to the display pcb}}|{{:​f3_display_connector.jpg?​436|the connector of the display}}| |{{:​f3_wires_soldered.jpg?​350|thin wires soldered to the display pcb}}|{{:​f3_display_connector.jpg?​436|the connector of the display}}|
Line 54: Line 54:
 |P1.5|SPI clock|16|SPI_CLK| |P1.5|SPI clock|16|SPI_CLK|
 |P1.6|SPI MOSI|17|SPI_MOSI| |P1.6|SPI MOSI|17|SPI_MOSI|
 +
 +Note: even though the MISO signal is connected in the original phone, there'​s no activity at all, so I left it unconnected. Also, DISPLAY_BUSY0 and 1 seem to be identical.
  
 {{:​msp430_epaper.jpg?​300|Launchpad with connected display}} {{:​msp430_epaper.jpg?​300|Launchpad with connected display}}
Line 59: Line 61:
 ===== Video ===== ===== Video =====
 I've [[http://​www.youtube.com/​watch?​v=HZdV2iKakqA|uploaded a video]], demonstrating the display and Launchpad being used as a low-power clock. I've [[http://​www.youtube.com/​watch?​v=HZdV2iKakqA|uploaded a video]], demonstrating the display and Launchpad being used as a low-power clock.
 +
 +{{youtube>​HZdV2iKakqA}}
  
 A few notes on the video: A few notes on the video:
-  * The timer was actually ​sped up by the factor of 10 for demonstration purposes, so 1 minute on the clock is actually 6 seconds in the video.+  * The timer has been sped up by the factor of 10 for demonstration purposes, so 1 minute on the clock is actually 6 seconds in the video.
   * Completely powering down the display also has its disadvantages. As you can see, the display needs to be initialized every time you power it up again (thus the flickering),​ which isn't needed when just disabling the 32KHz clock.   * Completely powering down the display also has its disadvantages. As you can see, the display needs to be initialized every time you power it up again (thus the flickering),​ which isn't needed when just disabling the 32KHz clock.
 +  * The second row (showing 000000) is just a counter, counting the total hours, and is intended for a runtime test with a goldcap or CR2032 battery.
 ===== Sourcecode ===== ===== Sourcecode =====
 The sourcecode can be found on github: The sourcecode can be found on github:
epaper_display.1298255850.txt.gz ยท Last modified: 2011/02/21 03:37 (external edit)