As far as i read, the ili9341 is supported by Great Cow BASIC but only as spi variant (the display seems to be driven in parallel and has some pins more to be connected). The touch driver xpt2046 seems to be compatible with the ADS7843 https://www.espruino.com/XPT2046 which also seems to be supported (at least in conjuction with another display driver).
What do you think, would this display work without too much hassle? I would give it a try on my arduino uno, but could use some hints to get started...
Thanks in advance.
Cheers,
Boris
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
i saw that but got a bit confused, because this one i got is advertised as parallel one and i thought that would differ from the spi ones ... at least i was scratching my head because of the more pins...
but will have deeper look...
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
for initial development the atmega328p on the uno r3 i got. Later i would try to downsize to a arduino mini to get a clock module and bluetooth module to work... so same chip.
if this is not feasible i have some greater chips on stock (have to lookup which) but wanted to avoid too much soldering on perfboard :)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
didn't recognize the LGT until today, looks very interesting. touch isn't necessarily to be used - maybe i will use another display. have to try out 3 in different sizes and the touch seemed nice (as written a bit confusing...), but maybe a bit complicated to use, will see... have to figure out the overall size, so that will be a constraint, too.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
did have the time to try everything out andd the discovery program shows good values on serial. Should anything besides a white screen be seen on display itself? And has someone a hint where a demo program for the 8bit mode of the ili9341 is? Afair, there are examples of the normal spi mode...
thanks in advance.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I have three ili9341 displays and they all have the same pin out although one has bigger display it is the same 320 x 240 resolution.
They are all spi and work with hardware spi on a uno but faster on lgt328.
Seemed hardware spi touch doesn't work with lgt328 so need to use software spi which is the display, not just the touch, which negates using the lgt328.
Hardware spi using touch works with a uno or nano ok.
@Boris's display looks parallel and no touch. No mosi, miso.
"This module consumes most of the resources available in Arduino UNO. This is not a limitation of the module itself. In return, using a parallel interface allows you to quickly update the image. If you want to take advantage of all its functionality (LCD + touch screen + SD card), only pins 0 and 1 (RX and TX, respectively) and pin 19 (A5) remain unused."
It's attached to a wattuino uno with a atmega328p. The wattuino is a 100% clone of the uno.
The only difference i think is the usb2serial-converter (FTDI FT231X).
OK. Use the GCB@Syn\GreatCowBasic\Demos\glcd_solutions\glcd_discovery_for_mcufriend_devices\glcd_discovery_8bit_databus.gcb program to show the type of board.
The program will output a load of info to the serial terminal. Please share. This will inform on the chip in the GLCD. They are NOT always what they say they are....
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
That is a ILI9341....and, the thing is wired up correctly. This is great news.
Share the first two lines of the ASM please. What version of the compiler? I am checking that the FOR-NEXT issues are affecting this program. The WHITE could be caused by that FOR-NEXT failing.
Attach your software code please.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
My apologies. The source /asm for the code with the White screen.
Discovery is working. So, we know the UNO/GLCD is ok. The difference in address is D3h is not important ( I have checked the datasheet).
Also, I did think this was an under voltage issue. So, I tested here with an under voltage UNO/GLCD. Nope... the GLCD does not go to a white screen when under voltage. So, it is not this.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The only programs i tested with this glcd were the discovery ones. In both cases it shows a white screen. If this is working as intended - my apologies :) I thought it should show the behaviour like on foto (index).
Then i could use a little help howto "translate" those spi-examples to a parallel one, please.
The picture index shows what i naively expected and the other picture shows what i really got (and caught on my cam).
Hello fellow friends of decent microcontroller programming,
i have this Display laying around: https://www.az-delivery.de/products/2-4-tft-lcd-touch-display
and found some english info for the arduino environment: https://www.hackster.io/calogerus/arduino-uno-2-4-tft-lcd-display-shield-touch-panel-ili9341-576b1b
As far as i read, the ili9341 is supported by Great Cow BASIC but only as spi variant (the display seems to be driven in parallel and has some pins more to be connected). The touch driver xpt2046 seems to be compatible with the ADS7843 https://www.espruino.com/XPT2046 which also seems to be supported (at least in conjuction with another display driver).
What do you think, would this display work without too much hassle? I would give it a try on my arduino uno, but could use some hints to get started...
Thanks in advance.
Cheers,
Boris
We support that GLCD all ready. See ..\GreatCowBasic\Demos\touch_sensor_solutions there are many demos there.
Last edit: Anobium 2021-04-18
i saw that but got a bit confused, because this one i got is advertised as parallel one and i thought that would differ from the spi ones ... at least i was scratching my head because of the more pins...
but will have deeper look...
The mega is not SPI.
thanks for the pointer: saw in the github repo this one Great-Cow-BASIC-Demonstration-Sources/GLCD_Solutions/GLCD_Discovery_for_MCUFRIEND_devices
afair the display should be a clone of a mcufriend one - maybe the luck is with me ;)
from your last post i did not get the point: i would drive the display on an arduino uno.
OK. I ask question. What chip are you planning to use ?
for initial development the atmega328p on the uno r3 i got. Later i would try to downsize to a arduino mini to get a clock module and bluetooth module to work... so same chip.
if this is not feasible i have some greater chips on stock (have to lookup which) but wanted to avoid too much soldering on perfboard :)
Just validate the solution using the shield and an UNO. Then decide.
I would use the LGT chipset. Much faster. However, the Touch driver will have to sorted (works ok on Uno the LGT is so fast the XPT is overclocked).
didn't recognize the LGT until today, looks very interesting. touch isn't necessarily to be used - maybe i will use another display. have to try out 3 in different sizes and the touch seemed nice (as written a bit confusing...), but maybe a bit complicated to use, will see... have to figure out the overall size, so that will be a constraint, too.
Hi again,
did have the time to try everything out andd the discovery program shows good values on serial. Should anything besides a white screen be seen on display itself? And has someone a hint where a demo program for the 8bit mode of the ili9341 is? Afair, there are examples of the normal spi mode...
thanks in advance.
You device IS an 8-bit GLCD.
Remind me what is the chip? and, how is it connected to the GLCD.
This info will help me recommend the next step.
I have three ili9341 displays and they all have the same pin out although one has bigger display it is the same 320 x 240 resolution.
They are all spi and work with hardware spi on a uno but faster on lgt328.
Seemed hardware spi touch doesn't work with lgt328 so need to use software spi which is the display, not just the touch, which negates using the lgt328.
Hardware spi using touch works with a uno or nano ok.
@Boris's display looks parallel and no touch. No mosi, miso.
Last edit: stan cartwright 2021-08-11
@Stan: You're right that it is parallel, but it should have the same touch capabilities as the spi ones.
i found some more information on it with respect to arduino:
https://create.arduino.cc/projecthub/javagoza/2-4-tft-lcd-touch-display-road-test-89f51b
Displaycontroller is ili9341, Touch xpt2046.
"This module consumes most of the resources available in Arduino UNO. This is not a limitation of the module itself. In return, using a parallel interface allows you to quickly update the image. If you want to take advantage of all its functionality (LCD + touch screen + SD card), only pins 0 and 1 (RX and TX, respectively) and pin 19 (A5) remain unused."
"Pin 9 - Touch X+ / LCD_D1
Pin 17 (A3) - Touch X- / LCD_CS
Pin 8 - Touch Y- / LCD_D0
Pin 16 (A2) - Touch Y+ / LCD_RS"
frome above link.
Last edit: Boris Breuer 2021-08-11
What is the display attached to? an UNO? which chip ?
It's attached to a wattuino uno with a atmega328p. The wattuino is a 100% clone of the uno.
The only difference i think is the usb2serial-converter (FTDI FT231X).
https://learn.watterott.com/de/breakouts/wattuino-uno/
OK. Use the
GCB@Syn\GreatCowBasic\Demos\glcd_solutions\glcd_discovery_for_mcufriend_devices\glcd_discovery_8bit_databus.gcb
program to show the type of board.The program will output a load of info to the serial terminal. Please share. This will inform on the chip in the GLCD. They are NOT always what they say they are....
Here are the lines from the program:
That is a ILI9341....and, the thing is wired up correctly. This is great news.
Share the first two lines of the ASM please. What version of the compiler? I am checking that the FOR-NEXT issues are affecting this program. The WHITE could be caused by that FOR-NEXT failing.
Attach your software code please.
Also, look in this folder... GCB@Syn\GreatCowBasic\Demos\vendors\hiletgo\graphicallcddiscovery
register 0x00D3 is different. Not sure what this means.
First two lines of the asm:
;Program compiled by Great Cow BASIC (0.98.07 2021-07-24 (Windows 64 bit) : Build 1005) for Microchip MPASM
I have a look at the hiletgo thing...
OK. re the ASM.
I do not think this is the FOR-NEXT issue. I just tried a version with the 'known' FOR-NEXT issue and my UNO/GLCD works here. (just tested).
Your source and ASM please. I want to check the 8bit code is being executed,
Here is the output of the hiletgo-program:
Here are the source-file for dthe discovery and the generated .asm.
My apologies. The source /asm for the code with the White screen.
Discovery is working. So, we know the UNO/GLCD is ok. The difference in address is D3h is not important ( I have checked the datasheet).
Also, I did think this was an under voltage issue. So, I tested here with an under voltage UNO/GLCD. Nope... the GLCD does not go to a white screen when under voltage. So, it is not this.
The only programs i tested with this glcd were the discovery ones. In both cases it shows a white screen. If this is working as intended - my apologies :) I thought it should show the behaviour like on foto (index).
Then i could use a little help howto "translate" those spi-examples to a parallel one, please.
The picture index shows what i naively expected and the other picture shows what i really got (and caught on my cam).
Last edit: Boris Breuer 2021-08-12