EEVblog Electronics Community Forum

Electronics => Beginners => Topic started by: mkiijam on October 30, 2020, 04:47:47 pm

Title: 128 X 64 mystery LCD identify
Post by: mkiijam on October 30, 2020, 04:47:47 pm
Hello All,

Here is the back story. This LCD module is from an Roland TD-11 drum brain. You can google it if needed. The schematic is NOT available, nor really is the part (maybe I'm just to cheap, or maybe I just like a good mystery?)

The LCD was cracked, no longer functions, and I would like to find something that will work.

Known details:

1. The resolution is 128 x 64 (I counted the dots on a close picture of a working one)
2. There are 12 pins going into the LCD module from the main board of the drum brain.
3. The LCD module does NOT appear to be COG or OLED as I can't see any chips and there is a separate backlight (not part of the 12 pins mentioned on point "2"
4. The LCD module can have its contrast adjusted, through a user setting in a menu. More about this later.
5. LCD driving IC is ROLAND RBA02021ABG. This MCU is used in other Roland gear and appears to drive many other styles of LCDs.

LCD / MAIN BOARD PINOUT, known details and the MYSTERY...

When powered on and sitting in a nominal state.
PIN 1. is sitting at 3.3Vdc with a "negative" pulse every second or so. I think it's negative because it appears below the scope trace in AC mode.
PIN 2. is at 3.2Vdc with no pulses. I'm pretty sure this the LCD_RST line as it is 2.2k to ground and matches a known Roland RESET scheme.
PIN 3. 3.3Vdc, has shorter pulses than PIN 1 but with the same 1 second interval. It is also the PIN that has activity when the unit is asked to adjust CONTRAST in the user menu. ( I know this by going through a "blind" procedure to adjust contrast step by step without the need to see the LCD)
PIN 4. 3.3Vdc very similar to PIN 1. Longer pulses every second.
PIN 5. is held low at .03 Vdc and pulses "up" to 3.3v every second
PIN 6. is 3.3Vdc. No pulses.  It appears to be the VDC trace as it is thicker than the others AND connects to the D+3.3V line
PIN 7. GND
PIN 8.  Capacitor to PIN 9
PIN 9. see above
PIN 10. Capacitor to PIN 11
PIN 11 see above
PIN12. Capacitor and 4.7M in parallel to GND

So, any guess as to what this is?

SPI and charge pump capacitors??? If so, how to ID SO, CLK, CD, CS etc?

Title: Re: 128 X 64 mystery LCD identify
Post by: DrG on October 30, 2020, 05:20:17 pm
https://www.aliexpress.com/i/4000370015852.html (https://www.aliexpress.com/i/4000370015852.html)

(https://www.eevblog.com/forum/beginners/128-x-64-mystery-lcd-identify/?action=dlattach;attach=1100398;image)

Maybe.
Title: Re: 128 X 64 mystery LCD identify
Post by: mkiijam on October 30, 2020, 05:45:06 pm
Yeah... that's dang close if not it! How did you find that so fast!?!?!?

PINs 6,7, 12 looks right for sure. The cap pins make sense.

PIN 2 looks right as another schematic lists pin 2 as RESEST and has the same 2.2k to ground as this main board does.
Title: Re: 128 X 64 mystery LCD identify
Post by: DrG on October 30, 2020, 06:04:38 pm
Yeah... that's dang close if not it! How did you find that so fast!?!?!?
/--/

I'd like to say that it comes from years and years of accumulated knowledge, skills and experience, but really all I did was search for "128 x 64 lcd 12 pin". Yes, I have used similar a few times.

Do yourself a favor though, show some close up pics of the LCD back (any numbers etc) and see if you can identify a controller. Maybe you can't do all that, but you can find plenty of interface examples, but there could be some timing issues.
Title: Re: 128 X 64 mystery LCD identify
Post by: mkiijam on October 30, 2020, 06:59:35 pm
Yeah.... There is no usable info on the LCD module.

okay, so here is some progress.

I hooked it up best I could to another SPI type OLED.

https://www.amazon.com/HiLetgo-128x64-SSH1106-Display-Arduino/dp/B01N1LZT8L (https://www.amazon.com/HiLetgo-128x64-SSH1106-Display-Arduino/dp/B01N1LZT8L)

PIN 1 of my main board went to "CS" on the OLED
PIN 2 to "RES"
PIN 3 to "SDC"
PIN 4 to "CLK"
PIN 5 to "MOSI"
Then of course just VCC and GND

AND this is what I got when I powered it up.

The "STICK" and "TEMPO" make sense as this is a drum module LCD, but the other stuff???
Title: Re: 128 X 64 mystery LCD identify
Post by: ataradov on October 30, 2020, 07:49:55 pm
It looks like it could not handle the fast SPI clock or firmware tried to do some windowing commands that are not supported by this LCD.

There is a number of very similar, but subtly different protocols/controllers. You can see that in a later part the firmware tried to draw a frame, but every other pixel is blank.

Do you have any pictured of the broken display? Can you grab some SPI commands being sent using a logic analyzer? Especially the part after the initialization.
Title: Re: 128 X 64 mystery LCD identify
Post by: mkiijam on October 30, 2020, 08:01:31 pm
Here is a close up of the LCD working.
Title: Re: 128 X 64 mystery LCD identify
Post by: ataradov on October 30, 2020, 08:08:47 pm
So the dots may be normal, but at the very least the image is flipped. Which again, tracks well with differences in displays. They all have similar commands, but some configuration bits, like flipping are different.

Having captures of the communication may help figure out the controller type.
Title: Re: 128 X 64 mystery LCD identify
Post by: mkiijam on October 30, 2020, 08:24:23 pm
Ahhh...

Only a scope, no logic analyzer.
Title: Re: 128 X 64 mystery LCD identify
Post by: ataradov on October 30, 2020, 08:32:29 pm
It would be pretty hard to capture enough data with a scope.

Any way, most commonly used controllers are SSD1306 and SH1106, which is almost a clone of SSD1306, but with minor differences. Specifically with the display RAM size and layout.

So the easiest thing you can do is figure out the display controller in the display you bought and get the other one.

And buying things from https://www.buydisplay.com/ (https://www.buydisplay.com/) is a way to ensure that you actually get the display with a controller you need.
Title: Re: 128 X 64 mystery LCD identify
Post by: DrG on October 30, 2020, 08:52:33 pm
I'm am guessing (and it is only a guess) that it was an ST controller - something like an ST7567 or an earlier one consistent with the time that the Roland was made. I'm guessing because of the fit with the 12 pin interface. I know I could be wrong.

It was probably not an SH1106. Also note that he never connected the A0 line. Timing problems? Sure all that stuff. But look, this "needle in a haystack approach" is likely not going to end well.

@mkiijam I and now @ataradov have asked you about pics of the broken display, but it is as though you never heard us. Do you or do you not have the broken display - if you don't have it then at least we can stop asking about that part. If you do, please provide some pictures as that could, potentially provide important information. Also, clear pics of where the 12 pin connector attached to the main board - anything that might be helpful like that.

If you don't have the display anymore, you have to research as much as you can to get some information about that display. Repairs of the unit, repairs of similar units and so on.
Title: Re: 128 X 64 mystery LCD identify
Post by: mkiijam on October 30, 2020, 09:41:41 pm
PIN 3 "A0" went to SDC

Title: Re: 128 X 64 mystery LCD identify
Post by: DrG on October 30, 2020, 09:56:08 pm
PIN 3 "A0" went to SDC

Ok gotya SDC is like SD which is like A0. So, yes, you connected A0 and I was wrong to say that you had not connected A0.

So, what does the other side of the the broken LCD look like? If it is completely encased and there are no numbers on the case, can you peel it off so we can see the board under the case.  Edit: Stripping away the backlight if you can. Just looking for clues.

Also, what is around where the 12 pin connector attaches to the main board. Is it possible to also take a picture of that? Edit: IOW where are those components caps and rs that you mentioned in your first post.
Title: Re: 128 X 64 mystery LCD identify
Post by: ataradov on October 30, 2020, 09:59:38 pm
I still think the only viable approach here is to just try multiple displays with different controllers.

Or capture the initialization command sequence and match the used commands/registers to known controllers.

Those displays rarely have useful markings on them.
Title: Re: 128 X 64 mystery LCD identify
Post by: DrG on October 30, 2020, 10:05:42 pm
I still think the only viable approach here is to just try multiple displays with different controllers.

Or capture the initialization command sequence and match the used commands/registers to known controllers.

Those displays rarely have useful markings on them.

Yeah, well, I can't disagree with you, depending on how you want to define "viable" and if you have a number of different displays/controllers to try ESPECIALLY ones that have a 12-pin connector that seems to match his interface as he described in his first post.

So, yes, if he had that display with the ST controller that I linked to in my first post, I would definitely say, "try that".

Can't hurt to search for clues though. Especially since you damn well know that somewhere at Roland at some time was a service manual that identifies the LCD. What do they do, burn all the service manuals when they stop selling/supporting the product? I think it is only 8 years old - sheesh.
Title: Re: 128 X 64 mystery LCD identify
Post by: DrG on October 30, 2020, 10:58:21 pm
Those displays rarely have useful markings on them.

Just curious - is the "TSE8G0708FPC-A2-E" the identifier for the LCD the way it is on this one https://www.romasterl.com/index.php?main_page=product_info&products_id=204219 (https://www.romasterl.com/index.php?main_page=product_info&products_id=204219)
Title: Re: 128 X 64 mystery LCD identify
Post by: ataradov on October 31, 2020, 12:10:08 am
Just curious - is the "TSE8G0708FPC-A2-E" the identifier for the LCD
Doubt it. It is the identifier of the cable by itself.

the way it is on this one
What makes you think it is a display identifier in this case? I mean it says 12864 as part of the name, at least. But is this the actual ordering number?

Well, it looks like LX-12864B11 is the generic name for this type of display. But I see it with all sorts of connector style.


I've looked at a few displays I have for which I know exact part number, and none of them have anything close to the part number printed on the cable or the display.
Title: Re: 128 X 64 mystery LCD identify
Post by: amyk on October 31, 2020, 12:15:43 am
Ahhh...

Only a scope, no logic analyzer.
FX2LP (Saleae clone) or similar would be enough to capture the commands - and are cheap as chips.

The fact that you're even getting something remotely sensible with that OLED suggests you are already in the right ballpark for identifying the controller command set. My guess is that it is a descendant of the classic command set made famous by the S6B0724/0708 and the like from Samsung.

(I have done similar work in the past. (http://web.archive.org/web/20150912171758/http://wiki.s1mp3.org/LCMControllers))
Title: Re: 128 X 64 mystery LCD identify
Post by: DrG on October 31, 2020, 12:45:46 am
OK, I'll leave it up to the experts.
Title: Re: 128 X 64 mystery LCD identify
Post by: mkiijam on October 31, 2020, 05:46:23 pm
Here is a portion of a schematic that uses the same Roland driver MCU.

It uses some 18 pin LCD...
Title: Re: 128 X 64 mystery LCD identify
Post by: mkiijam on October 31, 2020, 05:49:23 pm
Another picture with my jumper wires partially in the way.

The top left ORANGE wire is PIN 1, then the GRAY is PIN 2.

You can see the 4.7M and caps on PIN 12 etc..
Title: Re: 128 X 64 mystery LCD identify
Post by: ataradov on October 31, 2020, 06:29:10 pm
This looks like a typical set of components for SSD1306. But 4.7 M for reference current resistor is a bit high.

But realistically it van be any controller, again.

If you really  want to figure it out, get one of those cheapo logic analyzers and get the initialization commands https://www.ebay.com/itm/USB-Logic-Analyzer-Device-Set-Compatible-to-Saleae-24MHz-8CH-for-ARM-FPGA-M100/253841718379 (https://www.ebay.com/itm/USB-Logic-Analyzer-Device-Set-Compatible-to-Saleae-24MHz-8CH-for-ARM-FPGA-M100/253841718379)
Title: Re: 128 X 64 mystery LCD identify
Post by: mkiijam on October 31, 2020, 07:14:52 pm
Okay, I think I will...

Side question. Is the a COG LCD??? I can't see any "chip" on the glass... it looks completely transparent to me. I think I may not understand COG?
Title: Re: 128 X 64 mystery LCD identify
Post by: ataradov on October 31, 2020, 07:17:58 pm
The controller is mounted on the glass. It is not etched on the glass itself.

In your case the chip is sandwiched under the place where the cable is attached. You can actually see it on your picture, just a small part or bare silicon sticking out.
Title: Re: 128 X 64 mystery LCD identify
Post by: mkiijam on October 31, 2020, 09:17:09 pm
AH!

It's all becoming clear now.

So the MCU puts out some kind of language that the LCD controller then sends to the actual GLASS unit. So, if I can see the language then we can guess which imbedded chip(controller) we need?
Title: Re: 128 X 64 mystery LCD identify
Post by: MLXXXp on October 31, 2020, 09:23:59 pm
Any way, most commonly used controllers are SSD1306 and SH1106, which is almost a clone of SSD1306, but with minor differences.

SSD1306 and SH1106 are for OLED displays. If the Roland has an LCD display then it won't be one of those controllers.

It could have a similar instruction set but the init sequence would probably be different.
Title: Re: 128 X 64 mystery LCD identify
Post by: ataradov on October 31, 2020, 09:24:53 pm
Yes, those SPI pins carry a very specific protocol (a series of register writes). Just knowing what register addresses are used and what values are written is enough to compare against the known controller datasheets.
Title: Re: 128 X 64 mystery LCD identify
Post by: mkiijam on October 31, 2020, 09:27:12 pm
Yes, those SPI pins carry a very specific protocol (a series of register writes). Just knowing what register addresses are used and what values are written is enough to compare against the known controller datasheets.

Well, I got the logic analyzer on the way. I'll update when it gets in.
Title: Re: 128 X 64 mystery LCD identify
Post by: ataradov on October 31, 2020, 09:27:22 pm
SSD1306 and SH1106 are for OLED displays. If the Roland has an LCD display then it won't be one of those controllers.
It could have a similar instruction set but the init sequence would probably be different.
But the display that was already tried and partially working is OLED, so the one in Roland should be also OLED.

There is no way regular LCD initialization code would even remotely work for OLED.

Also, there is no backlight  voltage on the connector, so it is 100% OLED.
Title: Re: 128 X 64 mystery LCD identify
Post by: MLXXXp on October 31, 2020, 09:38:09 pm
There is no way regular LCD initialization code would even remotely work for OLED.

The OP mentions a backlight and the photo in this post (https://www.eevblog.com/forum/beginners/128-x-64-mystery-lcd-identify/msg3303828/#msg3303828) appears to confirm that. An OLED wouldn't have a backlight. Also, the mention of a contrast control would further imply an LCD. The OLED displays have "contrast" commands but they're not very effective.
Title: Re: 128 X 64 mystery LCD identify
Post by: mkiijam on October 31, 2020, 10:15:10 pm
It uses a separate backlight on another two wire cable. The backlight can be dimmed in the user menu.
Title: Re: 128 X 64 mystery LCD identify
Post by: amyk on October 31, 2020, 10:20:46 pm
SSD1306 and SH1106 are for OLED displays. If the Roland has an LCD display then it won't be one of those controllers.
It could have a similar instruction set but the init sequence would probably be different.
But the display that was already tried and partially working is OLED, so the one in Roland should be also OLED.

There is no way regular LCD initialization code would even remotely work for OLED.

Also, there is no backlight  voltage on the connector, so it is 100% OLED.
The OLED controller manufacturers realised that having a command set nearly identical to existing LCD controllers would decrease design-in effort, so they did. For example,

SSD1306:
0x = set column start address LSB
1x = set column start address MSB
20 xx = set memory addressing mode
21 xx yy = set column address
22 xx yy = set page address
40~7f = set display start line
81 xx = set contrast
a0, a1 = segment output direction
a4, a5 = normal, pixel test (all on)
a6, a7 = normal/inverted mode
ae, af = display on, display off
bx = set RAM page start address
c0, c8 = set COM output direction
e3 = nop

S6B0724:
0x = set column start address LSB
1x = set column start address MSB
20~27 regulator resistor select
40~7f = set display start line
81 xx = set reference voltage (contrast)
a0, a1 = segment output direction
a4, a5 = normal, pixel test (all on)
a6, a7 = normal/inverted mode
ae, af = display on, display off
bx = set RAM page start address
c0, c8 = set COM output direction
e2 = reset
e3 = nop

The former is the common OLED controller that's been discussed in this thread previously, the latter is an older LCD controller from the late 90s/early 2000s that doesn't offer windowing/scrolling capabilities. Another one similar to the latter is the Sitronix ST7565P.
Title: Re: 128 X 64 mystery LCD identify
Post by: mkiijam on November 01, 2020, 05:16:31 pm
So the obvious question is, Do I really have any hopes of finding an after market LCD screen that will work?
Title: Re: 128 X 64 mystery LCD identify
Post by: ataradov on November 01, 2020, 06:28:52 pm
So the obvious question is, Do I really have any hopes of finding an after market LCD screen that will work?
I would say, yes you do. You may not find the exact physical form factor, but you should be able to find a display that works.

I still don't see any evidence of an a actual backlight, so focus on OLED displays. And there are not too many types to try.
Title: Re: 128 X 64 mystery LCD identify
Post by: mkiijam on November 01, 2020, 09:22:03 pm
Here is the backlight
Title: Re: 128 X 64 mystery LCD identify
Post by: ataradov on November 01, 2020, 10:54:31 pm
Oh, ok. Then you should be looking for the actual LCDs, not OLED ones.

The name of the common controller for that was already mentioned.

Still, knowing the commands that are used will help clarify things. And the worst case scenario - you can just use a small MCU to act as a translation layer for an OLED display, since that already works more than it should.
Title: Re: 128 X 64 mystery LCD identify
Post by: amyk on November 01, 2020, 11:11:49 pm
Thanks to that picture, there's another part number that shows you can buy a replacement, but it is rather expensive:

https://www.merktron.es/es/roland/5251-lcd-spd-sx-cmf2p0791-ec3700007r0.html (https://www.merktron.es/es/roland/5251-lcd-spd-sx-cmf2p0791-ec3700007r0.html)

It also suggests the same part fits the TD-25.

When you get your LA you can see the commands it sends, and that should narrow it down enough to find a replacement. My bet is still on ST7565/S6B0724.
Title: Re: 128 X 64 mystery LCD identify
Post by: mkiijam on November 02, 2020, 04:13:53 pm
Thanks to that picture, there's another part number that shows you can buy a replacement, but it is rather expensive:

https://www.merktron.es/es/roland/5251-lcd-spd-sx-cmf2p0791-ec3700007r0.html (https://www.merktron.es/es/roland/5251-lcd-spd-sx-cmf2p0791-ec3700007r0.html)

It also suggests the same part fits the TD-25.

When you get your LA you can see the commands it sends, and that should narrow it down enough to find a replacement. My bet is still on ST7565/S6B0724.

Yeah... the part is available from Roland as well... like $100 or so. Where is the fun in that?

Okay, I've got the logic analyzer... NOW WHAT!?!? Just kidding (kinda) I'm jumping into the world of figuring out how to hook this up without any software or docs! YEA!
Title: Re: 128 X 64 mystery LCD identify
Post by: mkiijam on November 02, 2020, 04:44:00 pm
Okay, I've recorded the logic signals coming from PINs 1-5....

AND?
Title: Re: 128 X 64 mystery LCD identify
Post by: ataradov on November 02, 2020, 04:47:45 pm
First of all, in the Saleae software add an SPI decoder and make sure you can see bytes decoded without the errors.

You need to record very specific parts, not just random signals. You need to catch very first commands it sends to the LCD after power up.
Title: Re: 128 X 64 mystery LCD identify
Post by: mkiijam on November 02, 2020, 05:09:51 pm
First of all, in the Saleae software add an SPI decoder and make sure you can see bytes decoded without the errors.

You need to record very specific parts, not just random signals. You need to catch very first commands it sends to the LCD after power up.


I'm using PulseView.

I have added the SPI decoder and it seems like it's capturing something. I captured when it first turned on. I also asked it to decode with ST7735, but there were errors.

What is a ST7567? That Chinese LCD that seemed to have the same 12 pin functions says it uses that CHIP.
Title: Re: 128 X 64 mystery LCD identify
Post by: ataradov on November 02, 2020, 05:13:23 pm
You have 1 MHz sampling rate selected. This is way too low. Select the highest it will go (24 MHz) and hope that the actual clock is slow enough to meaningfully capture it. You need to zoom in on a single byte and make sure that you see periodic clock.

And then attach the actual capture file.

 ST7567 is the controller IC it can be used in 100s of different displays. But all those displays will have a compatible command set because of that.
Title: Re: 128 X 64 mystery LCD identify
Post by: madires on November 02, 2020, 05:34:15 pm
Or possibly an ST7565 which is quite common. BTW, the ST7735 is meant for color displays.
Title: Re: 128 X 64 mystery LCD identify
Post by: mkiijam on November 02, 2020, 05:39:10 pm
Pulse view seems to glitch at 24MHz

Here is a file at 12MHz
Title: Re: 128 X 64 mystery LCD identify
Post by: ataradov on November 02, 2020, 06:13:26 pm
Sometimes the capture looks like the real SPI, but occasionally there seems to be some strange noise.

If you look at D1, which I assume was CS. You can see that for the first couple transfers it is fine and it aligned at 8 bits. But then just a few transfers in, it is just a random noise not aligned to anything. The data is also repeated on D3 trace.

So double check your connections to the logic analyzer.

But you are on the right path. You can start to see the commands being sent. Now you can start matching that to controller datasheets.
Title: Re: 128 X 64 mystery LCD identify
Post by: mkiijam on November 02, 2020, 07:35:54 pm
Connections look right.

I don't see D1 and D3 as the same, but not sure what you mean.
Title: Re: 128 X 64 mystery LCD identify
Post by: ataradov on November 02, 2020, 07:38:12 pm
Look at the chunk at +3172170us in your log. In this part the signals look corrupted.

Do multiple captures and compare them .See if you get the same results each time.
Title: Re: 128 X 64 mystery LCD identify
Post by: mkiijam on November 02, 2020, 08:07:06 pm
This seems  different..
Title: Re: 128 X 64 mystery LCD identify
Post by: ataradov on November 02, 2020, 08:15:11 pm
This one has issues with the CS on  the second and third transfers (+2919594us and +2929596 us).

Figure out what is wrong with your setup. CS must remain low for the whole duration of the clock.

Just double checking. Do you have ground of the analyzer connected to the ground of the device?
Title: Re: 128 X 64 mystery LCD identify
Post by: mkiijam on November 02, 2020, 08:28:31 pm
...Just double checking. Do you have ground of the analyzer connected to the ground of the device?

Oops...

How about this one?
Title: Re: 128 X 64 mystery LCD identify
Post by: ataradov on November 02, 2020, 08:49:22 pm
This looks like something. Now you need to extract the command that are sent and match them against the datasheets.

In this case you see the commands:
1. 0xe2
2. 0x81 0x8f
3. 0x24
4. 0xa0 0xc2 0x2e
......
You need to write down the rest of them.

0xE2 is a Reset of aforementioned S6B0724. So this is a decent first candidate.
Title: Re: 128 X 64 mystery LCD identify
Post by: amyk on November 03, 2020, 04:12:02 am
It's definitely in the S6B0724 family --- that e2 for reset gives it away --- but not it nor ST7565/ST7567 either, because 81 xx sets the contrast and the majority of controllers only offer 5 or 6 bits of adjustment, whereas this one is setting it to 8f and that implies a full 8 bits. c2 also sets bit 1 while most others in that family use bit 3 of cx for COM scanning direction control and leave bit 1 undefined.

I found one controller that matches the above, the UltraChip UC1601s, whose company slogan in the datasheet (http://svetomuzyka.narod.ru/download/uc1601s/uc1601s_a1.25.pdf) proclaims "The Coolest LCD Driver, Ever!!" :-DD

Others from UC like the UC1701 don't have 8 bits of contrast, so the '1601s is currently the best match. Note that this controller does have scrolling functionality, which the S6B0* and ST7565/7 lack.

A good (but incomplete) comparison: https://github.com/olikraus/u8g2/blob/master/doc/controller_cmds.txt (https://github.com/olikraus/u8g2/blob/master/doc/controller_cmds.txt)
Title: Re: 128 X 64 mystery LCD identify
Post by: mkiijam on November 04, 2020, 08:50:07 pm
So any ideas where to find an LCD that uses this chip?
Title: Re: 128 X 64 mystery LCD identify
Post by: ataradov on November 04, 2020, 08:56:29 pm
You need to transcribe the commands first and see all the commands that are used.

So far the commands are also compatible with ST7567, which is a more modern and widely available chip. It is likely to just work.

There are plenty of suppliers of displays with that controller. I personally like BuyDisplay. Something like this may work https://www.buydisplay.com/1-54-inch-blue-128x64-graphic-lcd-display-module-spi-for-arduino-1 (https://www.buydisplay.com/1-54-inch-blue-128x64-graphic-lcd-display-module-spi-for-arduino-1) But they have plenty of other options, pick whatever fits the size.
Title: Re: 128 X 64 mystery LCD identify
Post by: mkiijam on November 05, 2020, 06:15:09 pm
I suppose the ST7565 wont work?

I see tons that use that chip...
Title: Re: 128 X 64 mystery LCD identify
Post by: ataradov on November 05, 2020, 06:19:11 pm
Well, you have not extracted the commands from the logic capture, so it is impossible to tell if it will work. If you do that, you could compare the commands against the datasheet.

A few commands that we have here are the same.
Title: Re: 128 X 64 mystery LCD identify
Post by: amyk on November 06, 2020, 12:53:35 am
Neither the 7565, 7567, nor SH1106 OLED the OP tried without success has any scrolling/windowing feature (the SH1106 doesn't even have an e2 RESET command), so I suspect a 7565/7 LCD would probably show nearly the same results as the SH1106.

But I haven't and won't go through the few hundred MB of serial capture data that was posted to read out the commands either, that's something OP needs to do.
Title: Re: 128 X 64 mystery LCD identify
Post by: mkiijam on November 06, 2020, 01:00:41 am
Neither the 7565, 7567, nor SH1106 OLED the OP tried without success has any scrolling/windowing feature (the SH1106 doesn't even have an e2 RESET command), so I suspect a 7565/7 LCD would probably show nearly the same results as the SH1106.

But I haven't and won't go through the few hundred MB of serial capture data that was posted to read out the commands either, that's something OP needs to do.

I will do whatever grunt work you guys say. At this point I haven't a clue of how to "go through..." the data. But, I will dig in somehow! Thank you all for the help so far, this has been very neat!
Title: Re: 128 X 64 mystery LCD identify
Post by: ataradov on November 06, 2020, 01:04:14 am
I will do whatever grunt work you guys say. At this point I haven't a clue of how to "go through..." the data. But, I will dig in somehow! Thank you all for the help so far, this has been very neat!
Did you setup the protocol decoder in the logic analyzer?  In your logs the first command that is sent is 0xE2. Do you see that value in your decodes? If so, you need to got though the rest of them and write down all the unique commands you see.

For long transfers you only need to write down first 5-7 bytes,
Title: Re: 128 X 64 mystery LCD identify
Post by: mkiijam on November 06, 2020, 01:31:18 am
Like this stuff from the "MOSI Transfer" lines?

E2
81, 8F
24A0, C2, 2E
EB
A4, A6, 89, AF
F3, 3F, 00, 10, B0, 00, 00, 00,...
00, 10, B0
2E, 24, A0, EB, 81, 8F, C2, 40, 85, 89, A4, A6, F1, 3F, F2, 00, F3, 3F, AF
81, 8C 
Title: Re: 128 X 64 mystery LCD identify
Post by: ataradov on November 06, 2020, 01:38:07 am
Yes, this. You basically need to find as many unique commands as you can.

Then download the datasheets for all the mentioned controllers and see if the command makes sense.

The datasheets mostly describe the commands in binary, so 0xE2 would be 1110 0010.

In most cases only the first byte after the CS was asserted matters, but it also useful to check for each command if followup bytes and their count make sense.
Title: Re: 128 X 64 mystery LCD identify
Post by: amyk on November 06, 2020, 03:43:52 am
The majority of the data will be display (bitmap) data. Look at only the bytes where the CD line is low.

...and if the bytes you posted are all commands, it pretty much confirms that the controller is a UC1601:

E2 - reset
81, 8F - set Vbias (contrast) to 143
24 - set temp compensation to 0 (default)
A0 - set frame rate 80fps
C2 - SEG/column sequence inversion
2E - set power control, default
EB - set bias ratio 9
A4 - disable all-on mode
A6 - disable inverse display
89 - set RAM address control default
AF - enable display
F3, 3F - set partial display end = 63
00 - column address LSB = 0
10 - column address MSB = 0
B0 - page address = 0
...
40 - set scroll line 0
85 - partial display on
89 - set RAM address control default
A4 - disable all-on mode
A6 - disable inverse display
F1, 3F - set COM end = 63
F2, 00 - set partial display start = 0
F3, 3F - set partial display end = 63
AF - enable display
81, 8C - set Vbias (contrast) to 140

Bolded commands are not present on ST7565/7, and in particular Fx are "do not use" test commands. I can't find any other controller in that family with the F1/F2/F3 and of the right size (UltraChip has a few others of different sizes but the same set of commands.)
Title: Re: 128 X 64 mystery LCD identify
Post by: mkiijam on November 21, 2020, 12:10:20 am
Well, just for fun, I tried the ST7567 and it didn't work

U1601 is where it is at I suppose... no just to try to find one!
Title: Re: 128 X 64 mystery LCD identify
Post by: mkiijam on November 23, 2020, 03:50:57 pm
Along with looking for a U1601 based LCD, are there any software based emulators or something? Like a USB into your computer that then translates the LCD signal into an image you can see?
Title: Re: 128 X 64 mystery LCD identify
Post by: ataradov on November 23, 2020, 06:38:04 pm
I'm not aware of anything like that. It is really easier to just look at the command sent to the display and find the right controller.
Title: Re: 128 X 64 mystery LCD identify
Post by: MLXXXp on November 23, 2020, 08:01:38 pm
are there any software based emulators or something?

You could probably emulate the U1601 using a FPGA. This project emulates a SSD1306 to a VGA monitor but you could likely modify it for U1601 and output to whatever you like:

https://github.com/uXeBoy/VGA1306
Title: Re: 128 X 64 mystery LCD identify
Post by: mkiijam on November 24, 2020, 12:39:34 am
are there any software based emulators or something?

You could probably emulate the U1601 using a FPGA. This project emulates a SSD1306 to a VGA monitor but you could likely modify it for U1601 and output to whatever you like:

https://github.com/uXeBoy/VGA1306

That is very cool but way over my head.

I hate this question, but I have looked. Am I missing something or is a LCD with the U1601 controller impossible to find?
Title: Re: 128 X 64 mystery LCD identify
Post by: drussell on November 24, 2020, 01:26:39 am
Along with looking for a U1601 based LCD, are there any software based emulators or something? Like a USB into your computer that then translates the LCD signal into an image you can see?

I'm not aware of anything like that. It is really easier to just look at the command sent to the display and find the right controller.

Wow, that could be a cool project, though...  It would be a handy device, (well, software, really.)
Title: Re: 128 X 64 mystery LCD identify
Post by: drussell on November 24, 2020, 01:43:17 am
Quote
I hate this question, but I have looked. Am I missing something or is a LCD with the U1601 controller impossible to find?

What physical size is this display, anyway?

There is a 2.8" on that buydisplay site that uses a UC1701, you would need to compare the datasheets to your commands to see if it matches because the commands aren't identical to the UC1601 but it does look like it is one of that family.

https://www.buydisplay.com/blue-2-8-inch-128x64-display-serial-lcd-module-spi-with-touch-panel (https://www.buydisplay.com/blue-2-8-inch-128x64-display-serial-lcd-module-spi-with-touch-panel)

It says "touchpanel" but that's an optional accessory...

Edit:  Oh, wait... that one's not the 12-pin style you're looking for...
Title: Re: 128 X 64 mystery LCD identify
Post by: Lomax on November 29, 2020, 08:36:08 pm
This looks pretty darn close, and uses the UC1601 controller:

https://www.ebay.co.uk/itm/123192333083 (https://www.ebay.co.uk/itm/123192333083)

Try searching eBay "including description" for "UC1601" and you'll find more (and cheaper) examples.

Thanks for an interesting thread btw, taught me a lot about identifying LCD drivers!
Title: Re: 128 X 64 mystery LCD identify
Post by: yejing on August 25, 2022, 04:21:47 am
This screen appears in aliexpress
Roland TD-11 LCD Can search