1.8" TFT w SD card does not mute MISO when CS high

Has nobody ever used the small 1.8" Arduino TFT Display ("ROBOT LCD") together with a second device on SPI?

Just found out that it does not work, because the Display won't shut up on MISO line even if CS is high...

Tried with 3 of them.

On a normal SPI Device the MISO Pin gets HiZ (High Impedance) when CS is High.

Hardware design fault on the "ROBOT LCD"???

You can find the schematic from this hardware page

The ST7735 has a bidirectional SDA pin which goes through IC1. This is unidirectional.
The MISOB line from the SD card goes through IC3. The 3-state is hard-wired to permanent output.

The ST7735 can not be read.
The SD card will cripple anything else being read on the SPI bus.

Hey-ho. Such is life.

David.

Ah i see. And what is the point of hard wiring a tristate IC?
You could save the money for the tristates if you don't use them anyway :smiley:

I will try to rewire SD CS to IC3...

I quite agree. There is no point in using a tri-state buffer.

OTOH, if the other SPI devices are 5V, you don't want to have MISO line damaging the ST7735.

Personally, I find that life is much easier with 3.3V devices. e.g. Zero, Due, STM32, ESP8266, ... or a 3V Pro Mini.

Actually, I use a Seeeduino @ 3.3V or an XMINI @ 3.3V.

David.

Edit. Corrected the mis-typed ILI9341 to ST7735.

The LCD Controller is an ILI9341?

That is interesting because I thought the arduino Hardware Page said ST7735.

I have corrected my error.

Most people, most of the time, use display and SD. Which works fine.
If you want to add other SPI devices, you will have to modify the hardware. e.g. connect the 3-state control pin to SD CS.

David.

david_prentice:
Most people, most of the time, use display and SD. Which works fine.

Maybe, but it does not "work fine" - it works coincidentally.

It kind of works- just because the display does not use MISO.
And just because the average Arduino Noob will only flash examples.

Proofes to me once more that arduino stuff is half baked child toy stuff.

Made for noobs by noobs

Yes, I agree. It is a bad hardware design. They should have connected the /OE to /CS of the SD.
Or simply used a 1k series resistor instead of the 74LVC1G125 buffer.

You will find many design "features" as you go through life. It is not uncommon with Ebay items. I am very surprised to find it with an official Arduino product.

As I said earlier, most punters will not have multiple SPI devices.
There are plenty of other ST7735 displays on Ebay. Most of them require 3.3V logic. So it is up to the User to provide level shifters with a 5V Arduino.

David.

others mention that the SD-card will HI-Z miso if clocked after CS is pulled high.

I skimmed through the thread in your link. I could see no reference to the Arduino Robot LCD that is the device in this thread.

Please post a link to the actual message in the thread. Or just give a message number e.g. #123

David.