New

Thursday 11 March 2010

NOKIA CELLULAR PHONE HACKING


Many old Nokia cellular phones have graphical LCDs based on the PCD8544 controller. These are perfect for various electronic projects with microcontrollers. The interface is a two-wire serial type (clock and data), and some additional signals. The LCD supply is a single 3.3 V with very low supply current. This is not really a "hack"; we are merely re-using parts of the phone.

Note that information here is for the Nokia 6150 specifically. However many older models (e.g. Nokia 5110) are very similar, and hence most stuff is applicable also to those. Below is an image showing the different parts of the front PCB (back side has no components).

Note how the keypad is partly divided into rows and columns. This is because those keys are multiplexed in this way. The other keys are more or less randomly connected to the rows and columns. Each button has an edge area and a center are, between which a short-circuit is created when the button is pressed. The upper switch is used to turn the phone on and off, and the buzzer is what emits the loud beep when e.g. receiving an SMS. The three testpads are connected to the phone's internal circuits, and have no real use in this context.

Since the LCDs only have the conductive-rubber type of connection, the easiest method of hooking a microcontroller up to it is to re-use the whole PCB. The connection on the back has two rows of 14 pins each, which I numbered A1 through A14 and B1 through B14.

The image below shows the numbering convention I have used. Note that the ribbon cable was soldered to the board as part of the hack. It is normally not there when you open the phone.

A table below describes the function of each pin.

PinFunctionExplanation
A1LED & buzzer ground
A2Switch outputShorted to A8 (ground) when switch is pressed
A3LCD D/CSelects data (high) or command (low) for LCD communication
A4LCD SCLKLCD serial clock
A5LCD SDINLCD serial data
A6LCD /SCELCD chip enable (active low)
A7LCD /RESLCD reset (active low)
A8GroundLCD ground supply, middle testpad, switch ground
A9Buzzer control
A10LCD VddPositive supply for LCD (2.8 - 3.3 V), LCD Osc (note 1)
A11not connected
A12LED controlSet high to turn on LEDs
A13Speaker 1Differential driving through passive filter (?)
A14Speaker 2Differential driving through passive filter (?)
B1LED & buzzer positive supplyCa +3.9 V supply (note 2)
B2Connected to B3
B3Connected to B2
B4Leftmost testpad
B5Row 4, "right" edge
B6Row 3, "down" center, "hang up" center
B7Row 2, "answer" center, "up" center
B8Row 1, "left" center
B9Rightmost testpad
B10Column 3, switch output (through diode)(note 3)
B11Column 2
B12Column 1
B13"Left" edge, "up" edge, "down" edge, "right" center
B14"Answer" edge, "hang up" edge


camera

Live Stream