Pages: . What driver runs my LCD x I'm trying to connect x64 LCD display with Arduino. I purchased the display few years ago on e-bay and I have no access to any details about it.
The only thing which works for me is backlight and contrast POT ;- I read on this forum there are many different drivers for a LCD Perhaps the library in the tutorial is incompatible with my display. Taking the opportunity could you also tell me where can I find a low level spec how to talk to the display and use all it's features? Re: What driver runs my LCD x Where did you get the glcd? Did the seller specify what chipset the glcd used?
Are there any labels on the actual pins on the glcd? Before you proceed any further, you need to identify which glcd module you have. And more importantly find it's datasheet. There is no "standard" for glcds.
They use different chips sets and have many different pinouts. Even modules that have the same chipset on them can have different pinouts including for power.
The big problem is that if it is hooked up incorrectly the glcd module can quickly be burned up, particulary if the power connections are incorrect. So when playing with glcds guessing on the wiring is not good since it is possible to damage the glcd with incorrect wiring. The fact that you got the backlight and contrast to work is a good sign that the power connections were all correct. I'm assuming that rotating the contrast pot can turn all pixels on or all pixels off depending on direction of the pot The tutorial you linked to is for a glcd module that uses a st Use the wrong one and it can damage the glcd.
The labeling on the back seems to indicate a ks If you have labeled pins on your glcd that would fully identify it. The two libraries work very differently and have different capabilities. Both support text and graphic primitives that are way beyond the capabilities provided by the st library you linked to earlier.
Bill, thank you very much for you time. It was extremely useful. You can't imagine amount of pain I went through to trouble shoot this issue I agree, I need to know what am I dealing with. As I mentioned I got this on ebay few years ago. I was experimenting with AVRs but at that point 16x2 was as much as I could do. The LCD was forgotten and untouched for at least 4 years! Now I can't find any details of that auction so the only thing I have is labels on the display.
Optional 3. It can be used in any embedded systems,industrial device,security,medical and hand-held equipment. Of course, we wouldn't just leave you with a datasheet and a "good luck! Skip to the end of the images gallery. Share to:. Skip to the beginning of the images gallery. Power Supply Typ. Add to Cart. Add to Wish List Add to Compare. Tax Info. Return Policy. Continulty Supply.
A shipping cost estimate is displayed during online checkout based on the country you provide. We also accept payment by wire transfer and west union. ALL prices listed on buydisplay exclude taxes,import fees, and customs duties. Customers may be subject to these fees. All products are covered under our limited warranty, which provides all products are free of functional defects for a period of one year after receipt of order and all products are free of visual defects and missing parts for a period of 7 days after receipt of order.
If a product was damaged during shipping or the order is incorrect, please notify us within 3 days after receipt of order. I Got It. Products under warranty can be returned for repair or replacement.
If you have a product out of warranty that you would like to repair, please also contact us. We promise the long terms continuity supply. Some controller IC or glass cell may stop the production by supplier,we'll try our efforts to find the compatible ones as replacement. Reviews 2. Questions 0. Quote Request. We Also Recommend. Description ERMSBS-6 is blue background with x64 monochrome white pixels,ST controller that is built-in with 16X16 dots Chinese fonts and 16X8 dots half height alphanumerical fonts.
More Information Gross Weight kg 0. Submit Review. Only registered users can write questions. Please Sign in or Create an account. Order Quantity. Your Name.To represent the graph I decided to use the GLCDx64 with the ST controller, however I don't seem to find any library in C language for this GLCD, which is why I was wondering if any of you have a code or link to a code that could help me with this issue.
Monochrome Graphic LCD 128x64, Display LCD 128x64
I don't know which communication your module uses but that code should help. Good to download arduino software and have it available. Easy to port arduino sketches to C. No, T is very different to the ST Library code like u8g2 supports many controllers. It looks enormous but you can simply add it to your C project and the linker will only add what is necessary.
128x64 Graphic LCD Display, 128x64 LCD Module
Skip to main content. Library for Glcd x64 St Log in or register to post comments. Go To Last Post. Vincent Fernandez. Level: New Member.Graphical Lcd 128x64 Library Demo
Posts: 1 View posts. Posted by Vincent Fernandez : Mon. Mar 19, - PM. Fivestar widget 1 2 3 4 5. Anxiously waiting, VF. Level: Wannabe. Posts: 53 View posts. Posted by eric : Thu. Mar 22, - AM. EDIT:changed link to newer lib. Last Edited: Thu. Log in or register to post comments Top. Level: Moderator.
Posts: View posts. Location: using avr-gcc in Finchingfield, Essex, England. Posted by clawson : Thu.Function summary. Before you begin.
Using the library. Download the library. Initialize the library. Use the library. How to.
Reading the contents of a certain location on the display. Drawing solid, dotted, and dashed lines and shapes. Specifying the color of lines and shapes. Moving the whole contents of the display up and down without repainting. Writing Arabic and English texts. Hardware connections. How to reset the GLCD module? Can I assign control pins that belong to different ports? The GLCD displays hazy or messy paints and texts, what is the problem?
The backlight shines, but nothing appears on the display, what is the problem? Only one half of the display work, what is the problem? How can I adjust the contrast of the display?
How can I change the font? How can I ask a question not listed here? Version History. The following functions are provided by the library:. Turn on the GLCD. Turn off the GLCD. Go to the specified column.Ordinary LCD can only print simple text or numbers within a fixed size. This Graphical LCD is having low power consumption and also suitable for battery power portable device. It have wide operating voltage range 2.
Select the format shown in the above image and save the file for further process. After saving it open that file using Notepad and you will get the Hex code of the image. As shown in the picture below, choose the Export option to save the file in the xbm format:. Open the xbm file using Notepad and you will get the HEX code as shown in picture below. Then you can include the library like below:. So, we are using the serial mode and RS pin set to High 1 for chip enabled and Low 0 for chip disabled.
Now, for printing the image we need to place the Hex code of the image in the below code. You can print any other image all you just need to do is paste the hex code of the image. Setting up pixel, color and intensity by using the code below. The void loop continues to print the text and image after the given delay.
Then we have printed the image using picture function which will stay on screen for 3 seconds. This will continue till the power supply is turned on. You, will get content and image printed on the Graphical LCD, as shown in the video given below.
Nice project. Yes edit the program to display the bitmap first in the setup function and then add the rest in your loop.
Hello, it is very useful. Thank you. For instance in this case:. Recommended Posts. Didn't Make it to embedded world ? No problem! Fundamentals of IoT Security. From Nano-power to Light Speed.You seem to have CSS turned off. Please don't fill out this field. Graphical Lcd x64 Library Web Site. The display works fine when driven by the Mikroelektronika driver. It worked after some modifications and I think my display module is partly to blame.
This is because on the display I used the chip selects are interlocked, it will not select both display drivers simultaneously. The code writes to both halves simultaneously as a means of speeding up some operations such as display clear.
Please provide the ad click URL, if possible:. Help Create Join Login. Operations Management. IT Management. Project Management. Services Business VoIP. Resources Blog Articles Deals. Menu Help Create Join Login. Home Browse Graphical Lcd x64 Library. Get project updates, sponsored content from our select partners, and more.
Project Activity. Improve your productivity and user experience with Open Shell, a Windows start menu alternative for Windows Bringing back the classic start menu style. Learn More. User Ratings 3.Two of them are KS, and one KS There are many LCD modules on the market and their programming is usually the same due to having the same chipset.
How are the pixels organised? How is a byte of data organised onto the LCD screen? The main question beginners, and advanced engineers have is, how are the bits sent to the display physically organised into pixels on the LCD? When you send eight bits of data to the LCD, how is the organisation of this data on the screen at pixel level?
The KS is a dot segment driver; therefore two are required to make dot display. When the chip receives the data, it sets the pixel for its half of the display. In the diagram above, you can see that each half of the display shares the data bus and control lines, so engineers will not have to consider controlling each half separately, however having two independent halves of the screen to send data to can be a pain.
If you need to write a long line of text, you need to keep track of the column number, as well as the number of columns a single character occupies.
When you reach column 64 you have reached the end of the first half of the display. This is when one lowers control line CS1 to logic 0, and makes CS2 high to logic 1 so that data in the data bus goes to the second half of the LCD.
Writing a graphics driver for a liquid crystal display that operates in halves can be a little tricky. If you had to draw a circle in the middle of the screen, then at which point in the function would you switch CS1 to CS2.
This would obviously be as soon as the horizontal pixel number becomes greater than Hence, any kind of display driver code will need a counter to keep a track of the column number, so you can switch CS1 and CS2 appropriately.
Since both halves operate in the same way and controlled by CS1 or CS2, we only need to look at one-half to see how a byte of data groups into dots. The first thing to notice is that a byte of data organises vertically filling a column of pixels. The columns are simply from 0 to 63 they are not grouped in any way, however the rows are grouped.
What is confusingly called a "Page" is simply eight rows forming a group.
In addition, to confuse you further; a page is an "X Address" in programming nomenclature. I do not know how these engineers got their degrees Since there are eight rows of dots in a page, and there are 64 rows of dots, it does not take a NASA scientist to figure out that there are only eight pages in total for the LCD.
A "Page" is therefore just a group of eight rows. When you send data 8 bits through the bus, it fills vertically in a single column spanning eight rows, also known as a page.
Programming the 128x64 LCD
In addition, you cannot write to only one pixel and ignore the rest. To set individual pixels you have to read back from the LCD what is already there and perform a Boolean mask operation. This is of course extremely simple to implement. The "Y Address" is simply the column number, which ranges from 0 to 63, keeping in mind that we can only work with one half of the screen at any one time.
This parameter requires tracking through a counter in your program code. From the hardware perspective, the "Y Address" is automatically incremented, as the display has internal counter circuitry.
When you send the next byte of data, it automatically fills on the next column. From the programming perspective that is a good thing because, you will not have to set the column number through program code when "printing" to the next column.
However, you will need to keep a track of it in a variable so that you know when to switch over the CS1 and CS2 control lines and therefore the displays.
A byte of data in the data bus fills the LCD matrix vertically in a column.