5" TFT LCD 800x480 choice

Status
Not open for further replies.
Manu, try to replicate your problem but cannot, it's fast in my system! Maybe I need more info about how you have inited the spi devices connected...
defragster, the speed trick will not work on RA8875, it has limits for SPI speed and in library I have to use a lot SPI speed changes for Read, write, circles, etc. The speedups noticed by manu are just code that goes faster but SPI it's below Teensy limits, actually datasheet set limit to 12Mhz but thanks Paul's SPI transactions and SPI speed modulations I'm currently set to 20Mhz.
 
Last edited:
Max,
I'm sorry but I feel like I can't help to resolve this problem. Initialisation for SPI devices are as you wrote them in your benchmark. The only thing I can tell is that 0.70 & 0.70b11 are fast while 0.79 is *very*slow.
From the beginning I use pins as per your example. Recently I re-address pin to better suit my project, without any change for speed and/or speed problems.
If you want to send me you mail address (PM), I'll send you my code if you want to give a try.

Just to be complete : There is nothing else on the SPI lines, except 74hc125. Because I don't need any SPI device for this project, I'm guessing if I can unsold the 74HC125 to use direct connections between teensy 3.2 and the eastrising board. If so, I'm unsure about the mods needed on the LCD board (remove resistors).

But my guess is : while 0.70 run fine and 0.79 didn't run correctly, do you think that this is an hardware problem or a code problem ?

Bests,
Manu
 
defragster, the speed trick will not work on RA8875

Bummer - getting something for nothing is cool - but somehow rarely works. It won't work with SD in use either - unless the SD usage could be wrapped to slow down? It doesn't seem to break the audio card usage - except when you try to use SD.
 
Manu,

When using my eastrising boards without the 74hc125, I didn't have to desolder the pull-ups on the display. However I did have to avoid pin 13 since it already has a resistor for the led. Use an alternate pin for that functionality. I later desoldered the resistors and capacitors with no ill effects.

Especially if 0.79 turns out to be fast with direct connections, I would verify how you're powering the 74hc125.
 
Manu,

When using my eastrising boards without the 74hc125, I didn't have to desolder the pull-ups on the display. However I did have to avoid pin 13 since it already has a resistor for the led. Use an alternate pin for that functionality. I later desoldered the resistors and capacitors with no ill effects.

Especially if 0.79 turns out to be fast with direct connections, I would verify how you're powering the 74hc125.
Thanks for reply.

The only alternate pin for SCK is pin 14. I'll try that. About powering 74HC125, it come from the same power supply that power the screen and that can output 5a@3v3. On my bench I use 2 power supplies => One 5V for teensy and NeoPixel and one 3V3 for RA8875, screen and 74HC125. All grounds are common. Wires from teensy to 74HC125 are about 2cm long and wires from 74HC125 to eastrising screen are about 2cm long too. There is on thing I didn't wire : power and grounds from the second connector of the display (the connector which old RST pin).

Also, taken from Sumotoy WIKI :
UPDATE MARCH 2015. I just discovered that R1/R2/R3 are pullup resistors that affect MOSI,MISO and SCLK lines (probably because this display uses SPImode3), this cause troubles with other SPI devices and since it's easy to add those resistors on the display pins I raccomand to desolder R1,R2,R3 and also C1 and C2!!! (that causes excessive waveform distortion at high speed) In many MCU's like Arduino or Teensy the SCLK have a 1K resistor plus a LED, the additional pullup can be too much for that pin, infact I got one Teensy 3.1 with an unusable pin 13 for that reason. Please remember that this is NOT really needed if you isolate the RA8875 with a 74HC125 circuit (as described in wiki) and you must proceed ONLY if you are able to do this or you can damage your display!
where you state that you didn't do that. This seem to be something useful to fix compatibility with other SPI devices. But this is something needed also when screen is alone on the line ? Where is the true ?

At lease, if I understand both of you (sumotoy and sandalhat) and want to keep pin 13 for SCK, I only have to unsolder one resistor on the screen and connect SPI lines directly to teensy ? SCK is pin 44 of the RA8875 chip, which use R3 as pullup. So if I retire R3 I can use PIN#13 on teensy without risk ?

Bests,
Manu
 
Last edited:
Also something to keep in mind : my setup work very fine when I use 0.70 library. Question (again) : what is the difference between 0.70 and 0.79 library that can produce this ?

