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);
}
Top Comments