TFT LCD Dynamic Interface Mode selection (8bit&16bit)

I was designing my own PCB (newbie i am) and i run out of the pins at the moment so i was thinking of sacrificing on LCD's speed while NRF24 IC (or something else) is running.
I want to switch between 8 bit parallel and 16 bit parallel mode (adding SPI to that list would be good if it's not too costly ofc lol). Well, i'm no expert at hardware so i was thinking of getting help online. I looked up for a bit but couldn't find a thing so here i am.

My lcd is this one by the way: ILI9488 3.5" 320x480 TFT LCD - IPS with touch

I was thinking doing this but need to know is it good practice or must do something else:

  • Just I/O controlling IM0 pin of TFT to change interface mode, if TFT is not affected by signals that goes to DB[8-15] pins (the signals made for/by NRF24).
  • If it's getting affected from that, then making a mosfet array and using it to block signal to those pins. But worried about delay and frequency based problems.

There may be an IC for this but i don't know :smiley:

Make sure each device has its own separate CS pin.

Then you might share all other pins, switching pin mode as needed, if only one device is used at any point in time. Requires all devices are well-behaved.

You might get more concrete help, if you provide all details of what you want to do.

I'm using 16 bit data bus for communicate with tft but my leftover pins are not enough for other things so what i want to do is
when i want to use nrf24 module, switching TFT's IM to 8 bit data bus so i can can run nrf24 module while maintaining communication with TFT.
So holding tft by CS pin is not i want.

Good luck, if you hope for help, then.

What kind of detail you need? I don't get it.

I have ESP32-S3 (N16R8) micro controller and a LCD (ILI9488) that i can change its interface mode via IM[0-3] pins

image_2023-12-17_151244039

I'm running this LCD at 16-bit mode. So it uses up 16 I/O pins of my MCU just for data.

But i have NRF24 module and want to use it as well. Though i don't want to hold my LCD while using it.
So in conclusion i thought of shortening bandwidth to 8-bit so i can use NRF24 module with remaining 8 pins. This way i can both drive my LCD and run NRF24 at the same time when i need to.
I need my LCD to be fast but when i be using NRF24, 8-bit would enough for it.

++ I need help for how to do it.

The things i thought how to do it but not sure it would work is:

  • Just wiring IM0 pin of TFT to my MCU so i can control INTERFACE MODE between 16-bit and 8-bit. But problem is when i set HIGH to IM0 and change Interface mode to 8-bit,
    Then while controlling NRF24 with freed MCU pins (which goes to DB[8-15] also), would they interfere with the TFT - although TFT is in 8-bit mode?

  • If so then if i use array of mosfet to cut the signal that would go DB[8-15]. BUT i'm worried about this 'solution' because it doesn't look efficient, and idk if it can cause delay and problem with frequency.

I already told these and don't know what kind of ALL details you need..
The texts has already answers of: what i want, what i thought for solution but needed guidance, and what is my hardware (LCD"s information should have been enough imo)

i shouldn't have written something like essay for a simple thing like this : /

.

would they interfere with the TFT - although TFT is in 8-bit mode?

answering this question would be enough

i want to ensure that these pins are not causing any unintended electrical interference that could impact the overall operation of the display system.