Goal
Move from the tiny OLED to the final product display: a 3.2” 320×480 ILI9488 TFT driven over SPI. Build the full dashboard UI on fake data first — RPM arc with red-line zone, large speed readout, boost bar, temperature / voltage grid — so that when CAN data arrives, only the data layer needs to change.
Hardware
- LAFVIN ESP32 DevKit v1
- 3.2” ILI9488 SPI TFT — 3.3V logic, no level shifter needed (ESP32 VCC 3.3V)
- SPI bus on GPIO18 (SCK) / GPIO23 (MOSI); CS on GPIO15, DC on GPIO2, RST on GPIO4
See the TFT wiring doc for the full pinout and TFT_eSPI config notes.
UI elements (fake, animated)
- RPM arc — radial gauge with red-line zone at the top
- Speed readout — large monospace number centred
- Boost bar — horizontal with numeric readout
- Temperature row — coolant / oil / intake
- Voltage — battery voltage
All drawn with TFT_eSPI primitives; uses the same display-layer API that v0.1 proved out on the OLED.
Status
Waiting for display. ILI9488 on order. When it arrives, the first check is verifying it’s actually ILI9488 and not ST7789 (some sellers mix them up) — library config differs.