Max and I use the same hardware and same teensy spped (96Mhz). He done the test with 0.69b64 version whille I use 0.70
screen:800x480 - rotation:2
Benchmark Time (microseconds) - My setup - Max reference setup - difference (µs)
Screen fill 8346 - 8320 - 16
Test Pixel 49 - 49 - 0
Test Pixels 33303 -32368 - 935
Text 11676 - 3193 - 8574
Lines 61344 - 54443 - 6901
Horiz/Vert Lines 49643 - 40208 - 9435
Rectangles (outline) 139449 - 137108 - 2341
Rectangles (filled) 139452 - 137025 - 2427
Circles (filled) 112389 - 109861 - 2528
Circles (outline) 110746 - 108242 - 2504
Triangles (outline) 15410 - 14215 - 1195
Triangles (filled) 36187 - 34555 - 1632
Rounded rects (outline) 110803 - 96959 - 13844
Rounded rects (filled) 501982 - 487786 - 14196

@Max => did you try this adafruit board ? https://www.adafruit.com/product/1590
It could allow me to choose my screen. For my project, a 6inch screen with lot of cd/m² will be better...

Cheer,
Manu
 
Last edited:
Thanks for reply.

The only alternate pin for SCK is pin 14. I'll try that. About powering 74HC125, it come from the same power supply that power the screen and that can output 5a@3v3. On my bench I use 2 power supplies => One 5V for teensy and NeoPixel and one 3V3 for RA8875, screen and 74HC125. All grounds are common. Wires from teensy to 74HC125 are about 2cm long and wires from 74HC125 to eastrising screen are about 2cm long too. There is on thing I didn't wire : power and grounds from the second connector of the display (the connector which old RST pin).

Also, taken from Sumotoy WIKI :
where you state that you didn't do that. This seem to be something useful to fix compatibility with other SPI devices. But this is something needed also when screen is alone on the line ? Where is the true ?

At lease, if I understand both of you (sumotoy and sandalhat) and want to keep pin 13 for SCK, I only have to unsolder one resistor on the screen and connect SPI lines directly to teensy ? SCK is pin 44 of the RA8875 chip, which use R3 as pullup. So if I retire R3 I can use PIN#13 on teensy without risk ?

Bests,
Manu

I had my own issue with the eastrising displays that I posted about here: https://forum.pjrc.com/threads/34425-Image-Noise-issue-with-RA8875-library During troubleshooting I thought for a long time it was wiring, because the issue looked to me like it might be a poor connection or bad power supply. However, it turned out to be initialization registers. I posted my initial code where I proved that it was registers, but currently I have a modified version of Sumotoy's library where I just add another display_size defined as RA8875_800x480ALT2 and added registers to match. The really weird thing is that my 5" screen needs those registers to avoid that noise, but my 7" can use the normal display size or my alt2 size and works fine either way. Anyway, because I spent a lot of time troubleshooting wiring I tried a lot of configurations. I'm using the 74HC125 ultimately but I tried several variations along the way. However, it seems appropriate to power the 74HC125 with 3.3V but when I did that I got the same SPI speed I see in your video (slow). I powered it with 5V and it works fine. It doesn't really seem correct to power it at 5V since the SPI logic is 3.3V but for some reason it works great that way.
 
Ok, will check this week. I have to update some stuff in this library and will look into this as well
 
Today I had a look at init string of the library as suggested and notice :

LCD Horizontal Display Width is set to 0x63 which result in 792 pixel. shouldn't this be 0x64 ?

But what I didn't find is to which register the 3 first parameter refer. Can someone tell me ?

We also can see that initstring from 0.70 and 0.79 are the same... The only difference between RA8875Registers.h from those 2 libraries is that the newer ad ADAFRUIT_PHASE_FIXEUP. Correct ?

Regards,
Manu
 
Last edited:
Max,

I removed the ADAFRUIT_PHASE_FIXEUP from RA8875Registers.h and now 0.79b11 run as it should. Results :

screen:800x480 - rotation:2
Benchmark Time (microseconds) - My setup 0.70 - Max reference setup - My setup 0.79b11
Screen fill 8346 - 8320 - 8334
Test Pixel 49 - 49 - 49
Test Pixels 33303 -32368 - 32903
Text 11676 - 3193 - 8909
Lines 61344 - 54443 - 58797
Horiz/Vert Lines 49643 - 40208 - 47115
Rectangles (outline) 139449 - 137108 - 138843
Rectangles (filled) 139452 - 137025 - 138670
Circles (filled) 112389 - 109861 - 110460
Circles (outline) 110746 - 108242 - 108709
Triangles (outline) 15410 - 14215 - 14942
Triangles (filled) 36187 - 34555 - 37741
Rounded rects (outline) 110803 - 96959 - 106395
Rounded rects (filled) 501982 - 487786 - 497037

Thanks sandalhat to point me to those registers.
 
Last edited:
Max,

I removed the ADAFRUIT_PHASE_FIXEUP from RA8875Registers.h and now 0.79b11 run as it should. Results :

