Home
JAQForum Ver 20.06
Log In or Join  
Active Topics
Local Time 23:56 20 Apr 2024 Privacy Policy
Jump to

Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.

Forum Index : Microcontroller and PC projects : ILI9481 IPS on PicoMite

     Page 1 of 4    
Author Message
bigmik

Guru

Joined: 20/06/2011
Location: Australia
Posts: 2868
Posted: 11:14am 23 Jun 2022
Copy link to clipboard 
Print this post

Hi All,

I bought a few different tft display modules to test on my PicoMite one of which is an ILI9481 which I found out was an IPS display and not TFT.

The first inkling I had was when the backlight didn’t seem to work (like the ILI9488) I then re-read the description and discovered it was an IPS type.

Is this usable on the PicoMite? I see some other display types that are IPS types in the manual but no mention on the ILI9481 IPS.

Regards,

Mick
Edited 2022-06-23 21:15 by bigmik
Mick's uMite Stuff can be found >>> HERE (Kindly hosted by Dontronics) <<<
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8570
Posted: 12:10pm 23 Jun 2022
Copy link to clipboard 
Print this post

Other than you trying it there is no way to know without much more information. For example is it true SPI or does it use shift registers?
Drivers for ILI9481 and ILI9488W support shift registers. Driver for ILI9488 supports normal SPI. ILI9488 and ILI9481 controllers are pretty compatible
Edited 2022-06-23 22:11 by matherp
 
bigmik

Guru

Joined: 20/06/2011
Location: Australia
Posts: 2868
Posted: 12:28pm 23 Jun 2022
Copy link to clipboard 
Print this post

Hi Peter,

The display’s PCB looks identical to the ILI9488 board at least from the visible Rear side.

The description states SPI 3/4 wire ( see the table)




The ILI9488 that works fine states it is SPI 4 wire so there may be a difference there.

If you are interested this is the link of the ILI9481 I bought.

ILI9481

I was able to do a GUI Calibrate even though I couldn’t see the display at any BL level so the touch seems to work the back light does work as I can see the LED behind the display change with the BL command.

Is there any specific test I can do that can add more information to assist?

Kind Regards,

Mick
Mick's uMite Stuff can be found >>> HERE (Kindly hosted by Dontronics) <<<
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8570
Posted: 12:54pm 23 Jun 2022
Copy link to clipboard 
Print this post

Use the ILI9488 driver and see what happens
 
disco4now

Guru

Joined: 18/12/2014
Location: Australia
Posts: 843
Posted: 12:59pm 23 Jun 2022
Copy link to clipboard 
Print this post

Hi Mick,
I ordered a couple of what looks like these about 18 months ago. They look identical. From memory I was to get ILI9481, but one has ILI9486 written on it in with a black marker, and this was what they turned out to be.
On one the touch did not work, on the other touch but no backlight/display visible as you have. I tried to make one working from the two, but did not quite get there.
I have successfully fired the one without touch up. The initialisation strings are below. Format is number of commands ie.14, each line is the command, then the number data bytes, followed by the data bytes. The DELAY is  &H80 and says the last data byte represents the number 1mS delay after the command.You may be able to configure as ILI9481/ILI9488 and use the POKE DISPLAY command to send the correct initialisation sequence to see if you get anywhere.



static const uint8_t
ILI9481Init[] = {                  // Initialization commands for ILI9481 screens
   9,                        // 11 commands in list:
       0x11,DELAY,20,             //uSec(20000);
       0xD0,3,0x07,0x42,0x18,
       0xD2,2,0x01,0x02,
       0xC0,5,0x10,0x3B,0x00,0x02,0x11,
       0xB3,4,0x00,0x00,0x00,0x10,
       0xC8,12,0x00,0x32,0x36,0x45,0x06,0x16,0x37,0x75,0x77,0x54,0x0C,0x00,
       0xE0,15,0x0f,0x24,0x1c,0x0a,0x0f,0x08,0x43,0x88,0x03,0x0f,0x10,0x06,0x0f,0x07,0x00,
       0xE1,15,0x0F,0x38,0x30,0x09,0x0f,0x0f,0x4e,0x77,0x3c,0x07,0x10,0x05,0x23,0x1b,0x00,
       0x36,1,0x0A,
       0x3A,DELAY+1,0x55,120, //uSec(120000);
       0x29,0
};


