I received the Adafruit 5.0" 40-pin TFT Display 800x480 with Touchscreen PRODUCT ID: 1596 and the RA8875 Driver Board for 40-pin TFT Touch Displays 800 x 480 Max PRODUCT ID: 1590.

I had a hard time getting the display to work with the MKR1000 device so I checked the Adafruit website but no luck on the wiring diagrams or instructions.

I tried the Arduino website and no one had any information on how to wire it up. I tried Google and YouTube for any wiring videos.

I connected my Uno to the RA8875 module and put the jumper wires to the ports listed in the Arduino ino file for the ts_calibration and the TFT display lit up and I was able to get the touch readings!

So with doing that, I tried the MKR2UNO module and wired it as I did with my Uno and it didn't work.

Not be defeated, I looked at the MKR2UNO schematics and compared Pin to Pin with how I had it connected to the Uno and tried some different pins, modified the ino code for the ts_calibration under the Adafruit RA8875 library that I added to Arduino and it worked!

Here are the RA8875 pins and the MKR1000 pins that need to be used for the calibration.

RA8875/ MKR1000

VIN/ PIN 14 = +5

GND/ PIN 11 = GND

SCK/ PIN 09 = SCK

MISO/ PIN 10 = MISO

MOSI/ PIN 08 = MOSI

CS/ PIN 06 = Defined as CS in code

RST/ PIN 02 = Defined as RST

INT/ PIN 03 = Defined as INT

 

I modified the code to look like these pins:

 

#include <SPI.h>

#include "Adafruit_GFX.h"

#include "Adafruit_RA8875.h"

 

 

#define RA8875_INT     3

#define RA8875_CS      6

#define RA8875_RESET   2

 

and finally, I changed the code to reflect the 800x400 rather than the 480x272 display:

 

void setup()

{

  Serial.begin(9600);

  Serial.println("Hello, RA8875!");

 

 

  /* Initialise the display using 'RA8875_480x272' or 'RA8875_800x480' */

    if (!tft.begin(RA8875_800x480))

  {

    Serial.println("RA8875 not found ... check your wires!");

    while (1);

  }

5" TFT display working with RA8875 and the MKR1000