screen:800x480 - rotation:2
Benchmark Time (microseconds) - My setup 0.70 - Max reference setup - My setup 0.79b11
Screen fill 8346 - 8320 - 8334
Test Pixel 49 - 49 - 49
Test Pixels 33303 -32368 - 32903
Text 11676 - 3193 - 8909
Lines 61344 - 54443 - 58797
Horiz/Vert Lines 49643 - 40208 - 47115
Rectangles (outline) 139449 - 137108 - 138843
Rectangles (filled) 139452 - 137025 - 138670
Circles (filled) 112389 - 109861 - 110460
Circles (outline) 110746 - 108242 - 108709
Triangles (outline) 15410 - 14215 - 14942
Triangles (filled) 36187 - 34555 - 37741
Rounded rects (outline) 110803 - 96959 - 106395
Rounded rects (filled) 501982 - 487786 - 497037

Thanks sandalhat to point me to those registers.

I had been using 0.70b11 previously but tonight I installed 0.79b11 and saw the same slowdown you experienced. I removed ADAFRUIT_PHASE_FIXUP like you mentioned and the speed went back for me also. Now I just have to figure out why my RA8875 display slows down when it's on the same bus as an ili9341 display (both isolated with a 74HC125, so that just leaves CS I guess), but that's another issue I might make a thread about if I can't get it cracked.
 
Hello,
the ADAFRUIT_PHASE_FIXUP was recently introduced for fixup some old Adafruit board, my bad I've introduced without checking possible impacts but in my test system nothing changed! This intrigues me....
See here
Thanks to point me this in advance!
I will start to fix up library in the weekend, I will introduce new font format (the one using with ILI_9163C and will common with all my libraries), introduce Icons, speedup some code, try to add ESP8266 compatibility (finally it seems possible) and fix as many bugs I find.
So any possible observation is precious to me! But better move to github since this is strictly RA8875 related and nothing to do with Teensy!
Also, I already got a RA8876/77 board, this chip needs a separate library because uses an external frame buffer, I'm compiling a new library for that but I suggest wait a little more before run buy one! I'm not connected to any vendor, expecially RAiO, so I know by experience that they will modify chip core in brief! When RA8875 was first out, I got a card using an old version and the SPI was working only at very low speed, second board was better (but not like last ones) and RA has no way to test (by reading registers) wich chip version

Believe me, the RA8875 library was a nightmare to develop, it's a triky chip with tons of hardware bugs and consumed tons of hours, I can rewrite the entire datasheet by using what I've learned during development!
You can see how is difficult by looking inside code, there's a lot of tricks to get around hardware bugs, SPI slow down for circles to 10Mhz then goes up, slow downs during reads and speed up during write, etc. At this point some help will be fresh air to me!
 
Last edited:
Hello,
Today I receipted a new screen for testing purpose. It's a 8" from buydisplay (ER-TFTM080-2). BUT, it doesn't work :-( So I look at jumpers and discovered that they wasn't set correctly. After setting them and crossing my fingers I had a new attempt. Still no luck :-(

What I notice in the manual is that there are resistors that should be set too, but I'm not sure about that and have no examples for it. Max, can you please confirm your 7" resistors settings (it's look like it's the same conf) :
R1 to R3 = 10K
R35 to R38 = 0ohm
R39 to R42 = nothing
This is what the manual state for 4wires SPI setting, but this is not what I have on my board. On my board R35 to R38 are open (no resistors) and R39 to R42 are 0ohm resistors. Before modifying anything here, I would like to be sure to not fries the board.

Regards,
Manu
 
Last edited:
Just to reply to myself and let other know : moving resistors to there right place solve the problem.

So it's sure, 8" display work with RA8875 library too (I would be disappointed if not).
 
Hi all, I'm a newbie with a question...

I've bought a BuyDisplay ER-TFTM050-3 800x480 5" to use with my Teensy 3.2 but have failed at the first step. I can't get the of the RA8875 by sumotoy examples to work and wonder if the screen might be DOA.

There is no indication that the screen is even on - should I be able to see a backlight or anything to tell me the screen is alive? I've powered it with a 3.3V supply to JP1 Ground and VCC pins and closed jumper J8.

I don't think I can have made any error connecting up the Teensy (I have gone by the comments at the top of the code). I'd appreciate any help diagnosing what I might have done wrong.

Thanks :)
 
@Paul_S: I don't have one - and 2.5 yo prior post suggests not a lot of them around. If you could post a clear picture showing the connections made and the setup done in a simple example it might let somebody check your work/assumptions to verify something simple - or a dead display. Also check the IDE 'Verbose' console output to confirm the right library is being used without error or important warning.
 
There is no indication that the screen is even on - should I be able to see a backlight or anything to tell me the screen is alive?

Hi,
No, until the sketch, wiring and power are OK, you don't see anything on the screen, even the backlight.

I faced similar problems at the beginning too.
 
Status
Not open for further replies.
Back
Top