I've got VTG88722A lcd module from China that fits in a particular device and i cannot choose to replace it with some other standard lcd.
The LCD uses UC1610B as its controller.
in next post i'll add the pin connections of the lcd.
the datasheet of UC1610b is added as well as the VTG88722A.
A.) The LCD runs on 3.3v.
Initially trying with voltage divider circuit to produce 3.3v and driving it to the LCD.
I do have 74HC4050, haven't gone for that yet.
B.) The LCD has following Serial modes: S9, S8, S8UC
I've tried with S8UC mode.
Out of the 4 protocols as specified and allowed by the UC1610B i'm unsure how to interface it according to U8GLIB.
I'm unable to even find much on S8UC, S8 and S9 protocols.
For ease, i've added S8/S8UC schematics. All the other details are available in the PDFs attached in the first sheet.
Now, i also have a code specifically written out for AT89C2051, i've also been so far not been able to port out the code entirely. And, i'm unable to comprehend what protocol has been used within the code. I've attached the code.
Now, i believe if i'm on SPI interface and S8 / S8UC / S9 are all basically SPI, i'd be able to use the U8GLIB but the connections as mentioned on U8GLIB doesn't match the two connection types mentioned in the attached file (s8 and S8uc.jpg).
I hope someone can assist me with setting up the connections properly. I've been trying too long to run this lcd and now i'm attempting to use the forum help on the great arduino community.
The DOGM modules and VTG only have the pin-out names changed up that is the most frustrating part so far for me.
The U8GLIB references out to the following;
SCL (SPI Clock) Pin 13
SI (MOSI) Pin 11
CS (Chip Select) Pin 10
MISO (Pin 12) is not used, but can not be reused as generic I/O
and i think i'm suppose to make the connection VIA either
3 wires SPI as posted in the image before
or in reference to DOGM module, i've to do it by;
while i'm suppose to be connecting to SDA SCK and CD as per the diagram? i really need some help here, this is screwing my mind.
U8glib only supports 4-wire SPI for the UC1610.
For further help, i suggest you add the datasheet of your display and a picture or diagram how you did connect the display to your Board.
I'd connect 4050 instead of voltage divider (that has two resistances) to provide 3.3v and its uni-directional.
And, according to 4 wire.jpg (attached), i'd be connecting SCK, SDA, CD, CS (i'm not using a decoder, do i need to?)
but according to dogm128 library i've only got pins for sck sda cs.
where do i have to connect CD to, on arduino?
Also, i'm just blindly following 4-wire.jpg as mentioned on the datasheet of UC1610. I'm not Vbiasing or have connected any other pins except those that are mentioned in "4wire.jpg" which is a part of uc1610 datasheet.
Alright, so i have been here doing all the connections again as per 4-wire spi interface.
I connect 74hc4050 and its giving me some good 3.3v at SCK, SDA, CD, CS.
here are details to the connections;
ARDUINO LCD
PIN 13 SCK D0
PIN 11 SDA D3
PIN 10 CS CS
PIN 9 CD CD
Rest of the diagram was followed in the 4wire.jpg attached and the pin details are attached too. The datasheets of my lcd and controller can be found in the previous posts
the v-biasing wasn't done. those circuits are open as 4wire.jpg (from uc1610 datasheet)
Looking anxiously for some help, this thing is driving me nuts..
Ah, did not recogniced the datasheet, sorry for this.
The connection looks ok. I could try to verify your setup if you sent a picture from your personal setup. But what you wrote looks good.
You did not write whether you add the required caps for the display. The display needs two caps, attached to it, see also the datasheet for this.
Here is the schematic for my own DOGXL160 (actually with a UC1610 controller):
U8glib has been tested with this setup and with this DOGXL160.
If you did not connect the reset line to the Arduino, you should use the reset circuit from my schematic. Also note the cap C3 and C4 are also required in your case. In contrast R6 and C2 seem to build into your display, if i understand your datasheet correctly.
The CD signal is often (in U8glib) refered as A0. See the description on the U8glib device wiki page (below the table).
thank you so much for your detailed response i'll work on the setup in about an hour once again, rewiring all of it again and will add the two caps at VB0 +, VB0-, vb1+, vb1-.
rest of the connections are as follow right?
ARDUINO LCD
PIN 13 SCK D0
PIN 11 SDA D3
PIN 10 CS CS
PIN 9 CD CD
Attached are pin number 2-25 pictures if you can make out of it.
i'd not find capacitors of 2.2uf anywhere around my stock, i tried with some lower capacitors but it does not show anything as of yet.
Now, i've got 100uf 10v and i dont think i should be connecting those instead.
on monday, i'll be able to get the caps.
looking forward to some solution. thank you.
also, i'll get 1M VR too since it might just be an issue with the contrast and i just cant see it. I have other VR of 10k 47k etc not 1M if those could work somehow, would be amazing.
rest of the connections are as follow right?
ARDUINO LCD
PIN 13 SCK D0
PIN 11 SDA D3
PIN 10 CS CS
PIN 9 CD CD
Well, yes according to your documentation, this should be correct.
From your pictures: I have not seen how you did provide GND to the HC4050. Is it missing?
Maybe you can also send your U8glib constructor. Just to crosscheck this.
The 2.2uF ceramic caps are really required. Without these caps you will not see anything. You could use larger values, but lower values might also not work. Also electrolytic caps are not reliable here.
Another problem might be the setup. These kind of prototyping boards are not very reliable. There had been users, which did search for days and finally found, that the prototyping board has a defect. Also the connection to the display itself should be checked. Is it a flex cable? If so, ensure, that pins are not shorted. Use a scope or voltmeter to trace the all signal lines.
There might be dozends of errors. Only if you remove all of them, you will see something on the display. Just try to build up everything carefully. Check against all possible faults. Compare your setup with the datasheet. And remember: "If you believe something is right, you won't see what's wrong" ;-). ok, not sure if this is helpful...
But it also did apply to me: It took me days to make my own DOGXL160 working ...
thanks a lot buddy, i did check the prototype board (breadboard) i kept on checking from the volt meter to ensure the all the pins are well settled, could i use a 50v 10uf OR 10v 100uf too?? for those two caps?
You need ceramic caps. Size does not matter to much, but caramic caps are almost not available with more than 4.7uF, so i assume your 10uF or 100uF caps are of the wrong type.
You can try with a 2.2uF electrolytic cap or your 10uF type. In principle you should be able (after initalization by the controller) to measure about 10V (or more) on one of the pins of the cap.
In principle ceramic caps have some electric advantages over electrolytic caps and are usually prefered (or required) for charge pumps as they are used in a display controller.
yes yes i know the type, i just didn't have a larger value of ceramic cap so i thought just may be electrolytic might do a miracle anyway, i'd get them tomorrow, put them on as well as i'd put on 1M VR to set the contrasts externally
and thanks for the information. Right now the caps aren't storing anything as it seems, i'd get ceramic ones and try on those. i got a few ceramic ones but they are either too small or too large. i got one labelled 473K (colored green) i presume this is too large.. (attachment)
Update: tried 173k too, won't work. i guess the only way is to place a 2.2uf.
So i even added 2.2uF and it still didnt work
i thought lets add up the VR circuit and added it up too..
it doesn't even fill its contrasts complete with VR which i thought it would with that..
anyway this is a tantalum cap 2.2 uf 25v besides this tiny green cap
i've another that is non polar, big, square blue that says 225T on that but i can't get a supply across any caps. nothing like 10v? and the lcd still does not work