Waveshare 3.5″ RPi LCD ILI9486 on Arduino Mega or UNO


Hello Arduino Community, I seem to have encountered a problem. I entered a school-level math competition, revolving on making a device, with my school being on a 3-year streak on 'Math Device', they gave a Waveshare 3.5″ RPi LCD ILI9486 and a few microcontrollers, but problem is I don't know how to use the LCD, everything I saw on the internet said I needed a Raspberry Pi model with an micro sd reader, but they said it won't be possible to buy components that expensive, what could be the alternative (without buying)? I want to use both the display and touchscreen features of the LCD. Any help would be appreciated, thank you so much!

model: https://www.lcdwiki.com/3.5inch_RPi_Display

details that I think would be useful:
-SPI interface with breakout pins on the PCB
-The TFT_eSPI library, support TFT displays that communicate over SPI (via ChatGPT, files can be manipulated, but still unclear on how that would actually bypass.)

What microcontrollers were given for this project?

Arduino Mega and UNO, and also a ESP32 development board with a CH340C USB chip (Type C)

Hmm, I have found a thread on a similar topic. I also suspect you can use the same SPI connections shown in the table on the website:

And there is this GitHub library you can try in Arduino.

as the display was designed for a Raspberry Pi the interface would use 3.3V logic
the ESP32 uses 3.3V logic and would be the best choice
both the Uno and Mega use 5V logic which could damage the display

there are several ESP32 versions, e.g. ESP32 ESP32 S3 ESP32C6 etc etc
which is yours? if you cannot identify it post a photo

maybe worth having a look at Waveshare_ILI9486 library

looks like a classic ESP32 - the default SPI pins are

MOSI: 23
MISO: 19
SCK: 18
SS: 5

for the other ESP32 GPIO pins to connect to the TFT (e.g. LCD_RS, TP_CS) have a look at esp32-pinout-reference-gpios
avoid strapping pins and any others used a boot time

how do I actually use the screen? from what I've read, it needs to be installed with a driver, how do i do that without a raspberry pi?

try the Waveshare_ILI9486 library