Nokia manufactures a wide variety of cell phones and many of their cheaper phones contain simple LCD's which may be used in microcontroller projects.  There is one particular LCD model that is used in a wide variety of their phones and is often referred to as simply a "Nokia LCD", or "Nokia 6100 LCD".  I used to use a Nokia 2600 phone and whenever I upgraded I took the Nokia apart to remove its LCD.  This LCD appears to be the same one that is sold as "Nokia 6100 LCD" and I was able to get it up and running with a bit of work using an AVR.

SparkFun sells them if you do not already have one,

You will need some sort of breakout board in order to connect the display.  Sparkfun sells several (a standard breakout, an Arduino shield, an Olimex module, etc) as well as the bare surface-mount connector.  Since all of SparkFun's boards include the LCD, I just bought the connector and made my own breakout board since I already had the LCD.

The connector:

Step 1: LCD Connector and Breakout Board

If you don't have a breakout board, you need to first make some sort of connector for the LCD.  My first attempt was to solder thin magnet wire to each leg of the connector with a fine-tip soldering iron.  This took several tries but eventually I got it connected.  I then applied generous amounts of super glue to make sure it wouldn't come apart and soldered on some thicker wires to connect to the microcontroller.

For cleaner and more practical uses, I eventually made a small breakout board for the connector that can be printed and etched using the laser printer toner transfer method.  Make sure not to put too much pressure on the transfer or the traces can be pressed together.  If this happens, you can try cutting the toner away with a sharp knife, but you'll probably end up breaking the toner trace and have to start over.

