Home
JAQForum Ver 24.01
Log In or Join  
Active Topics
Local Time 23:49 25 Nov 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 : New 4 inch LCD

     Page 12 of 12    
Author Message
stanleyella

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 2127
Posted: 06:58pm 14 Apr 2024
Copy link to clipboard 
Print this post

ili9341 vs ili9488 same prog https://www.youtube.com/watch?v=z_8eiKH4Hjw
 
stanleyella

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 2127
Posted: 08:18pm 14 Apr 2024
Copy link to clipboard 
Print this post

  phil99 said  This works well for me.
Note the RLANDSCAPE in the Options. See if that makes a difference.
Edit
Another thing to try is copy my calibration first then re-calibrate if needed.
GUI CALIBRATE 0, 3820, 408, -1306, 946

will soldering resistors fix blit read not working?
 
stanleyella

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 2127
Posted: 09:49pm 14 Apr 2024
Copy link to clipboard 
Print this post

Phil, if you are familiar with this ips 9488 then which resistors need blobbing please?
and using 1n5819 and 10kr
no probs with reading sd card though, it's blit read/write.

Edited 2024-04-15 08:02 by stanleyella
 
phil99

Guru

Joined: 11/02/2018
Location: Australia
Posts: 2135
Posted: 11:17pm 14 Apr 2024
Copy link to clipboard 
Print this post

Some ILI9341 and older ILI9488 boards require the resistors to be blobbed but the IPS ILI9488 is different as explained here and again .

On the 4" IPS ILI9488 R8 needs to be removed, not blobbed if the SD card is to share System SPI with the LCD panel.
R8 is connected to SDO and is a 4.7kΩ pullup to 3.3V. When SDO is connected to MISO R8 prevents the 10kΩ resistor pulling MISO low, stopping Blit from working.

Make sure you only use 3.3v on this board to avoid destroying your SD card. This board does not have a 3.3V regulator (U1) fitted, instead it is bypassed by a link (R0).

To make it interchangeable with other panels remove R0 and solder a 3.3V LDO regulator on U1.
Edited 2024-04-15 11:34 by phil99
 
stanleyella

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 2127
Posted: 03:24pm 15 Apr 2024
Copy link to clipboard 
Print this post

  phil99 said  Some ILI9341 and older ILI9488 boards require the resistors to be blobbed but the IPS ILI9488 is different as explained here and again .

On the 4" IPS ILI9488 R8 needs to be removed, not blobbed if the SD card is to share System SPI with the LCD panel.
R8 is connected to SDO and is a 4.7kΩ pullup to 3.3V. When SDO is connected to MISO R8 prevents the 10kΩ resistor pulling MISO low, stopping Blit from working.

Make sure you only use 3.3v on this board to avoid destroying your SD card. This board does not have a 3.3V regulator (U1) fitted, instead it is bypassed by a link (R0).

To make it interchangeable with other panels remove R0 and solder a 3.3V LDO regulator on U1.


Brill Phil! a simple explanation that works.
Blit read/write now works and still reads sd card.
I use a 3.3V and 5V barrel jack reg board. 5V to lcd and 3.3V to pico 3.3V enable grounded so just a jumoer link to change 5V to 3.3V for lcd.
De soldering R8 was hard.
Surprised powering ils 9488 with 5V not blown it, I thought there was a reg u1 but it was a transistor for led/bl.
Thanks again stan
 
stanleyella

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 2127
Posted: 04:23pm 15 Apr 2024
Copy link to clipboard 
Print this post

Spoke too soon, colours missing
are these colour values correct for ips 9488?
'colour shortcuts
const WH =RGB(255,  255,  255) 'WHITE
const YE =RGB(255,  255,    0) 'YELLOW
const LI =RGB(255,  128,  255) 'LILAC
const BR =RGB(255,  128,    0) 'BROWN
const FU =RGB(255,  64,   255) 'FUCHSIA
const RU =RGB(255,  64,     0) 'RUST
const MA =RGB(255,  0,    255) 'MAGENTA
const RE =RGB(255,  0,      0) 'RED
const CY =RGB(0,    255,  255) 'CYAN
const GR =RGB(0,    255,    0) 'GREEN
const CE =RGB(0,    128,  255) 'CERULEAN
const MI =RGB(0,    128,    0) 'MIDGREEN
const CO =RGB(0,    64,   255) 'COBALT
const MY =RGB(0,    64,     0) 'MYRTLE
const BL =RGB(0,    0,    255) 'BLUE
const Bk =RGB(0,    0,      0) 'BLACK
const Gy =RGB(128,  128,  128) 'GREY
const Lg =RGB(210,  210,  210) 'LITEGREY
const Og =RGB(255,  165,    0) 'ORANGE
const PK =RGB(255,  160,  171) 'PINK
const Gd =RGB(255,  215,    0) 'GOLD
const SA =RGB(250,  128,  114) 'SALMON
const BE =RGB(245,  245,  220) 'BEIGE
'
 
