Connecting a 3,5" LCD Display to the Arduino nano 33 ble

Hey there,
I've been trying to figure this out for a while now I have the Arduino nano 33 ble wired up to a 3,5-inch Arduino uno LCD shield the driver is the ILI9486 it has 320x480 dots and an 8-bit bus. (this one to be exact)

 ( [Anzeigemodul - 3,5" TFT-LCD-Display-Modul 480x320 for Arduino UNO & MEGA 2560 Vorstand (Farbe : 1*LCD Screen without Touch Panel) : Amazon.de: Gewerbe, Industrie & Wissenschaft](https://www.amazon.de/Anzeigemodul-TFT-LCD-Display-Modul-480x320-Arduino-Vorstand/dp/B07Y5Z6VZB/ref=d_pd_sbs_sccl_2_5/259-1742164-5113713?pd_rd_w=lgdcH&content-id=amzn1.sym.6023e427-25bb-42e7-aaa9-a6e0a8bdcb7b&pf_rd_p=6023e427-25bb-42e7-aaa9-a6e0a8bdcb7b&pf_rd_r=WA9Q8DXRR9KCTBQF34VJ&pd_rd_wg=vFSmC&pd_rd_r=04ec7c29-d354-4b23-94ae-9f7ab4a0dc78&pd_rd_i=B07Y5Z6VZB&psc=1)) 

i have it wired up like this:

3.5" LCD-Shield <--> Arduino Nano 33 BLE
1 (LCD_RST) <--> 21 (RST)
2 (LCD_CS) <--> 20
3 (LCD_RS) <--> 26
4 (LCD_WR) <--> 16
5 (LCD_RD) <--> 17
6 (GND) <--> 14 (GND)
7 (5V) <--> 15 (VIN)
8 (3V3) <--> NC
9 (LCD_D0) <--> 29 (D11/MOSI)
10 (LCD_D1) <--> 30 (D12/MISO)
11 (LCD_D2) <--> 24 (D6/PWM)
12 (LCD_D3) <--> 23 (D5/PWM)
13 (LCD_D4) <--> 22 (D4)
14 (LCD_D5) <--> 27 (D9/PWM)
15 (LCD_D6) <--> 28 (D10/PWM)
16 (LCD_D7) <--> 25 (D7)
17 (SD_SS) <--> NC
18 (SD_DI) <--> NC
19 (SD_DO) <--> NC
20 (SD_SCK) <--> NC

this is the sketch Wich is running fine while it's on the Arduino uno:

#include <Adafruit_GFX.h>
#include <MCUFRIEND_kbv.h>

#define BLACK 0x0000
#define BLUE 0x001F
#define RED 0xF800
#define GREEN 0x07E0
#define CYAN 0x07FF
#define MAGENTA 0xF81F
#define YELLOW 0xFFE0
#define WHITE 0xFFFF

MCUFRIEND_kbv tft;

void setup() {
  // Reading TFT ID:
  uint16_t ID = tft.readID();
  Serial.begin(9600);
  Serial.println(ID);
  //Initializing TFT display:
  tft.begin(ID);
}

void loop() {
  // Fill TFT Screen with a color:
  tft.fillScreen(BLACK);
  delay(500);

  //Set cursor:
  tft.setCursor(80, 25);

  //Set text color:
  tft.setTextColor(WHITE);

  //Set text size:
  tft.setTextSize(5);

  //Print text to TFT display:
  tft.println("Test");
  delay(2000);
}

maybe someone can help me find the issue or the parts of the library's that i need to modify for it to run properly on an Arduino nano 33 ble.

greetings
TappY :slight_smile:

My guess: Maybe the library talks directly to ports, and the port numbers seem to be different. Nano uses P$# (B, C, D... 0 ~ 7) and BLE uses P#.# (0, 1... 0 ~ 29)
Nano

Nano BLE

I think supported processors can be found in extras/mcufriend_how_to.txt.
See also: extras/mcufriend_history.txt

Jean-Marc

Don't know if this is a different board, but I think so; see line 426:
extras/unused/mcufriend_special_3.h

//####################################### NANO IOT 33 ############################
#elif defined(__SAMD21G18A__) && defined(ARDUINO_SAMD_NANO_33_IOT)     //regular UNO shield on NANO IOT 33
#warning building for NANO IOT 33 
//LCD pins   |D7  |D6  |D5  |D4  |D3  |D2  |D1  |D0  | |RD |WR |RS  |CS  |RST |
//SAMD21 pin |PA6 |PA4 |PA5 |PA7 |PB11|PB10|PA20|PA18| |PA2|PB2|PA11|PA10|PB08|

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.