UC1610B with U8Glib / Can't interface correctly.

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.

Now according to U8GLIB, i’ve to set up interfacing as shown in the dogm128 module;
https://code.google.com/p/u8glib/wiki/tdisplaysetup#Example:_DOGM128

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.

as specified here; https://code.google.com/p/u8glib/wiki/device

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.

VTG88722A-spec-LCD (1) (1).pdf (205 KB)

UC1610B_1.4 (1).pdf (677 KB)

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.

VTM88722A.C (13.8 KB)

Pin details of VTG88722A are attached.

I just confirmed UC1610B and UC1610 are the same.

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.

Hi

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.

Oliver

Hi Oliver,

thank you for your reply. I’ve added the datasheet of my display in the first post. Here i’m attaching it again.

The file VTG88722A is the datasheet. The previous connections aren’t correct that much i know.

However, i’ve attached the “4wire.jpg” and i’m going to do it right away.

Arduino LCD
SCK(PIN13)-> v/divider → D0 (pin2)
SDA(PIN 11)??-> v/divider → D3 (pin5)
CS → v/divider → CS0 (Pin 11)
CD?? → v/divider → CD (pin13)

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.

Please let me know is that how i’d proceed?

VTG88722A-spec-LCD (1) (1).pdf (205 KB)

4wire.jpg

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

Ref:- https://code.google.com/p/u8glib/wiki/tdisplaysetup#Example:_DOGM128

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…

4wire.jpg

Hi

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).

Oliver

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

also, will use the reset circuit..

will give feedback here in a while. Thanks again.

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.

Hi

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.

Oliver

the blue wiring is ground, the voltage levels on the volt meter are 3.3v

replicated the exact figure attached.

here’s the exact code;

/*

  HelloWorld.pde
  
  "Hello World!" example code.
  
  >>> Before compiling: Please remove comment from the constructor of the 
  >>> connected graphics display (see below).
 
  
*/


#include "U8glib.h"

U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9);	// SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9


void draw(void) {
  // graphic commands to redraw the complete screen should be placed here  
  u8g.setFont(u8g_font_unifont);
  //u8g.setFont(u8g_font_osb21);
  u8g.drawStr( 0, 22, "Hello World!");
}

void setup(void) {
  
  // flip screen, if required
  // u8g.setRot180();
  
  // set SPI backup if required
  //u8g.setHardwareBackup(u8g_backup_avr_spi);

  // assign default color value
  if ( u8g.getMode() == U8G_MODE_R3G3B2 ) {
    u8g.setColorIndex(255);     // white
  }
  else if ( u8g.getMode() == U8G_MODE_GRAY2BIT ) {
    u8g.setColorIndex(3);         // max intensity
  }
  else if ( u8g.getMode() == U8G_MODE_BW ) { 
  }
  else if ( u8g.getMode() == U8G_MODE_HICOLOR ) {
    u8g.setHiColorByRGB(255,255,255);
  }
}

void loop(void) {
  // picture loop
  u8g.firstPage();  
  do {
    draw();
  } while( u8g.nextPage() );
  
  // rebuild the picture after some delay
  delay(50);
}

ok, looks good.

Oliver

so any suggestions on what should i be doing? Its just not showing up anything? any suggestions how should i be debugging the lcd?

or is it possible to just display garbage or anything to test the circuit or lcd?

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 ...

Oliver

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 need this: http://www.mouser.de/ProductDetail/Murata-Electronics/RDER71H225K2K1C03B/?qs=sGAEpiMZZMt3KoXD5rJ2N63%2fI6WSrv73l3zEibnf0f8%3d

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.

Oliver

yes yes :slight_smile: 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 :slight_smile: anyway, i’d get them tomorrow, put them on as well as i’d put on 1M VR to set the contrasts externally :slight_smile:

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.

Interessting picture. How did you connect the display? Is it soldered directly? The flex cable is also very sensitive.

Oliver

i called in a local mobile repairing guy to sold me enamel wire with the connector.
couldn’t find that connector anywhere in the city, searched a lot!

so anyway the connections are correct, we checked their continuities too

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 :frowning: