TFT 3.5 inch ILI9488 with NANO BLE nRF528

Has anyone managed to get an LCD of this type working on a NANO BLE?

I'm new to the Arduino world and was expecting more compatibility among the different type, but I guess not! There seems to be many differences in the code!

I can get the screen to work on a DUE but not the NANO BLE.

If you did manage to get one working with a BLE please let me know what libraries were used! And an example would be nice!

I don't need any fancy graphics, mostly text (With different colors and fonts).

Thanks in advance


Please post a link to the actual TFT screen that you have bought. e.g. Ebay sale page.

Here’s everything they have. The code samples and library references are in the “3.5 inch SPI Module Package”


I can compile fine with a DUE selected as Arduino board , but when I change it to nRF528x NANO BLE I get .

Simple_test:38:5: error: 'portOutputRegister' was not declared in this scope

*(portOutputRegister(digitalPinToPort(RS))) &= ~digitalPinToBitMask(RS);//LCD_RS=0;

I've seen posts where they say several code modules have not been added to the nRF528 code!


Forgot to mention , this is used in SPI mode!


Thanks for the link. It should be very straightforward to get an SPI device running on the BLE.

Currently I don’t have a BLE but have just ordered one.

I am reluctant to install anything from LCDWIKI. They do not have approval from the IDE Library Manager.


Edit. I built examples for Nano33BLE target with Adafruit_ST7735, Adafruit_SSD1306, Adafruit_ILI9341.

They compiled ok. Obviously I can’t see whether they work until my Nano33BLE board arrives.

The Download in your link seems to be circa 2018 e.g. this file is dated 07-Nov-2018
C:\Users\David Prentice\AppData\Local\Temp\\3.5inch_SPI_Module_ILI9488_MSP3520_V1.1\1-Demo\Demo_Arduino\Install libraries\LCDWIKI_SPI\LCDWIKI_SPI.h

My suggested library to use other than the WIKI one is with the ILI9341. Someone mentioned a way to modify it to comply with the 9488 by changing some values Only, the Height and Width parameters at Adafruit_ILI9341.h file is modified to

#define ILI9341_TFTWIDTH 320

#define ILI9341_TFTHEIGHT 480

And at the Adafruit_ILI9341.cpp file, at the function Adafruit_ILI9341::begin(void), the following lines are modified for adapting ILI9488 device (320x480 pixels).

writecommand(ILI9341_DFUNCTR); // Display Function Control




But I didn't see a writecommand in the cpp file!

What library did you compile with?



No, ILI9481, 9486, 9488 can only use 3 SPI bytes per pixel. The ILI9341 libraries use 2 bytes per pixel.

So it is much more involved than changing the initialisation sequence.

However an Adafruit GFX style library is infinitely preferable to the randomly spelled suspect methods from LCDWIKI.


Hi David, Did you get your NANO BLE yet? Put the Nano 9488 aside for now as I got one that plugs into a DUE and works great! But would still like to get the NANO BLE working with a TFT.

Thanks in advance


Yes, I got it weeks ago. And it should be on a Test Branch in GitHub. It might even be pushed to Master Branch.

Hey-ho. Did you know that the Thought Police do not like the name "Master" branch ?