Hi
I bought this TFT: TFT 2.8" LCD Touch Screen module, 3.3V, with SD and MicroSD card
The shop provides links to information, and schematics can be found there, but no information about the controller.
I asked for information, but did not get any response after 2 weeks. So I had to find out myself.
The controller of my display is ili9325, the interface is 8bit parallel (upper part), standard pinout for MEGA/DUE shields.
Interface is 3.3V, supply is 5V (LDO) and 5V on LED-A pin, but works also with 3.3V supply.
It works with MCUFRIEND_kbv on Sainsmart TFT LCD Mega Shield V2.2, with forcing ID 0x9325 and
#define USE_MEGA_8BIT_SHIELD
a bit dim with the 3.3V on LED-A.
I confirmed ili9325 on a CTE DUE shield, modified for read.
I still have to investigate with the RobotDyn UNO shield; it seems to use a "nonstandard" pin mapping.
I don't like to recommend this supplier, but the display is rather inexpensive with its SD-card support.
Jean-Marc
The mystery of the shield resolved:
The shield uses full PORTD for 8bit data to the TFT. And it uses "nonstandard" control pins.
This shield interferes with Serial IO.
Control pins used for TFT:
GxIO_UNO_P8_ROBOTDYN_SHIELD::GxIO_UNO_P8_ROBOTDYN_SHIELD() :
#if defined(UCSRB)
_ucsrb(&UCSRB)
#elif defined(UCSR0B)
_ucsrb(&UCSR0B)
#else
_ucsrb(&_dummy_ucsrb)
#endif
{
_cs = A3; // PC3
_rs = A5; // PC5
_rst = A2; // PC2
_wr = A4; // PC4
}
Workaround for conflict with Serial IO:
void GxIO_UNO_P8_ROBOTDYN_SHIELD::writeCommandTransaction(uint8_t c)
{
uint8_t ucsrb_save = *_ucsrb;
*_ucsrb = 0;
PORTC &= ~_BV(3); // CS_L;
PORTC &= ~_BV(5); // RS_L;
PORTD = c;
PORTC &= ~_BV(4); PORTC &= ~_BV(4); PORTC |= _BV(4); // WR_STB;
PORTC |= _BV(5); // RS_H;
PORTC |= _BV(3); // CS_H;
*_ucsrb = ucsrb_save;
}
There is no workaround to avoid garbage output on Serial TX.
I have not yet played with touch function and SD card.