I have a automotive dash I built for myself that accesses the ECU via CANbus, gps for speed. I started with the Mega and moved it to an ESP32 with a Nextion display. I wanted to use Squareline Studio to design a nicer UI/dash but am stumped.
Not sure which MCU to use. Teensy 4.1? Stick ESP32 since the code works? Portenta since it has a USB display port and makes the answer for the below easier?
Which 7" touch display should I use? I’ve seen some on best displays website but can’t find a good example code to look at.
Stumped. Googled and stumped myself even more. Lol
A 7" display usually has at least 800x480 resolution. Usually it’s too slow for a normal ESP32 especially with SPI bus. Teensy 4.1 can be better choice, but you should target parallel port communication. I’m not sure Teensy has a parallel port periphery or it should be implement using normal GPIOs.
Selecting a display is always difficult. I suggest looking around at https://www.buydisplay.com/
Usually they provide basic drivers too.
A Teensy 4.1 can do parallel port (16 bits) but does not support DMA.
A Teensy Micromod can do 8 bit parallel with DMA.
Choose your weapon;)
I personally use the Micromod with an ILI9488 and it’s more than fast enough.
With a 800*480 resolution you might get slightly lower FPS over an 8 bit wide bus but I think you can still achieve ~30FPS with the right screen
I’ve been. running an 800×480 4.3" (7" Elecrow on order) display from Waveshare with a built-in ESP32-S3 and running the Arduino_GFX “RGB 565” (5 bits red and blue, 6 bits green) 16-bit parallel driver. Works great, super fast. The S3 version of the ESP32 is needed because it has 8MB of external RAM, that Espressif (mfg of the ESP32) calls PSRAM. The external RAM is necessary for frame buffers. I use the Arduino_GFX library as the “driver”. LVGL calls the Arduino_RGB_Display.draw16bitRGBBitmap() routine to flush the bits to the display. The Arduino_GFX library is much easier to use for an LVGL driver than the TFT_eSPI library (which also doesn’t support the RGB parallel interface).