6 years, 9 months ago.

Need a driver for ILI9481 GLCD

Hi all, I have just bought a Graphical LCD Display from Banggood,

https://www.banggood.com/3_5-Inch-TFT-Color-Screen-Module-320-X-480-Support-Arduino-UNO-Mega2560-p-1022298.html?rmmds=search

and I cannot find any WORKING code for it,

I want to use LPC1549 Xpresso board, or LPC812. because of the footprint.

I have searched, extensively, but there doesn't seem to be any actual code for this driver IC.

I would relay like to get this going .

Thanks

Ceri

See below.

posted by Zoltan Hudak 19 Jun 2017

Just adding this hear .. I Finally got the screen to work, on a NUCLEO L 152

<code> PinName buspins[8]={D8,D9,D2,D3,D4,D5,D6,D7};

int main() { confSysClock(); Configure system clock (72MHz HSE clock, 48MHz USB clock)

tft = new ILI9341(BUS_8, buspins ,A3, A4, A2, A1, A0, "tft",320,480);

</code>

Not quit as fast as I hoped for graphics, but this is only the second day playing with a non NXP part.

posted by ceri clatworthy 11 May 2018

2 Answers

6 years, 9 months ago.

Hello Ceri,
Is it an ILI9841 or rather an ILI9481 (like this one)? In case it's an ILI9481 then there is a driver available here.

Thanks, I think I found this befor, BUT i have found a reference to ILI9481,

Although There doesn't seem to be a main.c for this ???

Do you have one ???

Cheers

Ceri

posted by ceri clatworthy 20 Jun 2017

Unfortunately a do not have access to such display but I would try the UniGraphic demo adapted as follows:

main.cpp

#include "stdio.h"
#include "mbed.h"
#include "string"
#include "Arial12x12.h"
#include "Arial24x23.h"
//#include "Terminal6x8.h"
#include "Arial43x48_numb.h"
#include "pict.h"
#include "pavement_48x34.h"

#include "TFT_MIPI.h"

Serial pc(USBTX, USBRX);

TFT_MIPI myLCD(SPI_8, 20000000, PA_7, PA_6, PA_5, PB_6, PA_8, PA_9,"myLCD"); // SPI 8bit, 20MHz, mosi, miso, sclk, cs, reset, dc for F103RB
//TFT_MIPI myLCD(PAR_16, PortC, PH_0, PH_1, PA_0, PA_1, PA_4,"myLCD"); // Parallel 16bit, Port, CS, reset, DC, WR, RD for F401

Timer t;

unsigned short backgroundcolor=Black;
unsigned short foregroundcolor=White;

char orient=1;
int main()
{
//    myLCD.set_contrast(26);//for uc1608
//    myLCD.set_contrast(46);//for ist3020
    myLCD.set_orientation(orient);
    int time, time2;
    pc.baud (115200);
    pc.printf("\n\nSystem Core Clock = %.3f MHZ\r\n",(float)SystemCoreClock/1000000);
    t.start();
    
    ...
    
}
posted by Zoltan Hudak 20 Jun 2017
6 years, 7 months ago.

Hello to all, I have the same problem; the display pins are: LCD_RTS, LCD_CS, LCD_RS_ LCD_WR, LCD_RD, not SPI interface is needed but parallel 8bit I think. For example.. I tried to modify the code by configuring it according to my pins TFT_MIPI myLCD(BUS_8, PortC, PB_0, PC_1, PA_4, PA_1, PA_0,"myLCD"); Parallel 8bit, Port, CS, reset, DC, WR, RD for F446

I did not find anything useful to be able to run the module, so are there novelties on your part?

Thank you very much

Hello Federico,

I don't have access to such display but I would suggest to try the following:

...
TFT_MIPI myLCD(PAR_8, PortC, PH_0, PH_1, PA_0, PA_1, PA_4,"myLCD"); // Parallel 8-bits, Port, CS, reset, DC, WR, RD for F446
...

Wiring:

ILI9481 moduleNUCLEO-446RE board
LCD_D0<=>PC_0
LCD_D1<=>PC_1
LCD_D2<=>PC_2
LCD_D3<=>PC_3
LCD_D4<=>PC_4
LCD_D5<=>PC_5
LCD_D6<=>PC_6
LCD_D7<=>PC_7
LCD_RST<=>PH_1
LCD_CS<=>PH_0
LCD_RS<=>PA_0
LCD_WR<=>PA_1
LCD_RD<=>PA_4
posted by Zoltan Hudak 19 Aug 2017