static const uint8_t
ILI9486Init[] = {                                    // Initialization commands for ILI9486 screens
   14,                                          // 14 commands in list:
       0x28,0, // display off
       0xF1,6,0x36,0x04,0x00,0x3c,0x0f,0x8f,
       0xF2,9,0x18,0xa3,0x12,0x02,0xb2,0x12,0xff,0x10,0x00,
       0xf8,2,0x21,0x04,
       0xf9,2,0x00,0x08,
       0xb4,1,0x00,
       0xc1,1,0x47,
       0xC5,4,0x00,0xaf,0x80,0x00,
       0xe0,15,0x0f,0x1f,0x1c,0x0c,0x0f,0x08,0x48,0x98,0x37,0x0a,0x13,0x04,0x11,0x0d,0x00,
       0xe1,15,0x0f,0x32,0x2e,0x0b,0x0d,0x05,0x47,0x75,0x37,0x06,0x10,0x03,0x24,0x20,0x00,
       0x34,0,                                     //Tearing Effect Off
       0x3A,1,0x66,                                // Pixel Interface Format // 18 bit colour for SPI
       0x11,DELAY,150,                             //uSec( 150000);
       0x29,DELAY,255                              //uSec(500000);
};



Regards
Gerry
Latest F4 Latest H7
 
bigmik

Guru

Joined: 20/06/2011
Location: Australia
Posts: 2868
Posted: 11:32pm 23 Jun 2022
Copy link to clipboard 
Print this post

Hi All,

Progress is being made.

@PeterM,

Using the ILI9488 setting string below gave some promising but not perfect results

OPTION LCDPANEL ILI9488, PORTRAIT,GP15,GP14,GP13,GP20

The screen goes full white (And changes intensity as it should with the BL commands) which is the first time I have ever seen it more than a black screen

I tried a GUI CALIBRATE and the first point is displayed




Every other calibration point is off the screen and looks exactly the same, I press where the points should have been and they pass OK.





I notice the IMAGE is in NEGATIVE format, ie. what should be black is white and vice-versa.
Also it appears that the driver thinks the screen is twice the size (in resolution) than it is HENCE the text and targets being off screen.

@Gerry,

