You have one ribbon footprint. The soldering looks fine. It looks as if you had sticky foam tape. So it is unlikely to short from pcb to metal panel back.
37-pin ribbons are most common. But any manufacturer can use whatever she likes e.g. 40-pin, 50-pin, 44-pin, ... Not all 37-way ribbons have the same pinout.
You can identify the data bus easily. And all the control signals.
But the easiest is to follow D43 (LCD_RD) to the LVC245 and from there to the ribbon.
Follow D39 (LCD_WR) in the same manner.
I would expect the control signals on the ribbon to be in RST, RD, WR, RS, CS sequence but you are the detective.
I was intrigued by your problem. So I ordered a 3.8 inch shield yesterday. It is unlikely to arrive before Christmas.
With luck, your detective work will identify the problem before I receive my screen.
Note that most UTFT-style displays simply ignore RD. It is pulled up to 3.3V with a 10k. And never used.
The LVC245 buffers are bidirectional. The data bus buffer direction should be controlled by LCD_RD.
Don't hold your breath, I'd be lying if I said I was 100% certain of what I was doing! What were your thoughts on what is written on the back of the screen? Sold as a ILI9488 but labelled as a ILI9486?
SureNoo seem to be a company that knows what it is doing. Yes, I would be 101% certain that it is ILI9486L.
The average Mcufriend vendor on Ebay has no idea what they are selling.
I suspect that Mcufriend does have knowledge but don't care.
It is a fairly simple process to design a universal PCB to receive TFT panels that appear on the Surplus/Redundant market.
You just have to route the different ribbon footprints to the buffers. (and use the correct buffer chips)
And provide a series resistor for the backlight. (or transistor if driven from PWM)
Mcufriend does not do it properly for every panel. Universal is not easy.
Adafruit, Seeed, ColdTears, ... design for a specific panel and get it right.
Hey-ho, you don't need to be Einstein to follow copper traces from ribbon footprint to LVC245. You just need to have multiple hands to hold DMM probes.
Let's face it. You know that most signals are fine. LCD_RD is the only suspect one.
Ok, so there is continuity all along from pin #43 to the ribbon header. Pin #43 goes to B2 on U5(74LVCH245A) and according to the data sheet reappears on A2 which I can confirm as when the board is powered up(I just connected the 5v and ground as I don't have a way of plugging the shield into the header without blocking access to the chips) there also is continuity on PIN1(DIR), A0,A1 and GND from B2? No other pin on the header appears to be connected directly to U5. LCD_WR is connected to A1 on U4 which should then appear at B1 which then has continuity to the ribbon header. I can only find one direct conection from the board header to U5 and that's LCD_RD. If I'm reading the data sheet correctly the direction is set by the status of DIR(pin1) and OE(pin19) however I can't see any connections to pin19 and the pin one track seems to wonder off and under the sd card socket.
I would NOT expect D43 to be hard-wired to pin16 (B2) on U5
D43 must go through a level shifter. All the control signals from Arduino are 5V.
I would expect all 5 controls to go to An pins on the same LVC245 with the 3V values coming out of the Bn pins. The Bn pins go to the LCD ribbon.
Pin1 (DIR) =3.3V and Pin19 (OE) =0V.
All the data bus pins go to An pins on their own LVC245. The Bn pins go to the LCD ribbon. Pin1 (DIR) is D43. Pin19=0V
I suggest that you draw a neat schematic with LVC245 pin numbers.
I am happy with pin names but when tracing a pcb it is less confusing to just use the physical pin numbers.
And I can check most of your work against the photos.
Seriously. You can not do this sort of job in your head. You must invest in pencil and paper.
U5 provides 5V input signals from MISO, TP_IRQ, LCD_RD is not an input signal.
U4 translates 5V output signals e.g. LCD_CS, LCD_RS, LCD_WR, LCD_RESET, SD_CS, TP_CS, MOSI, SCK
U6 is Touch controller XPT2046
U3 translates bidirectional data bus. I would expect LCD_RD to go to pin#1 (DIR). The LCD_RD voltage provides a reference level. e.g. 3V GPIO would be translated to 3V. 5V GPIO would be translated to 5V.
LCD_RD definitely goes to pin #16 on U5, double checked with dvm. I don't think I'm going to be using this shield so I could send it to you for further eval? If these shields are going to be problematic then it would be good for potential buyers to know this.
I am in the UK. I have ordered the 3.8 inch shield. Of course it probably will not arrive for a long time.
The replies from PilotGuy seemed to say that everything was working perfectly.
It is often the case that the OP just stops replying when it is "good enough" for their own project. Few projects read GRAM. You can always force the ID.
I would assume that it is the same pcb for 3.8 and 3.95 panels. There is a single ribbon footprint. So I would assume that both 3.8 and 3.95 have the same ribbon pinout.
A kind pcb designer would put a version number on the pcb. Either in copper or printed in white.
Not every pcb layout is perfect first time. Sometimes the connections are wrong. Often the traces or components get moved around but still provide the same connectivity.
It is embarrassing if a simple pcb requires multiple revisions. It is even more painful (for me) when functionally different pcbs are on the market.
Assumption, the mother of all problems I am in the uk also, fairly close to you so if you want to pm your address I'll send this on to you(I promise I'm not an axe murderer, just want to get to the bottom of this, even though I'll probably not use this display) You can add it to your collection
U3 is data bus. DIR pin is hard-wired for write-only. 5V to 3.3V /OE is hard-wired.
U4 also has DIR pin is hard-wired for write-only. (which is correct) /OE is hard-wired.
LCD control lines: LCD_WR, LCD_RS, LCD_CS, LCD_RST
SPI output lines: TP_CS, SD_CS, MOSI, SCK
U5 also has DIR pin hard-wired but for the 3V signals from Touch controller and SD card. 3.3V to 5V.
i.e. TP_IRQ, MISO. /OE is hard-wired.
The pin marked LCD_RD is connected to U5. This seems pointless. It should be an output signal from AVR.
This means that this shield is WRITE-ONLY. There is no way to modify it for read-write.
LCD_RD (D43) is going to conflict with any attempt to use a read method from the library.
Because /OE is hard-wired on U5, the SPI bus is not available for any other devices.
The SD and Touch Controller work fine.
It appears that I misunderstood PilotGuy in this message
I think that he just ran the regular examples, ignored the readPixel() error and never tried LCD_ID_readreg again.
Conclusion.
#define USE_SPECIAL, USE_MEGA_8BIT_SHIELD
if (ID == 0x0D3D3) ID = 0x9486;
SD card works fine. SD_CS is digital #48
Touch works fine. Install XPT_TouchScreen library. TP_CS is digital #53. TP_IRQ is #44
The colours on this 3.95 inch screen look fine to me. (displaying BMP photos from SD card)
I was so optimistic about this display. I thought that someone had finally designed a proper shield with correct components. There needs to be:
8 bidirectional e.g. LVC245
9 output e.g. LVC244 or LVC245
2 input e.g. TP_IRQ, MISO.
You do not need a buffer chip for TP_IRQ and MISO but you must be able to 3-state MISO i.e. control /OE if you have a buffer.
so there we have it, works but you can not read from it, don't quite understand why they would design it like that. My non tech assessment is that I would not recommend this display. I have 4 displays here and that was by far the worst, I think 3.95" is pushing it with 480x320 pix it appears pixelated and to my perception, and judging against the other displays, white has more than a little green in it(it becomes more perceptible if you have a white square against a grey background), may be possible to adjust this but all the others worked straight out the box.
My 3.8 inch display arrived yesterday. It is identical to the display you sent me.
I will mail the display back to you.
From the punter's point of view, the display works fine. Very few apps read registers or screen memory.
Personally, I have little interest in write-only displays. I was optimistic that they had designed the shield properly. Chinese manufacturing companies normally know exactly what they are doing.
Ebay vendors seldom know what they are selling. They are unlikely to understand technical points. Of course they can always ask their suppliers but they don't seem to care.
Which other displays do you have?
Which ones produce the best colours?
What sample photos do you use for comparison purposes?
I can display BMP or JPEG images on this screen. I can convert other formats to JPEG on the PC.
When comparing the screens I didn't use images just FillRect. Once I get that screen back I'll try and get some comparison pics between the best and worst of the displays and details of the display. I have ordered ANOTHER screen on ebay but I am also going to try a BuyDisplay board and screen as well as I can spec exactly what I want and also, I hope, might get some consistency when I purchase in large quantities over a period of time.
You are welcome to keep it until you've done a comparison, btw mine is supposed to be 3.95" that's what I ordered and paid for. As to the test, I have no interest in displaying bitmaps, what I am using the display for is a touch keyboard, so it only needs to display buttons and 4 digit 7 segment display. This uses a white rectangle on a light grey background that is why I used that as a test. I suspect that a bitmap that does not have a lot of white in it would probably look ok. I am possibly being a bit fussy about it, but it was enough that I noticed it others may not.
I tested your screen with a "keypad" style program. It worked nicely with my fat fingers.
If I try a typewriter style keyboard I need to use a stylus. Or sharpen my fingers.
Seriously. If you are not using photos you can adjust your graphics colours however you want e.g. Fifty shades of grey.
You do not need any read functionality. So it does not matter if you have a write-only screen.
Yes, any programs that I have tried use a black background. I will try with a white background and report back (at a later date).
The PORTRAIT_REV Penguin screen shows regular grey shades. The INVERT_SCREEN Penguin shows white background (at least to my eyes).