stanleyella

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 2127
Posted: 05:58pm 15 Apr 2024
Copy link to clipboard 
Print this post

for a=0to 2:b=0:for c=0to 255:d=c<<a*8:pixel 9,9,d:if d=pixel(9,9)then:inc b:endif:next:?b:next
gives
> run
64
64
64
>
so does that mean lcd is ok. is reading pixels same as blit read/write?
 
lizby
Guru

Joined: 17/05/2016
Location: United States
Posts: 3150
Posted: 06:00pm 15 Apr 2024
Copy link to clipboard 
Print this post

You can test with:
const WH =RGB(255,  255,  255) 'WHITE
const YE =RGB(255,  255,    0) 'YELLOW
const LI =RGB(255,  128,  255) 'LILAC
const BR =RGB(255,  128,    0) 'BROWN
const FU =RGB(255,  64,   255) 'FUCHSIA
const RU =RGB(255,  64,     0) 'RUST
const MA =RGB(255,  0,    255) 'MAGENTA
const RE =RGB(255,  0,      0) 'RED
const CY =RGB(0,    255,  255) 'CYAN
const GR =RGB(0,    255,    0) 'GREEN
const CE =RGB(0,    128,  255) 'CERULEAN
const MI =RGB(0,    128,    0) 'MIDGREEN
const CO =RGB(0,    64,   255) 'COBALT
const MY =RGB(0,    64,     0) 'MYRTLE
const BL =RGB(0,    0,    255) 'BLUE
const Bk =RGB(0,    0,      0) 'BLACK
const Gy =RGB(128,  128,  128) 'GREY
const Lg =RGB(210,  210,  210) 'LITEGREY
const Og =RGB(255,  165,    0) 'ORANGE
const PK =RGB(255,  160,  171) 'PINK
const Gd =RGB(255,  215,    0) 'GOLD
const SA =RGB(250,  128,  114) 'SALMON
const BE =RGB(245,  245,  220) 'BEIGE

? hex$(WH),hex$(YE),hex$(LI),hex$(BR),hex$(RU),hex$(MA),hex$(RE),hex$(CY),hex$(GR),hex$(CE),hex$(MI)
? hex$(CO),hex$(MY),hex$(BL),hex$(Bk),hex$(Gy),hex$(Lg),hex$(Og),hex$(PK),hex$(Gd),hex$(SA),hex$(BE)

Results:
> RUN
FFFFFF  FFFF00  FF80FF  FF8000  FF4000  FF00FF  FF0000  FFFF    FF00    80FF    8000
40FF    4000    FF      0       808080  D2D2D2  FFA500  FFA0AB  FFD700  FA8072  F5F5DC

But also note from the manual:
'shortcut' allows common colours to be specified by naming them. The colours
that can be named are white, black, blue, green, cyan, red, magenta, yellow,
brown, white, orange, pink, gold, salmon, beige, lightgrey and grey (or USA
spelling gray/lightgray)

PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed
 
matherp
Guru

Joined: 11/12/2012
Location: United Kingdom
Posts: 9112
Posted: 06:47pm 15 Apr 2024
Copy link to clipboard 
Print this post

The colours defined in the PicoMite are as follows. Use RGB(COLOURNAME) to use them:

   #define WHITE               RGB(255,  255,  255) //0b1111
   #define YELLOW              RGB(255,  255,    0) //0b1110
   #define LILAC               RGB(255,  128,  255) //0b1101
   #define BROWN               RGB(255,  128,    0) //0b1100
   #define FUCHSIA             RGB(255,  64,   255) //0b1011
   #define RUST                RGB(255,  64,     0) //0b1010
   #define MAGENTA             RGB(255,  0,    255) //0b1001
   #define RED                 RGB(255,  0,      0) //0b1000
   #define CYAN                RGB(0,    255,  255) //0b0111
   #define GREEN               RGB(0,    255,    0) //0b0110
   #define CERULEAN            RGB(0,    128,  255) //0b0101
   #define MIDGREEN            RGB(0,    128,    0) //0b0100
   #define COBALT              RGB(0,    64,   255) //0b0011
   #define MYRTLE              RGB(0,    64,     0) //0b0010
   #define BLUE                RGB(0,    0,    255) //0b0001
   #define BLACK               RGB(0,    0,      0) //0b0000
   #define BROWN               RGB(255,  128,    0)
   #define GRAY                RGB(128,  128,    128)
   #define LITEGRAY            RGB(210,  210,    210)
   #define ORANGE             RGB(0xff, 0xA5, 0)
#define PINK RGB(0xFF, 0xA0, 0xAB)
#define GOLD RGB(0xFF, 0xD7, 0x00)
#define SALMON RGB(0xFA, 0x80, 0x72)
#define BEIGE RGB(0xF5, 0xF5, 0xDC)
 
stanleyella

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 2127
Posted: 06:52pm 15 Apr 2024
Copy link to clipboard 
Print this post

lizby thanks. I changed colour short cuts and my sprites/blit write are correct again, no missing pixels. all getting too strange for me.
The problem now is gui calibrate works but GUI TEST TOUCH is total messed.
It did work but think removing R8 I damaged display, dunno
const WH =RGB(white) 'WHITE
const YE =RGB(yellow) 'YELLOW
const BR =RGB(brown) 'BROWN
const MA =RGB(magenta) 'MAGENTA
const RE =RGB(red) 'RED
const CY =RGB(cyan) 'CYAN
const GR =RGB(green) 'GREEN
const BL =RGB(blue) 'BLUE
const Bk =RGB(black) 'BLACK
const Gy =RGB(grey) 'GREY
const Lg =RGB(lightgrey) 'LITEGREY
const Og =RGB(orange) 'ORANGE
const PK =RGB(pink) 'PINK
const Gd =RGB(gold) 'GOLD
const SA =RGB(salmon) 'SALMON
const BE =RGB(beige) 'BEIGE
Edited 2024-04-16 05:15 by stanleyella
 
phil99

Guru

Joined: 11/02/2018
Location: Australia
Posts: 2135
Posted: 08:39am 16 Apr 2024
Copy link to clipboard 
Print this post

  Quote  A possible alternative to removing R8 may be to reduce the 10kΩ to 1kΩ - 1.5kΩ to override it. Untested, may be too low for some SD cards.

Got around to testing this and it works from 1kΩ to 2kΩ  but colour counter and Blit errors start at 2.2k.

All the SD cards I have are happy with this so I suggest leaving R8 in place and using 1.5kΩ or 1.8kΩ for the LCD_CS to MISO resistor.

Footnote added 2024-04-17 11:20 by phil99
A more informative 2 line colour counter.
> clear : option base 0 : dim string s(2)=(" blues"," greens"," reds") : dim integer a, b, c, d
> for a=0to 2:b=0:for c=0to 255:d=c<<a*8:pixel 9,9,d:if d=pixel(9,9)then:inc b:endif:next:?b;s(a):next
64 blues
64 greens
64 reds
>


Footnote added 2024-04-17 12:02 by phil99
More playing.
You can remove the diode and replace it with a 1nF capacitor and it all works. Pixel, Blit and SD card.
 
stanleyella

Guru

Joined: 25/06/2022
Location: United Kingdom
Posts: 2127
Posted: 07:04pm 16 Apr 2024
Copy link to clipboard 
Print this post

Phil, thanks for the advice.I tried ips 9488 again and gui calibrate no errors but today touch is working accurately. think it's the tight fit on the board, screen touches pico so maybe resistive layer distorted.
removing R8 sorted blit read/write and sd card reads ok
using 10KR and 1N5819
 
     Page 12 of 12    
Print this page


To reply to this topic, you need to log in.

© JAQ Software 2024