Thank you I will try that test when I work out how to implement that code.
Do I need to have an option set for the LCDPANEL to use that code or should it be `disabled' then implement your code?
Should your code be run every time the display is powered or does it somehow embed as a driver and appear in the OPTION LIST?

Thank you all for your assistance, we are progressing

This looks a very nice and SUPER BRIGHT screen, the pictures above do not do it justice, it is so bright the colours got washed out trying to tone it down (I could have changed the backlight intensity I suppose. If there is further interest I am happy to take better shots with the BL toned down.

Kind Regards,

Mick
Mick's uMite Stuff can be found >>> HERE (Kindly hosted by Dontronics) <<<
 
panky

Guru

Joined: 02/10/2012
Location: Australia
Posts: 1094
Posted: 11:43pm 23 Jun 2022
Copy link to clipboard 
Print this post

Mick,

Can you post a picture of the rear of the display. I have both 3.5" and 4" RPi connector style LCDs working fine using the ILI9481 option on the Pico however I don't think either are IPS style as they come up black screen after briefly flashing white on power up. I just tie the BL to 3V3 via a 68ohm resistor - have not got around to attempting BL control.

Doug.

PS. Mine have 2 74HC4094 chips, a 74HC04 and a 74HC4040.
Edited 2022-06-24 09:46 by panky
... almost all of the Maximites, the MicromMites, the MM Extremes, the ArmMites, the PicoMite and loving it!
 
bigmik

Guru

Joined: 20/06/2011
Location: Australia
Posts: 2868
Posted: 12:01am 24 Jun 2022
Copy link to clipboard 
Print this post

Hi All,

Further testing shows the screen fills with a box 241x321 in size as opposed to what it should be of 320x480

Also as I suspected the image is in NEGATIVE view

box 0,0,240,320,50,rgb(cyan)  GIVES a RED box
box 0,0,240,320,50,rgb(red)  Gives a CYAN box

The above give the EXACT screen width if I set 0,0,239,319 I have one pixel not filled at the RHS and at the bottom , if I set 1,1,240,320 I have one pixel on the LHS and TOP
I hope this helps in some way.

This screen will still be usable knowing all of the above but it will take some effort to work around in its current state

I believe this screen would be absolutely excellent for outdoor use as it is very bright compared to the IL9488 display.

Regards,

Mick
Mick's uMite Stuff can be found >>> HERE (Kindly hosted by Dontronics) <<<
 
panky

Guru

Joined: 02/10/2012
Location: Australia
Posts: 1094
Posted: 12:06am 24 Jun 2022
Copy link to clipboard 
Print this post


Mine all appear to have the shift registers.
Doug.
... almost all of the Maximites, the MicromMites, the MM Extremes, the ArmMites, the PicoMite and loving it!
 
bigmik

Guru

Joined: 20/06/2011
Location: Australia
Posts: 2868
Posted: 12:46am 24 Jun 2022
Copy link to clipboard 
Print this post

HI ALL,

BIGMIK is an IDIOT

I did the above tests with an ILI9341 display NOT the ILI9481

The ILI9481 still shows a blank screen no matter what driver I install.

So sorry for leading you all astray.

As to the brightness the ILI9341 showed up about 3 times the brightness of the ILI9488 so I thought it was the IPS display.

Argghh! Sorry fellas

BIGMIK is an IDIOT
BIGMIK is an IDIOT
BIGMIK is an IDIOT
BIGMIK is an IDIOT
BIGMIK is an IDIOT
BIGMIK is an IDIOT
Mick's uMite Stuff can be found >>> HERE (Kindly hosted by Dontronics) <<<
 
bigmik

Guru

Joined: 20/06/2011
Location: Australia
Posts: 2868
Posted: 12:52am 24 Jun 2022
Copy link to clipboard 
Print this post

Hi Panky, All,

My ILI9481 (on the Left) and ILI9488 (on the Right)

As far as I can see the PCBs are identical.





Regards,

Mick
Mick's uMite Stuff can be found >>> HERE (Kindly hosted by Dontronics) <<<
 
disco4now

Guru

Joined: 18/12/2014
Location: Australia
Posts: 843
Posted: 04:35am 24 Jun 2022
Copy link to clipboard 
Print this post

Hi Mick,
I tried my ILI9486 on a pico and it works with ILI9488 so my pokes might not help.
For what is worth this is how you can send to the LCDPanel with POKE DISPLAY.


POKE DISPLAY &H28                                       ' display off
POKE DISPLAY &HF1,6,&H36,&H04,&H00,&H3c,&H0f,&H8f
POKE DISPLAY &HF2,9,&H18,&Ha3,&H12,&H02,&Hb2,&H12,&Hff,&H10,&H00
POKE DISPLAY &Hf8,2,&H21,&H04
POKE DISPLAY &Hf9,2,&H00,&H08
POKE DISPLAY &Hb4,1,&H00
POKE DISPLAY &Hc1,1,&H47
POKE DISPLAY &HC5,4,&H00,&Haf,&H80,&H00
POKE DISPLAY &He0,15,&H0f,&H1f,&H1c,&H0c,&H0f,&H08,&H48,&H98,&H37,&H0a,&H13,&H04,&H11,&H0d,&H00
POKE DISPLAY &He1,15,&H0f,&H32,&H2e,&H0b,&H0d,&H05,&H47,&H75,&H37,&H06,&H10,&H03,&H24,&H20,&H00
POKE DISPLAY &H34             'Tearing Effect Off
POKE DISPLAY &H3A,1,&H66      'Pixel Interface Format // 18 bit colour for SPI

'Last two line would be
POKE DISPLAY &H11 : PAUSE 150                     'uSec( 150000);
POKE DISPLAY &H29 : PAUSE 255                     'uSec(500000);



I take it both your displays are doing the same thing.
Latest F4 Latest H7
 
bigmik

Guru

Joined: 20/06/2011
Location: Australia
Posts: 2868
Posted: 06:49am 24 Jun 2022
Copy link to clipboard 
Print this post

Hi Gerry,

I poked those lines in from the command prompt and 2 lines error-ed with Invalid Character as below (,)

> POKE DISPLAY &He0,15,&H0f,&H1f,&H1c,&H0c,&H0f,&H08,&H48,&H98,&H37,&H0a,&H13,&H04,&H11,&H0d,&H00

Error : Invalid character: ,

> POKE DISPLAY &He1,15,&H0f,&H32,&H2e,&H0b,&H0d,&H05,&H47,&H75,&H37,&H06,&H10,&H03,&H24,&H20,&H00

Error : Invalid character: ,



Also is the first error line supposed to be 15 or &H15? (neither worked anyway)

Regards,

Mick
Edited 2022-06-24 16:53 by bigmik
Mick's uMite Stuff can be found >>> HERE (Kindly hosted by Dontronics) <<<
 
disco4now

Guru

Joined: 18/12/2014
Location: Australia
Posts: 843
Posted: 04:17am 27 Jun 2022
Copy link to clipboard 
Print this post

Hi Mick,
It looks like the buffer holding the parameters for the POKE DISPLAY commmand is limited, seems to work if I shorten the command by putting the decimal value for some of the data. I don't think this is going to help with your display as I am now convinced mine are ILI9488 and not ILI9486 as I thought, though the one that works will work with the ILI9486 initialisation.

I have written some MMBasic that talks to the LCD PANEL and the TOUCH using SPI to allow some diagnostics by reading the ID from the display and the TEMP from the touch. This can determine if you can actually talk to the display/touch as a first step, however I see you have removed the MISO pin on your displays,so wont help unless you have one with MISO still connected or can put it back temporarily.
Let me know if you want to give it a try.

I am a bit suspicious of these displays now, I got two, one with touch not working and one with screen not working. They look identical to yours.


POKE DISPLAY &H28                                       ' display off
POKE DISPLAY &HF1,6,&H36,&H04,&H00,&H3c,&H0f,&H8f
POKE DISPLAY &HF2,9,&H18,&Ha3,&H12,&H02,&Hb2,&H12,&Hff,&H10,&H00
POKE DISPLAY &Hf8,2,&H21,&H04
POKE DISPLAY &Hf9,2,&H00,&H08
POKE DISPLAY &Hb4,1,&H00
POKE DISPLAY &Hc1,1,&H47
POKE DISPLAY &HC5,4,&H00,&Haf,&H80,&H00
'POKE DISPLAY &He0,15,&H0f,&H1f,&H1c,&H0c,&H0f,&H08,&H48,&H98,&H37,&H0a,&H13,&H04,&H11,&H0d,&H00
POKE DISPLAY &He0,15,&H0f,&H1F,&H1c,12,15,8,&H48,&H98,&H37,10,&H13,4,17,11,0
'POKE DISPLAY &He1,15,&H0f,&H32,&H2e,&H0b,&H0d,&H05,&H47,&H75,&H37,&H06,&H10,&H03,&H24,&H20,&H00
POKE DISPLAY &He1,15,&H0f,&H32,&H2e,11,13,5,&H47,&H75,&H37,6,&H10,0,&H24,&H20,0
POKE DISPLAY &H34             'Tearing Effect Off
POKE DISPLAY &H3A,1,&H66      'Pixel Interface Format // 18 bit colour for SPI

Last two line would be
POKE DISPLAY &H11 : PAUSE 150                     'uSec( 150000);
POKE DISPLAY &H29 : PAUSE 255                     'uSec(500000);



PS. The limit is the length of the command line.
OPTION DISPLAY 40,100
will increase the command line and allow the original commands to be run.
Edited 2022-06-27 14:28 by disco4now
Latest F4 Latest H7
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8570
Posted: 07:01am 27 Jun 2022
Copy link to clipboard 
Print this post

Since this looks like a nice display I've ordered one. When it arrives I'll add it to the firmware as a supported device. Be interesting to see if it has the ILI9488 MISO problem - hopefully not.
 
bigmik

Guru

Joined: 20/06/2011
Location: Australia
Posts: 2868
Posted: 01:09pm 27 Jun 2022
Copy link to clipboard 
Print this post

GDay All,

@Gerry,

Thank you for those codes but I don't seem to get any display no matter what
I loaded the OPTION for both the ILI9481 and ILI9488 and I could get nothing to display on the screen, (I use GUI Calibrate as an easy way to test the output)

I also tried without an LCD PANEL OPTION and it fails with DISPLAY not enabled (or similar error)

Also Gerry the touch is working as I can do a `blind GUI CALIBRATE' and get pass or fails through the Console.

