Love this tutorial. I've been coding C for over 20 years yet I found this explanation fascinating. You know by now they are pointers and the * dereferences the memory location. But it didn't affect the video that you weren't sure back in 2014. Really, really interesting video Julian. Loved it!
@bgable77073 жыл бұрын
I just had to drop a comment here. I've finally got around to working with this display. And low and behold, after viewing many YT video, this one potted up. 2013, wow, I had to watch it. Yes, we've come a long way in how things used to be done. I've watched MANY of your others videos. Great content, interesting and amusing too. And yes, I've come to realize that the data sheets are the Bible of how things work. Thanks for all the time and effect! Now on to part II
@kshitijkolhe1944 жыл бұрын
I had bought the lcd and had connected by looking at the goodled images of wiring diagrams. Your video has provided with a huge help in correcting my mistake. I was completely fed up of the display as it wont work, but this tutorial was just too good and was a huge help. Thanks :)
@DavidHoshor9 жыл бұрын
Thank you for posting these tutorials on the Nokia 5110. I bought two of them over two years ago, and they were just sitting unused because I couldn't work out how to use them, but your instructions made it easy. Thanks.
@DaveW_googleplus7 жыл бұрын
This helped me get my Nokia 5110 - which I thought was dead - to show life. Great, clear, and thorough!
@dgrice18 жыл бұрын
I am a couple of years late, but these 3 videos were great. I not only got the display working, but learned a lot as well. Thanks
@bangleoelektro2 ай бұрын
So this is how to drive the LCD fully manual without any library. Because I saw most tutorials playing this lcd with the help of library to make it easier to work.
@andrewbuckau579210 жыл бұрын
I have a different screen, and even though I found the data sheet..I had no idea how to read it. Specifically ~9:00 - 13:45 was extremely helpful. Much appreciated. .
@hemenkalita65827 жыл бұрын
you are a smart man. You literally decoded that unreadable datasheet.
@kamussuwanto3097 Жыл бұрын
Very nice tutorial. You added code in description is what everyone like. Thank you
@Mauda769 жыл бұрын
The best tutorial I've ever seen ! Thank you ! ! !
@MobiusHorizons8 жыл бұрын
Great Tutorial!! Probably the most accessible i've seen for working with this kind of display.
@AaronCZim11 жыл бұрын
This is just what I needed to get my project going. Thanks.
@jacobfield22148 жыл бұрын
Hurrah! Agreed that it really helps to be a stickler on datasheets. I did that when trying to figure out how to use an old speech synthesizer chip (SPO256-AL2) with my arduino. It really helped.
@JohannSwart_JWS8 жыл бұрын
Hi Julian, thanks for this series. Definitely saved me some time. After a lot of experimentation with this display, and the u8glib, I've come to the conclusion that this display definitely does not want to be driven from 5V VCC, and with 5V logic. It does survive the ordeal, but the display quality suffers a lot. If you run the GraphicsTest example from u8glib from 3.3V and from 5V, you will clearly see a huge difference in display quality. Its virtually impossible to get good bias, temp and contrast values with 5V. But with 3.3V it works just fine. The values (for u8glib) are defined in a file at /Arduino/libraries/U8glib/src/clib/ u8g_dev_pcd8544_84x48.c on my Mac. Should be somewhere similar for Windoze users. This may vary, but I got excellent results with temp=0x005, bias=0x011, contrast(Vop)=0x0BF. I'm busy getting a ATMEGA328P running at 3.3V, 8MHz, so no level conversions are necessary. This will be a "backpack" I2C processor for the 5110. Lots of memory and I/O lines available. PS: I'm using the 5110 from Sparkfun - slightly different from yours: learn.sparkfun.com/tutorials/graphic-lcd-hookup-guide. Hope this helps someone. Best regards!
@aliyousefi50104 жыл бұрын
Hey man , thanks a lot . It is the best tutorial I've ever seen. Actually I had problem with the contrast of screen that I fixed it with your tutorial. Thanks a lot. 👌👍🙏
@Elixz8910 жыл бұрын
You should define the commands to the LCD like #define LCD_SEG_ON 0x09 Then you dont need to worry about sending the correct number to the display in a further application.
@yapandasoftware7 жыл бұрын
Thank you for your instructional video. It was very helpful Looking forward to more of your videos.
@DaDanielDa7 жыл бұрын
Thank you! Your little Script in the Discription surved me well. :)
@PTNLemay8 жыл бұрын
My 5110 screen came integrated into it's own shield. If the code doesn't work, I'm guessing it means that my screen is using different pins to the ones you're using here?
@youpattube19 жыл бұрын
Julian - I see that someone else previously asked the question, but I didn't see an answer, so I will ask it again. The breakout board you used. As soon as I started watching this video I tried to find the breakout board that you used. Man there are a lot of them, and they seem to be specialized. Would you tell what you used, or give a recommendation ?
@PatnaikUC10 жыл бұрын
How do you manage such excellent noise free audio and high video quality besides highly content reach presentation? What is that camera you use and the microphone?
@freeelectron82615 жыл бұрын
Thanks Julian just what I needed to get going with my Nokia display and Nano.
@esteban200010009 жыл бұрын
*Hello **Julian Ilett** !!!* *First of all, thanks so much for submiting this video wich is super well explained and full of information.* *I need to ask you a few questions:* *1- It is nesesary to use the comand for the temperature control? because i tried the code without this line of code and it* *seems to work fine* *2-Can i change the LCD VOP to C2 and the BIA's to 13 without sufering any damage ? (I think the contrast is bette with this* *configuration)* *3- where did you find that hexadecimal font?* *SORRY for my english but i am Mexican.* *Greatings from Mexico and thanks for your videos :P*
@MrMr999Mr10 жыл бұрын
Great video. Thanks. I got my nokia 5110 working with my TI LaunchPad. Same code, same pinout.
@vaidehiphaltankar24105 жыл бұрын
Did u add any external library like pcd8544??
@171Manoj10 жыл бұрын
Thanks for this very informative video ....I have a problem when I connect the Backlight pin to the ground it is not lighting up and when when I connect it to 3.3V pin it is working fine .But in your tutorial you mentioned connecting BackLight pin to ground which is not working .
@abasahmed10 жыл бұрын
Same here, my module also likes to turn on the backlight when the BL pin is high.
@sais86816 жыл бұрын
Yupp... spent the last 2 hours thinking that I got a bad piece.. .BL should be connected to 3.3v , the fact that there is a dedicated pin on the LCD means that, I came to know that now.. fuckk
@Elfnetdesigns9 жыл бұрын
Ok time out! We did this 10 years ago with a serial bus on an old Pentium 2 Laptop. the whole 2.7 - 3.3VDC thing and the black out effect are a thing IF you try to drive it with 5 VDC and more than 1 amp = typical USB voltage and current. its best to use a 500mA 3 VDC supply (wall wart) or if you have a bench supply like I do you can set the current and voltage limits. To bring this up to speed We can do in via a Rasberry Pi also as well an as Arduino and with a variety of LCD and LED type screens both static and touch capable... This is an interesting tutorial for those wanting to dabble in old tech and low res displays... I guess it helps to mention that I worked on hundreds of these phones in the past and their internal components as I am an Authorized Nokia service repair technician along with many many other brands including Apple and Motorola..
@OffTheBeatenPath_9 жыл бұрын
you're missing the point. it is popular because you can get them from china for a couple of $$ with free shipping.
@Elfnetdesigns9 жыл бұрын
why when you can usually get them free from the old phones free from people who still have them laying around? I happen to have a box of these nokia phones..
@OffTheBeatenPath_9 жыл бұрын
ElfNet Gaming Yeah everyone has these lying around, that's why they buying them in droves.
@Elfnetdesigns9 жыл бұрын
Who is "they". I don't know any one person buying these things let alone droves of people buying them like its the "next best thing" . I do however know people that buy late model phone screens and touch screens for their projects but I guess some parts of the world haven't caught up to that yet.. Those LCD's are either NOS "New Old Stock" or Salvaged from old phones and put on a custom board with non original back lighting.. A genuine original Nokia NOS version should have the traditional green back lighting since blue or white was not a viable thing back then. Chinese versions have blue or white back lights and the LCD's are salvaged from old recycled phones and may not even work...
@OffTheBeatenPath_9 жыл бұрын
ElfNet Gaming WHO CARES....Do you not get the point yet! For a couple of bucks (including shipping) to learn about driving a simple LCD screen that is easy to interface with and you're all up in arms over it. Get over yourself
@enricoincognito85956 жыл бұрын
Iam very glad to found this video thank you Just two questions How did you figured out that the data input of the display is a shiftregister? Is there somewhere in the datasheet a hint or did you decide it by the signal diagram? Dc ias ow for the whole datasend procedure . I just wonder because while reading the sheet i thought dc must be low for just the first bit of sendet data. Is this a common way to use this type of interface?
@attepulli271410 жыл бұрын
Thank you! Excellent tutorial.
@robertlynnkim18 жыл бұрын
Hi Julian, nice video. I am new to working with the Nokia 5110 display. I am using an Arduino UNO. Hooked up everything the way described, uploaded the sketch and nothing showed on the screen. The led lights came on, but nothing else. Checked all the wiring. Do you think the display is bad? Not sure what to check next. Thanks, Robert
@DerFuhrer9 жыл бұрын
I also have a Nokia 5110 LCD, but my pins are different, instead of the pins that you showed I have: 1.VCC, 2.GND, 3.SCE, 4.RST, 5.D/C, 6.DN(MOSI), 7.SCLK, 8.LED. How should I connect them to my Arduino in comparision with your example? Thanks
@SebastianScholle8 жыл бұрын
I find the blue backlight to be too dim and very unreadable. if you can, rather get the white backlight version of the Nokia 5110 display. very thorough tutorial Julian.
@AandHAutomationllc10 жыл бұрын
I have two solenoids that needs to be triggered when arduino see's an analog signal. The solenoids are on digital pwm pins driven by solidstate relay. There is also another thing. I want to put a Potentiometer to adjust the duty cycle while the input is active. This way I don't have to go into the program to change it.
@BjornErikLarsen11 жыл бұрын
Thank you for all your very informative videos! Just a comment: You read from the EBAY comments that part of the display may become black when running on 5V. I have experienced that if you do not set a specific LCD Vop (contrast) and leave that in its default value, the display becomes relativly black after it has been running for approx 5-10 minutes.
@JulianIlett11 жыл бұрын
Thanks Bjorn. Yes, I'm sure that's what the seller is describing. I have 2 of these displays, (one with blue backlight and one with white) and the Vop contrast value has to be set differently for each of them. The bias setting also affects the contrast.
@benjaminmeyer24210 жыл бұрын
I used you first tutorial and got it to work as described, but then I came to this tutorial and did exactly as described, however it still just showed the result of the 1 tutorial. Any ideas
@tomwade620610 жыл бұрын
Can you run this Nokia display with the Bus Pirate???
@freddyotero564110 жыл бұрын
Very good video. Is there a good link to get the tech-manual for the LCD you are using in the video (specifically)? I have the exact same LCD as the one on this video. Thank you. Freddy
@JulianIlett10 жыл бұрын
I'm not aware of any tech manual as such, just the data sheet for the driver chip (Philips PCD8544).
@jimb0328 жыл бұрын
+Julian Ilett Adafruit has it: learn.adafruit.com/nokia-5110-3310-monochrome-lcd also the libraries as well.
@MrAndrjuha8 жыл бұрын
is possible connect any display?Like from radio,or HI-FI,or similar...
@ibenolsen89949 жыл бұрын
Connecting 5v to the LCD is ok but the life time of your display wil get shorter and thats true, good tutorial btw.
@abdallahatem99198 жыл бұрын
hi julian ..could you send me a link to learn how to use this lcd with avr
@Jimnymudhunter9 жыл бұрын
i keep bloody coming across you all the bloody time!! haha i give in! iv subbed ;)
@motooilermotooiler959711 жыл бұрын
hi - what do you mean by mentioning 'cascading displays'? can you hook up more than one and have them display different data?
@byte4611 жыл бұрын
Yes. All lines (but CE) are the same. CE is for selecting the display to write data to. You should use different data pin on arduino for display selection or some kind of shift register to toggle between displays.
@Darius-wu8me4 жыл бұрын
Can I use other I/O pins?
@ProjectGuns10 жыл бұрын
Hi Julian, have you considered doing some reviews / tutorials for other color ttf displays for the Arduino. there are a lot of them out there for not a lot of $$. Great vids, keep up the good work.
@Brunomas10 жыл бұрын
What is the name of this shield arduino?
@NitinGautam818 жыл бұрын
I am trying 5110 LCD having different pin layout but only background light runs
@selmanyalcinn6 жыл бұрын
Nitin Gautam i have same problem if you know how my lcd works can you tell me
@chefgeoffreyexcellence425410 жыл бұрын
Hey, Julian. Could you post a link to the datasheet you used, I've looked pretty much everywhere but I can't find it at all.
@JulianIlett10 жыл бұрын
Chef Geoffrey Excellence Search Google for PCD8544
@chefgeoffreyexcellence425410 жыл бұрын
Thanks! keep up the videos and may be irrelevant but in response to your project with the Li-ion bicycle battery mod, You could put a solar panel and PWN Solar charge controller on the bike too as that seems to be your repeating motif haha.
@postiemania9 жыл бұрын
I have a few of these 5110 lcd displays and mine say vcc 3.3v to 5v? I will try them on 5v first just to see and thanks for the tutorial good concise explanation.
@sanane70302 жыл бұрын
How much mA does this display consumes at its maximum?
@raymondmoreno23806 жыл бұрын
what if i wanted to use it with interfac atmega1284
@SatishKumar-ck4nd10 жыл бұрын
Chief...Many thanks for very easy to understand instructions. Helped me a lot...
@stmounts11 жыл бұрын
I assume that the metalwork and red pcb have nothing to do with an actual 5110 phone. The lighting looks poor as you mentioned, is it only coming in from the sides? I have an old 3330 phone which has a PC8544-driven LCD. I cut out the PCB from under the LCD to reuse the lighting SMD leds (on the PCB) which light up the LCD quite evenly via reflection off a clear plastic moulding. There is no LIGHTING pin on the LCD, but you do have to add a capacitor to one of the 8 pins. The other connections are made by soldering directly to the PCB, a bit fiddly but it costs nothing if you can reuse an old phone!
@JulianIlett11 жыл бұрын
Not sure about the metalwork, but the PCB is not original. I'm sure the LEDs would look better if they weren't so bright. They can be connected to an Arduino PWM pin for brightness control. I may have an old Nokia phone with this display - I'll see how it compares.
@stoneslice10 жыл бұрын
Thanks mate, I was struggling!
@heyarno7 жыл бұрын
Nice, I'll get into that datasheet and see if I can make some demo in asm on a tiny13a.
@dave-in-nj93937 жыл бұрын
I have seen some sources say that this can work with 5 volts, but no guarantees. my UNO has a 3.3v power pin, but the digital pins are 5v. any chance this will work ? would I be better powering the whole thing from 5v and take the risk ? or go multi-volt and try it with 3.3v power and raw data pins ?
@JasonMasters7 жыл бұрын
If the display data sheet says that the data lines are 5 volt tolerant then you can do it, otherwise not. If you don't mind inverting all of the data pins, you can convert between 5V and 3.3V by using a NPN transistor such as 2N2222 or BC549 and a couple of resistors for each data line. One resistor is used as a "pull up" between 3.3V (or 5V if you're going the opposite direction) and the data pin which is taking the data. The collector of the transistor connects to the data pin and the emitter connects to ground. The remaining resistor goes between the data pin which is sending the data and the base of the transistor. If you didn't understand any of the above, then you're probably better off buying a display which is 5V tolerant in the first place.
@dave-in-nj93937 жыл бұрын
i guess what i was asking without saying, if all the data lines are inputs, and the only action from the arduino is to pull to ground, then, they would work without alteration. as a note some of the mini's are able to run on 3.3v
@蔡德雲8 жыл бұрын
what is your controller uno ?? Mega??
@Amy-ft5mt8 жыл бұрын
he said he was using a nano in the video
@charliedancey9 жыл бұрын
You are a diamond. Thanks for this!
@dekipet7 жыл бұрын
Julian Ilett I am going to use this code you provide on a few online projects with proper credits. If you don't have any cons. If you do, please tell me, i will remove it.
@JulianIlett7 жыл бұрын
Go for it :)
@dekipet7 жыл бұрын
Another question. :) How to display some values from sensors within your code? I have float value and it need to be char inside LcdWriteString(). Tried few solutions but no luck. Or how to display float value anyway?
@JasonMasters7 жыл бұрын
You need a library routine to convert numbers (a float in this case) into strings. You can make your own, but I'm sure there are libraries already defined for the purpose. In the case of a float, I believe the routine requires you to say how many digits of precision you want and it will round off the float to the nearest value. eg. If you ask for it to convert 1.5 with no decimal portion, it will be rounded up to 2 when it's converted to a string.
@0abccab09 жыл бұрын
For me(supply voltage=3.3V), setting the temp coefficent to 0x04 (=temp coefficent "0" according to datasheet), results in a far too high contrast making it seem like all pixels are active even though it's supposed to be displaying a blank screen. Setting the coefficient to 0x05 (=temp coefficent "1" according to datasheet) fixed that problem entirely. Anyways, thx for the video, helped me a lot!
@МаксимЩербань-т6ы10 жыл бұрын
Sir, thank you for the video, the way you explained how to understand lcd commands helped a lot. I had a different issue with my 5510 lcd which I think might be useful to explain. I've connected the lcd and MCU (I use AVR attiny2313a) directly to the USB port of my PC. It works, but due to unstable USB voltage the picture flickered a lot. After I've added l7805 5V stabilizer it worked perfectly. There goes, maybe it helps somebody. Again, thank you for the tutorial!!!
@МаксимЩербань-т6ы10 жыл бұрын
P.S. By 'a lot' I mean A LOT, the image was impossible to see.
@psion5mxfred8 жыл бұрын
Thank you so much for all the information
@enredao_electronico273710 жыл бұрын
Thanks for your POST, Very helpful. Would you show me how to add a LCD Assistance .generated code to it?. Thanks once again
@irobotroomba24838 жыл бұрын
Hello, can i use an Arduino Uno? I'm gonn use a clone Arduino Uno. Do you show the code in your video? Tank you!
@anasarkawi43318 жыл бұрын
the arduino uno and nano is same but one of them smaller
@motooilermotooiler959711 жыл бұрын
thanks for the explanation - so the obvious solution is to get some bigger diplay simply :D
@abdurrahmanpotapov22698 жыл бұрын
I'm using an arduino uno and there are no such "VCC ports on it.
@1115brt8 жыл бұрын
+Abdurrahman Potapov It is power source 5v or 3.3v
@alibishbishy61778 жыл бұрын
thanks for for the code in the discription :)
@Jemacaza7 жыл бұрын
very good tutorial. thank you!
@edwardmallon46466 жыл бұрын
Hi Julian, I've been noodling a bit more with your ultra lean shift-out code for these Nokia 5110 displays. I wanted the smallest possible footprint so that we could add them to data loggers that are already compile near the memory limits. As it turns out, stuffing those fonts (and some calibration data) into the internal EEprom was pretty easy to do and it does not noticeably affect the speed of the display: thecavepearlproject.org/2018/08/24/tutorial-using-the-arduinos-internal-eeprom-for-fonts-header-data/
@aqibmakandar97458 жыл бұрын
how to change the size of the text ??
@JasonMasters7 жыл бұрын
Since the display doesn't have any built-in text font, you'd need to define your own font in the size you need. This isn't simple. If you reduce the size, you also reduce the resolution. You also have to handle characters which cross over byte boundaries. In theory, you could define a font which is 4 x 4 pixels in size, but then you'd need to figure out the programming to handle the fact that you would be putting part of each of two characters into the upper and lower 4 bits of each byte of data. Yes, it's complicated.
@ipodmaurits7 жыл бұрын
Mine only works at 3.3v not 5v
@JasonMasters7 жыл бұрын
Transistors can convert the signal voltage, but I think you can also get level converter chips. But it might be easier to just get a 5V display.
@kevinwu73399 жыл бұрын
Nice tutorial, thanks!
@sheevpalpatine803 жыл бұрын
your code doesn't compile. I get "macro names must be identifiers"
@user-oq8wi5nw1y3 жыл бұрын
I had the same problem, just retype the #define rules and is will work.
@TH3G0D510 жыл бұрын
Anyone got a link to the screen's data sheet please? Edit/ www.sparkfun.com/datasheets/LCD/Monochrome/Nokia5110.pdf
@xSuperCartmanx10 жыл бұрын
My screen is dark when I use 5v to Vcc
@JulianIlett10 жыл бұрын
Adam Giancola Try altering the contrast setting or the bias mode
@Gijs71568 жыл бұрын
it still doesn't work for me...
@vinaykadam59659 жыл бұрын
can i use these tutorials to arduino uno ???
@HermannSW8 жыл бұрын
Nice videos, and good code to start with! You described problems in 3rd video, and I had problems when connecting 5110 as you described to Arduino Nano: after some time the display got darker and darker. Solution for me was simply to connect 5110 VCC to 3.3V pin of Nano instead of 5V. I did play a lot with your code, and made your simple clear display loop speed up from 11.44fps to 206.27fps. And finally I was able to draw a complete (arbitrary) frame with 142.94fps: forum.arduino.cc/index.php?topic=382585.0
@tategeiger53175 жыл бұрын
"Take it to bed" lol I'm not the only one.
@youtubeaccount931 Жыл бұрын
good tutorial
@ceech12311 жыл бұрын
Thank you.
@emirmuhedinovic856510 жыл бұрын
Maybe to put this lines in code? #include #include #include
@TerryPorterElectronics6 жыл бұрын
Hi Julian, thanks for your excellent tutorial. I was looking for information to use this display with Forth on STM32 and you saved me a substantial amount of time getting to the 'light all pixels' stage. During my development I captured the initialization logic sequences and have included the pics in a article I wrote on my Forth site. I hope they may assist anyone going thru this 5110 learning curve who also isn't using Arduino. hightechdoc.net/mecrisp-stellaris/_build/html/nokia-5110.html#lcd
@JerryEricsson7 жыл бұрын
WOW IT is a mini C=64!!
@basitkasim46608 жыл бұрын
SAME FOR ME
@sergiorojas535710 жыл бұрын
Thank Sr , Brazilian oldstudent, in recycle,
@primostyles10 жыл бұрын
Fifty-one-ten, not five-one-one-oh surely?
@Amy-ft5mt8 жыл бұрын
when he said this wire is female to female I automatically thought "lesbian wire"
@JulianIlett8 жыл бұрын
and that's what I'll call it from this point on ;)
@Bilazaurus8 жыл бұрын
That means you'll also have to say "gay wire"
@Amy-ft5mt8 жыл бұрын
Julian Ilett :-)
@jugnu3617 жыл бұрын
Dont use anybody else's Library.....
@71GA6 жыл бұрын
Arduino projects look like a joke compared to real embedded programming.
@seamonkeys12y7 жыл бұрын
My display goes black on some parts of the display if I use 5v