I hand-soldered the connector to the finished PCB and then added some breakaway pin headers so that the board may be breadboarded or socketed into projects while being easily removable.
How modification (MADCTL) data
Thank you for this instructable. I'm an accomplished mechanic with custom fabrication for various component and systems for race cars. I'd like to tackle a screen / illumination project on an 02 GM Tahoe. Specifically the GM message center and prnd321 / odometer screen / display. All other regularly running interior / dash lights have been switched to blue led. I'm wondering how difficult it would be to change the colors of these 2 displays also to blue to match as best as possible to the blue led color. I have a spare dash cluster to use while this project is underway. Thanks in advance for any light :) you can shed on this
<p>Have you had luck with your project? I am not familiar, but it appears the display in such vehicles is usually not an LCD of any kind, but a vacuum fluorescent discharge tube display, VFD. It's a collection of thin shaped glass vacuum tubes that are coated with a Luminophore on the inside that determines their colour; correspondingly, while they can be manufactured in various colour, their colour can not be changed afterwards. I am not aware of any possibility to get a custom one-off VFD made for you.<br><br>It's possible to reverse engineer the signals driving the display, and then create a drop in replacement, based on a microcontroller interpreting the signal and driving a graphic display of some kind, an LCD or OLED. With OLED, there is the question of suitability to vehicle use. The displays aren't intended to run for hours on end, they degrade with use. Also their brightness is typically 10 times weaker than VFD. Also very few colours are available, you may be stuck with a colour that is more similar to that of VFD blue than your chosen LED blue. With LCD, there is an aesthetic issue with lowered contrast and potentially bad viewing angles. Monochromatic LCDs usually allow replacement of LEDs lighting them, and also LCDs with adjustable RGB backlight are available. An advantage of using a graphic display on a microcontroller is that you are not stuck with static symbols, you can adorn them with effect graphics, such as the frame of PRNDL gliding across the display or magnifying the currently active mode, beautiful, easily legible font for your odometer, etc.<br><br>I think the most promising course of action is getting an SMD LED display custom fabricated. You can likely drive them with simple electronics just to reduce the current and voltage from the original VFD signalling. While you can get numeric 7-segment LED indicators, you may need again signal re-encoding with programmable logic ICs or such, and there's a possibility of colour mismatch. What i'm thinking of being most promising, is laser cutting a light barrier from black Delrin or acrylic. That can then do everything at once, both your PRNDL and your numbers. You can fill it with diffuser epoxy and set it on your custom designed LED board. You'll need a manufacturing technique like that anyway for your custom elements, and if it's automated, it won't matter whether you're doing a tiny element or a whole screen at once, and it won't matter whether you're cutting a handful of shapes into it or a hundred, and you get a uniform result.<br><br>Do you have a photograph of your display at hand so i know whether i'm thinking in the right direction? I am thinking of a display which has PRND321, a set of 7-segments for odometer, a couple of extra symbols around, but no text capability. If you have text dot matrix display which has distinct single-pixel spaces between the characters, it's likely an HD44780 signal-compatible VFD, and you can get HD44780 LCD replacements. They come with width of 8, 16, 20 and 40 characters and height of 1, 2 and 4 lines.</p>
<p>Thank you Siana!</p><p>I could not find pictures I took when I disassembled. I attached some I found online and believe it to be a VFD. On this one, It turns out the illumination color is by a colored thin plastic film on the panel. Illuminated without the panel and it is white. </p><p>Very simple for me to experiment with colored translucent films cut old out and install desired film for desired color. </p><p>The &quot;Message Center&quot; appears to be an LCD it illuminates 2 colors, orange for some advisements, red for others i.e. low battery. I would like to change the color to blue or maybe green when it lights up as part of normal starting and vehicle going thru its checks. Any thoughts you have on this would be greatly appreciated. </p><p>The other project revolves around installing an aftermarket car stereo. It has (1) auxiliary 3.5mm input audio source option on the back. I have more than 1 aux audio source I would like to use. The stereo also has an audio video 3.5mm jack. (4 contact points vs 3 on the stereo aux input. I've pinned out the correct wires and can use the audio video source for audio only and the audio plays just fine when I select audio video input from the source selector on the front of the radio... However the screen displays &quot;No Signal&quot; even though the audio source plays thru it just fine. I realize this is because it is receiving no video signal. What I am wondering is if there is a manner in which I could provide a static image of my choosing or creation to put on a thumb drive or other media, power it and feed it to the video side of the audio video input. So that when I select audio video input it will not display &quot;No Signal&quot; and would display an image while utilizing the other audio source to play music from. Thank you if you have any insight into this area.</p><p>Thank you again Siana! for your detailed and lengthy reply and information</p><p>Brandon</p>
<p>Curious. I have not considered the possibility that they would use a colour gel to tint the display. Or that one could do that afterwards.<br><br>Message center is a monochrome graphics LCD. You shall probably find some SMD LEDs on the board beneath it, that can be replaced. I am not familiar with specific display model employed, nor are there any data sheets - it has apparently been manufactured by Optrex Corporation, Japan, specifically for use by a division of General Motors, and has not been available generally or used anywhere else. Most companies wouldn't be caught dead ordering or a 45x28 LCD. For reference, the display model designation is DMF-50796H. If it's anything like i imagine it to be, there should be a metal shield retained by twisted tabs on a PCB, and merely removing the shield should give you access to the LEDs.<br><br>An interesting hack, with possibility of grand destruction, is inverting the LCD. On top of the glass is usually a polarization film that can be peeled off and replaced with one mounted 90&deg; off-angle. Tough luck if the filter is instead sandwiched between glass layers.<br><br>Apropos generating an NTSC composite static picture. There are a few possibilities that i have in mind.<br><br>The simplest is probably taking the logic board from an old digital photo frame. This seems like the ideal use case for these devices, as they are really intended to cycle between images in their intermal or external storage. Ones manufactured before 2006-ish often have a composite display inside of them, and correspondingly also have an AV-out socket with the same signal. Sometimes, same trick can be applied to portable DVD players from that early era, if they have a USB or SD card socket, and you can remove the drive. Newer devices always drive the display digitally, but if there's an AV-out socket, you can still use them, but they can be extremely rare, it seems they died out 5 years ago. Challenge will be finding a device with AV-out, and one that doesn't have an annoying splash screen and goes straight to picture viewing.<br><br>The cheapest possible hardware is Raspberry Pi Zero, although the availability is TERRIBLE. It has composite AV out on an unsoldered header pin. Challenge will be developing a custom operating system which boots in a fraction of a second and then just sits there displaying an image, by stripping away everything possible and rewriting the boot system. This kind of software job is actually right up my alley. Maybe they're losing money on it, i don't know, something like $10-$15 would seem like a more reasonable price than the $5 they officially offer it for, but even a full Pi isn't all too expensive. As to Pi alternatives, there's C.H.I.P. which is &quot;$9&quot; but so far vapourware, and Orange Pi which is like $25 and actually available, but as these are based on basically undocumented Chinese ICs, it might be difficult to cut the software down. It might seem cruel to chop down a fully featured computer as a single picture generator, but can't argue with the prices. All kinds of nominally simpler devices that i considered reprogramming for the purpose would end up being similarly or more expensive anyway, and much more effort.<br><br>Then there's a bunch of possibilities with custom hardware, but honestly they don't seem all that attractive. Luckily the PAL/NTSC colour encoder ICs no longer cost $20, so at least it's not insane. Or maybe i.MX233.<br><br>What is it that you're imagining? If a black screen or simple black and white low-resolution text will do, i think that's something i can probably do on a $1 board :)</p>
Need an idea on nokia x2-01 screen
<p>Congratulations for the very detailed and explanatory post, surely you are helping many amateur electronics enthusiasts and professionals alike.</p>
<p>Dear friends,i have nokia 2600c2 and nokia 2700c mobile. I need lcd datasheet used in these mobile. Do any budy have any idea where can i find it. I tried google but no use.</p>
<p>I have nokia 3250 and nokia 1208 screen how can i use it and how to know the connector diagram</p>
<p>Hello, I found out that which I was using was not a PCF8833 driven display but a ST7628. I wonder if the connector pinout is the same in both display types. </p><p>I read that it can be easily controlled via any 3 wire interface (which I am planning to software implement with a sort of loop till get a kind of 9-bit serial with enable/disable) in the datasheet, but as it's the driver datasheet it only shows the whole driver IC pinout instead of the 10 pin nokia LCD connector. I don't know how to connect it, I am afraid of damaging it. The display is currently working (with the phone) so if I could connect it, then it should work or show anything more than a black background.</p><p>By the way, where can I download the SMD connector to DIP layout from?</p><p>I would be thankful if you could help me with all that.</p>
i am doing a project on high speed photography controller. in which i have to interface nokia 6100 lcd with the ATMEGA 32 IC for setting parameters. i have the nokia 6100 LCD, but have few questions<br>1.how do i turn the display on?<br>2.could you please give detail description as to which pin is connected to which component.<br>3. the detailed driver circuit.<br><br>my e-mail id is: johnmarshall619@gmail.com<br>awaiting immediate response. thank you.
I posted the pinout as well as the commands. The circuit is described above as well, it's pretty simple if you take the time to look at the documentation of the LCD and read through the code. Note that Instructables is not in any way a professional help organization for your immediate needs, and no, I will not contact you in dire emergency because you didn't read the code or pinout all the way through, because you would've learned all 3 of those things by doing so. Plus, no two setups are exactly the same, you can't expect me to spit out your particular circuit...you have to do some of the work yourself!
<p>great answer.</p>
<p>bro can u get me the pcb for connector that showed in finger pic </p>
<p>Hi guy, I have one LCD for Nokia 1208b, I want use with the Arduino. This is the datasheet: <a href="http://labdegaragem.com/forum/attachment/download?id=6223006%3AUploadedFile%3A373676" rel="nofollow"> http://labdegaragem.com/forum/attachment/download...</a></p><p>But, i dont know the numbering pins on the connector. Do you can help me? Thanks</p>
Hi, i'm using a arduino mega and can't use this. The pins that was used on arduino was pwm 5-6-7-8 (data ,clock, chip select, reset). It 's right?
Can't tell you, like I said, this was not done with Arduino. This was done with AVR C and some ASM, you'll have to figure out the pin mappings based on the PORT pin names, then figure out the corresponding Arduino Mega pin number (as they don't directly correlate). The Mega also uses a different AVR part, though as long as the pin/port numbers match (or you change them as needed) you should be able to use it.
Please, show the pins that was connected on arduino, the library used and a example code. <br> <br>Thanks.
I didn't use Arduino for this, and the code is attached at the end of the Instructable. You could use the Arduino board but you need to know AVR C and have a compatible programmer (or use avrdude and upload it to the Arduino bootloader) then figure out the AVR to Arduino pin mapping yourself.
I've got my 2600c/1680 lcd having miso, mosi, sck and cs spi not data clk spi pinout as yours , how can I use your code on it ? It has pretty much the same commands with minor exceptions for example: SLEEPOUT and BOOSTERON commands are combined into SLPOUT in mine, please someone help me!
I've got a nokia 2600c/1680 lcd and I've got the pinout.It's a 128x160 color glcd.Can I use it with arduino? If yes can I have/know-where the library for it
Woa this is sick. Great work man.
I have a similar LCD from a cellphone, except the connector has more pins. Here are some pictures of the connector and the LCD. I cannot find a breakout board for it and don't know the pins configuration. <br><br>Sorry for my bad English.<br><br>Simon
I have a similar proplem but I have three LCD from cell phones with ribon cables and one touch screen dell axim x5 PDA.
hey where is the code for the 8051 uC <br>
Nice job!!!<br>i wonder if my old 2760 nokia (http://www.nokia.com.br/produtos/celulares/nokia-2760 or http://www.formymobile.co.uk/proddetail.php?prod=2760lcd) works in this tutorial too<br>you know if works?<br><br>sorry my poor english!
Was looking for a project just like this - thanks dude - great work :D
NOOOOOOOOO!!!! I just got rid of the screens/parts i had laying around like a week ago, and i had kept them for years.
That's ALWAYS how it works! It's similar to the &quot;I can find it when I don't need it, but will flip the entire house upside down and still not find it when I actually DO need it&quot; rule.<br>
yeah... in our house there are thousands of pens but when you're talking on the phone... &quot;omg, there is not any pens in the house?&quot;
For this reason, I still have stacks of old Pentium 1 era computers and parts, junk motherboards, hard drives, etc. I try to throw as little electronics out as possible, and I rip the boards out of stuff that I can't keep. Never throw away LCD's, because there's a good chance someone out there has figured out a way to use them, same with any sort of display (LED, OLED, text, 7seg, etc).
Nice. :o) I like your brain.
hey i got a lcd form a sony ericson phone, would i be able to use that or maybe the lcd from a digital camera for omething like this?
Depends, you need to figure out what interface the display uses. The Nokia displays are nice because the protocol is well documented and dead simple, others may not be so easy. If it has a low pin count (the Nokia has 10 pins) then it probably uses a serial protocol (I2C, SPI, UART, etc), otherwise it likely has a parallel interface and you will need a lot of pins on your microcontroller. Best thing would be to find the datasheet as it will have the protocol, pinout, and other necessary information.<br><br>If you absolutely can't find any info, the last resort would be to plug a scope or logic analyzer while it is connected to the phone and see how the phone's board communicates with it, chances are you'll be able to at least determine the type of protocol this way but it won't be easy to sniff all the commands.
well i havent got the rest of the phone, and it has a lot of pins, (at least 20, on a similar connector style as your lcd used) i would count them to a more precise number but its 3:27am and a bit too late to be counting such small things.<br><br>it must have a parallel interface then, because there is a LOT of pins.<br>is it more useful to just strip the lcd down for the backlight and notification light leds?
oh my god, amazing tutorial. I dream with a portable cellphones-displays videowall for a curved surface...GREAT JOB, THANKS.
Very good instructable! You made a complex thing seem so simple that I even want make a try. Congrats!
Greetings, an apology for my bad English (google helped me), he asked, how do you do to save the AVR and you need to pass it to a pic? thanks<br>very good project and very helpful.<br>add my comment in Spanish in case<br><br>---------------------------------------------------------------------------------------------------------------<br><br>saludos, una disculpa por mi mal ingles (google me ayudo), pregunta, &iquest;como le haces para grabar el AVR y que se necesita para pasarlo a un pic? gracias<br>muy buen proyecto y muy &uacute;til.<br>agr&eacute;go mi comentario en espa&ntilde;ol por si acaso
Google es terrible a traduzcando.
si pero es mejor que nada
lo admito me falta aprender ingl&eacute;s, pero google es una buena herramienta para casos urgentes, =P
Yo ofrec&iacute;a ayudar pero no s&eacute; los palabras para computar avanzado. Ingl&eacute;s es mi primero linguage,<br><br><br>Sin embargo, www.freetranslation.com es mejor que Google- menos errores.
Do you mean porting my code to a Microchip PIC microcontroller? I don't think it would be that difficult, the code is almost entirely written in C and there is a C compiler for PIC. The only thing that would require changing is the ASM routine that I describe in Step 5. You can implement this using C though it may not be as efficient as in ASM. I ported my code to the 8051 microcontroller which also uses C, but re-wrote the output function using purely C as the compiler I used (Keil uVision 4) doesn't like inline assembly very well.<br><br>I have never used PIC personally so I'm not sure how you would do this, just that it should be possible without too much effort if you know how to use the PIC's input/output pins. It is also possible that the PIC's SPI unit supports 9-bit mode directly, in which case, use that.
gracias, voy a probarlo en el pic con el programador ccs, cualquier duda, comentario o descubrimiento te lo har&eacute; saber.<br>--------------------------------------------------------------------------------------------------------------<br><br>thanks, I'll try it in the pic with the CCS program, any questions, comments or discovery I will tell you<br>
Thanks for this very nice instructable! It seems like getting an LCD that contains the Phillips controller might be a problem, since they seem to be sold without labels or specifications. I wonder if all Nokia phones use the Phillips controller? Are there any markings or part numbers on the genuine LCD from Nokia that would help to tell which controller?
There is a pretty good discussion in the SparkFun product page comments about identifying the controller. Someone said that the Phillips controller can actually send data back, but uses the same pin that is used for data input. I have not tested this. I know the Phillips and Epson controllers use a similar command set (except for initialization) and I'm pretty sure both work in 12-bit mode and use a defined region via CASET and PASET. The hex values for these are different though.<br><br>As for identifying the &quot;genuine&quot; LCD's, I have two (both taken from Nokia 2600 phones). Both have similar markings on the back.<br><br>The first:<br>UG13D004DA A16 S10.3 S5 07 26 #<br>4850835 P C<br><br>Second:<br>UG13D004DA A22 S10.3 S5 08 12 # (the 08 is obscured a bit)<br>4850835 P C<br><br>Both have a green dot to the right of the markings, the first is hand-drawn with a green marker and the second appears to have been stamped by a machine. I have attached scans (1200 dpi) of the two LCD's, front and back. You can check the markings on them against others you may find. The Philips controller may be in other &quot;clone&quot; LCD's as well though.
Here's a question: How do you discover this sort of thing? I am just getting started with micro controllers and while following another project is fun, I would love to be able to create my own.
I got into microcontrollers after seeing projects online. I bought an Arduino and played with that for a while, then moved to bare AVR's on a breadboard. I always wanted to get an LCD working and saw this LCD listed on SparkFun with a few examples on how to use it. I realized that the LCD from my phone was the same, so I decided to try it out and got it working after playing around with the example code.<br><br>I've been playing with microcontrollers since Fall 2009, and have been into electronics and programming long before then. If you want to get started with LCD's but don't want to mess with a full-color display, the 2x16 character LCD's are very easy to use and can be very useful for projects.
Thanks for that. I have a 2 x 16 LCD and it was working until yesterday when I pulled old project apart to make something new, now can't get it to go :P<br><br>I have been a PHP programmer for quite a while so the code side isn't too hard for me, it is the creating something from nothing which is still a bit of a challenge. I guess I need to just keep plugging away at it, experimenting and seeing what happens. After all, that is the fun compared to just going out and buying something made in china...which, ironically, is where I think my arduino board was made.
wow, i need to find one of those LCDS! <br>too bad all lcds wont work like this...

About This Instructable




Bio: I finally graduated from Missouri University of Science and Technology (Missouri S&T, formerly University of Missouri Rolla) with a computer engineering degree. Originally from ... More »
More by CalcProgrammer1:Cheap and Easy Tachometer (RPM Sensor) for Brushed DC Motors Cheap Home Automation using Wireless Outlet Modules ATTiny USI I2C Introduction - A powerful, fast, and convenient communication interface for your ATTiny projects! 
Add instructable to: