Teensy 3.* - Text rendering issue with RA8875 TFT display

The problem appears to be hardware, that the RA8875 chip does not tri-state its MISO pin when CS is high.

Here is the example, with both MISO pins run through a 74HC125 tri-state buffer chip, controlled by the 2 chip selects.

ra8875.jpg
(click for full size)
 
Hi Paul - so do you think that the tri-state-buffer is the solution and will solve all the conflict's I'm having? Thank you! Dani
 
Hi Paul - so do you think that the tri-state-buffer is the solution

It certainly looks that way.

I confirmed by hardware testing with resistors that the MISO pin was driven while CS was not asserted. When a chip tri-states the MISO pin, the resistors should take the pin to a voltage half way between GND and VCC. The voltage remained 3.3V (actually, a little less, since that chip doesn't drive very hard, but clearly still driving the line). You can pretty easily duplicate this test by just connecting two 10K resistors to MISO, and measure the signal with a scope or even a voltmeter when the display isn't being updated.

and will solve all the conflict's I'm having?

Yes, I believe it will. 2 displays that didn't work together, and which I confirmed were conflicting on MISO, clearly do work with the 74HC125 buffer added.

When the 3rd display arrives, probably within the next 16 hours, I'll hook it up and try your 3-display test with the SD card. I'm only going to run the test on Teensy 3.1. If that works, and I'm pretty confident it will, I'm going to consider this fully "resolved".

I sincerely hope Adafruit documents this limitation on their website and eventually makes a new version with the buffer and 2 pullup resistors. But that's really up to Adafruit. I have no control over what they do. I've done pretty much all I can here.
 
That is SOOOO cool! Thank you very much for your endurance and expertise! I'll do the installation with a teensy 3.1 anyway since it is a lot faster than it's 16MHz counterparts. I asked adafruit for some of the 74HC125 chips and hope to make a little daughterboard soon.
 
Hi Paul, may I ask you a favor? I tried to set up what you did and failed - I seem to have gotten something wrong. Would you (or anybody reading this) go over my schema to find the mistake? Thank you very much, Dani
teensy31_2xra8875_wiring_schema.jpg
 
Weird, I don't understand it. Are you using the standard Adafruit RA8875 library? At the moment, I'm not even getting anything when I use only one display on a teensy 3.1.
 
Something's probably not connected properly.

Yes, using the normal code, no modifications. I only added the 74HC125 chip.
 
Well, I just switched to your library and now it worked. There seems to be a difference.

Actually: Now EVERYTHING is well! I'm so glad and thankful to you!
I have to go to bed - and get up again in 5 hours to go earn some money!
Dani
 
Last edited:
I just connected 3 RA8875's with corresponding 5" TFT's (800x480) to a teensy 3.1. When using the MISO tri-state buffers and the pullup resistors on the CS- and RESET-lines, the setup works like a charm. However - the displays draw quite some power, each of them about 250mA @ 5V. Since the teensy 3.1 only delivers 500mA through USB, one has to consider an external power source that is connected directly to GND and VIN.
 
Glad to hear it's working.

I've exchanged emails (privately) with Adafruit and others. My influence is limited. Often the most effective way involves working behind-the-scenes, which never becomes public. I really can't comment on private communication, but I can assure you, I'm doing everything I can to improve compatibility of all Arduino-based products.

Adafruit gave me access to repost my article on their learning site. Figuring out how to use their learning site and posting it there is on my TO-DO list for this weekend.
 
Back
Top