user52391: I have purchased a MI0283QT-9A TFT display (https://download.mikroe.com/documents/add-on-boards/other/display/tft-proto/tft-proto-manual-v200.pdf) which is
driven by the ILI9341 display controller.
I've managed to find the following board specification: http://pub.ucpros.com/download/tft_320_240_mi0283qt_9a_v1_3_spec.pdf
First of all, the pins are named differently from all the examples I can find for connecting it to my ESP32 microcontroller. For example, the TFT specs describe:
33 SDO Serial Output Signal
34 SDI Serial Input Signal
35 RD Read execution control pin
36 WRX(D/CX) Write execution control pin ; Serial Register select s Signal
37 D/CX(SCL) Register select signal; Serial Interface Clock
38 CSX Chip Select Signal
39 TE Tearing effect out pin synchronize MPU to frame writng

But this Adafruit ILI9341 example (https://github.com/adafruit/Adafruit_ILI9341/blob/master/examples/graphicstest/graphicstest.ino) talks about CS, DC, MOSI, CLK, RST, and MISO.
I think these map as follows, can anyone confirm that?
ESP32 = TFT
--------------
DC    = RS
CLK   = WR, although maybe it should connect to DC???
CS    = CSX
MOSI  = SDI
RST   = RST
MISO  = SDO

I'm really unsure about the first two!
Second, in the PDF it refers to note 1 on page 11:

So as far as I can tell, I need to set the voltage high/low on the four IM* pins, depending upon the interface I want to use. So the second question is which interface does the Adafruit ILI9341 library use?

user4143: It sounds like you want a 4-wire 8-bit serial SPI compatible interface.  To get that you have to set the IMx pins to the right state to enable that interface.  That means:

IM0 = LOW
IM1 = HIGH
IM2 = HIGH
IM3 = HIGH

You can hard-wire those to GND for LOW and +3.3V for HIGH.
That will then configure it to work in the right mode for you, where it gives you access to the following pins:
| Display  | ESP32   | Function                    |
|----------|---------|-----------------------------|
| SCL (RS) | SCK     | Serial clock                |
| SDI      | MOSI    | Serial data Master -> Slave |
| SDO      | MISO    | Serial data Slave -> Master |
| D/CX (WR)| DC      | Data / Command register sel |
| CSX      | CS      | Chip Select (Active Low)    |
| RST      | RST     | Reset                       |


user54073: Same (TFT proto board) tested Arduono DUE.
Pins IM1-3 HI, IM0 LO. (4-wire 8-bit data serial interface)
SDI - MOSI, SDO - MISO,RS - CLK, RD - HI, WR - D9, CS - D10, Reset - Reset (D8)
Driver UTFT myGLCD (ILI9341_S5P, MOSI, SCK, 10,8,9);
or
// For the Adafruit shield, these are the default.
#define TFT_DC 9
#define TFT_CS 10
Adafruit_ILI9341 tft = Adafruit_ILI9341 (TFT_CS, TFT_DC);

Backlight needs resistor!

52391: <p>I have purchased a MI0283QT-9A TFT display (<a href="https://download.mikroe.com/documents/add-on-boards/other/display/tft-proto/tft-proto-manual-v200.pdf" rel="nofollow noreferrer">https://download.mikroe.com/documents/add-on-boards/other/display/tft-proto/tft-proto-manual-v200.pdf</a>) which is
driven by the ILI9341 display controller.</p>

<p>I've managed to find the following board specification: <a href="http://pub.ucpros.com/download/tft_320_240_mi0283qt_9a_v1_3_spec.pdf" rel="nofollow noreferrer">http://pub.ucpros.com/download/tft_320_240_mi0283qt_9a_v1_3_spec.pdf</a></p>

<p>First of all, the pins are named differently from all the examples I can find for connecting it to my ESP32 microcontroller. For example, the TFT specs describe:</p>

<pre><code>33 SDO Serial Output Signal
34 SDI Serial Input Signal
35 RD Read execution control pin
36 WRX(D/CX) Write execution control pin ; Serial Register select s Signal
37 D/CX(SCL) Register select signal; Serial Interface Clock
38 CSX Chip Select Signal
39 TE Tearing effect out pin synchronize MPU to frame writng
</code></pre>

<p>But this Adafruit ILI9341 example (<a href="https://github.com/adafruit/Adafruit_ILI9341/blob/master/examples/graphicstest/graphicstest.ino" rel="nofollow noreferrer">https://github.com/adafruit/Adafruit_ILI9341/blob/master/examples/graphicstest/graphicstest.ino</a>) talks about CS, DC, MOSI, CLK, RST, and MISO.</p>

<p>I think these map as follows, <strong>can anyone confirm that</strong>?</p>

<pre><code>ESP32 = TFT
--------------
DC    = RS
CLK   = WR, although maybe it should connect to DC???
CS    = CSX
MOSI  = SDI
RST   = RST
MISO  = SDO
</code></pre>

<p>I'm really unsure about the first two!</p>

<p>Second, in the PDF it refers to note 1 on page 11:</p>

<p><a href="https://i.stack.imgur.com/FcfbK.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/FcfbK.png" alt="enter image description here"></a></p>

<p>So as far as I can tell, I need to set the voltage high/low on the four IM* pins, depending upon the interface I want to use. So the second question is <strong>which interface does the Adafruit ILI9341 library use</strong>?</p>
 4143: <p>It sounds like you want a 4-wire 8-bit serial SPI compatible interface.  To get that you have to set the IMx pins to the right state to enable that interface.  That means:</p>

<ul>
<li>IM0 = LOW</li>
<li>IM1 = HIGH</li>
<li>IM2 = HIGH</li>
<li>IM3 = HIGH</li>
</ul>

<p>You can hard-wire those to GND for LOW and +3.3V for HIGH.</p>

<p>That will then configure it to work in the right mode for you, where it gives you access to the following pins:</p>

<pre><code>| Display  | ESP32   | Function                    |
|----------|---------|-----------------------------|
| SCL (RS) | SCK     | Serial clock                |
| SDI      | MOSI    | Serial data Master -&gt; Slave |
| SDO      | MISO    | Serial data Slave -&gt; Master |
| D/CX (WR)| DC      | Data / Command register sel |
| CSX      | CS      | Chip Select (Active Low)    |
| RST      | RST     | Reset                       |
</code></pre>
 54073: <p>Same (TFT proto board) tested Arduono DUE.</p>

<p>Pins IM1-3 HI, IM0 LO. (4-wire 8-bit data serial interface)</p>

<p>SDI - MOSI, SDO - MISO,RS - CLK, RD - HI, WR - D9, CS - D10, Reset - Reset (D8)</p>

<p>Driver UTFT myGLCD (ILI9341_S5P, MOSI, SCK, 10,8,9);</p>

<p>or</p>

<pre><code>// For the Adafruit shield, these are the default.
#define TFT_DC 9
#define TFT_CS 10
Adafruit_ILI9341 tft = Adafruit_ILI9341 (TFT_CS, TFT_DC);
</code></pre>

<p>Backlight needs resistor!</p>