@PeterM,
It doesn't seem to have the MISO problem as I can successfully do a GUI CALIBRATE with the MISO pin connected, However this may also NOT be the case as the display itself doesn't seem to be enabled so when its enabled that status may change

Kind Regards,

Mick
Mick's uMite Stuff can be found >>> HERE (Kindly hosted by Dontronics) <<<
 
lizby
Guru

Joined: 17/05/2016
Location: United States
Posts: 3010
Posted: 02:30pm 27 Jun 2022
Copy link to clipboard 
Print this post

  bigmik said  It doesn't seem to have the MISO problem as I can successfully do a GUI CALIBRATE with the MISO pin connected


GUI CALIBRATE uses the touch pins, not MISO.

If you have an SD card, a test would be to see if you can access it with MISO connected to the LCD.

~
Edited 2022-06-28 00:31 by lizby
PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8570
Posted: 03:50pm 27 Jun 2022
Copy link to clipboard 
Print this post

  Quote  GUI CALIBRATE uses the touch pins, not MISO.


Interesting, I wonder how it get the location back to the uP without MISO  
 
lizby
Guru

Joined: 17/05/2016
Location: United States
Posts: 3010
Posted: 04:19pm 27 Jun 2022
Copy link to clipboard 
Print this post

  matherp said  Interesting


I must be mistaken. I thought I had been able to do GUI CALIBRATE on an ILI9488 from which I had snipped the MISO pin.

~
Edited 2022-06-28 02:20 by lizby
PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 8570
Posted: 04:24pm 27 Jun 2022
Copy link to clipboard 
Print this post

Touch has separate MKOSI/MISO and CLK pins but typically these are joined with the LCD and SD leaving the separate CS to distinguish which is being addressed
 
     Page 1 of 4    
Print this page
© JAQ Software 2024