This post addresses the use of the Elegoo 2.8" TFT Touch Screen Shield w/Built-In Micro-SD Card Slot and its supplied libraries with both the Arduino brand Uno R3 and the Mega2560 R3. This TFT Shield appears to be similar to many other TFT/SD combination units of past/current manufacture so this information may also apply to those units. It may also apply to clones of the two Arduino boards mentioned above.
Before getting into this I should note that there is an open (and confusing) issue with NUMEROUS comments in the Elegoo example code that comes with the shield where it claims a 'Shield' vs ' Breakout Board' #define needs to be made. I am using the TFT as a 'Shield' on the Uno R3 (and now on the Mega2560 R3 as well - see below) in the 'Breakout Board' configuration and everything works just fine. Using the suggested #define for the 'Shield' configuration results in things NOT working at all, at least for me.
The Elegoo documentation also states that the Micro-SD Card Slot cannot be used when the shield is attached to a Mega2560 due to the SPI Pin assignments differing between the two boards (Uno vs Mega2560) and I have found this to be true (but again, see below).
Gleaning stuff from several posts on the forum (all closed but w/no final findings posted) I was INDEED able to get the SD slot to work on the Mega2560 R3 in the same manner as it does on the Uno R3.
I got there by FIRST hand wiring the Mega2560 R3 SPI Pins (50 - MISO, 51 - MOSI, 52 - SCK, 53 - SS) to the corresponding CON1 pins on the edge of the Elegoo TFT PCB (see attached image where SD_D0 is MISO, SD_D1 is MOSI, SD_SCK is SCK and SD_SS is SS).
The SECOND step was to alter the Elegoo example code to set the Mega2560 R3 SPI Pin 53 (SS) as an OUTPUT Pin and then specify that same Pin when the SD object is initialized (see second image below).
With the two steps above, the Elegoo 2.8" TFT w/SD worked perfectly and was able to display BMP files from the Micro SD card when attached as a 'Shield' to the Arduino Mega2560 R3. Just like it does when attached to an Uno R3 where the SPI Pins are allocated somewhat differently (12 - MISO, 11 - MOSI, 13 - SCK, 10 - SS).
Discovering the above REALLY made my day and I hope it clears some things up for anyone with similar issues or questions. In short, you can most definitely use the Elegoo TFT unit mention above AND its attached Micro-SD Card unit with the Elegoo supplied libraries (and possibly similar offerings) with BOTH the Arduino brand Uno R3 and Mega2560 R3.
Barry

