8-bit parallel TFT driver for micropython ?

Discuss development of drivers for external hardware and components, such as LCD screens, sensors, motor drivers, etc.
Target audience: Users and developers of drivers.
OutoftheBOTS_
Posts: 847
Joined: Mon Nov 20, 2017 10:18 am

Re: 8-bit parallel TFT driver for micropython ?

Post by OutoftheBOTS_ » Tue Mar 29, 2022 8:32 pm

I have played with 16bit, 8bit and SPI on all these little TFT screens and this is what I have found.

First Lobo did write a very fast SPI TFT screen driver fro ESP32 see a video of it here running in Micropython https://www.youtube.com/watch?v=pnJ1V8hjWoE

Most of my playing with 16 bit and 8 bit was in C on a STM32F407 using the hardware FSMC peripheral as well as bit banging by connecting it to a whole GPIO port and writing to the whole port of GPIO pins at once.

I also did using DMA to stream from a camera connected to the DCMI hardware peripheral to the TFT connect to the FSMC peripheral.

Yes using 8 bit or 16 bit is very fast especially if using hardware peripheral and DMA then it is crazy fast.

I did play with a range of resolutions with SPI as well. I found that you do notice the graphics being a little slow on a 320 x 200 screen as well as it can take up a lot of RAM. I found using super small screen hard to read what was on the screen. In the end I found 160 x 120 screens a lovely size for micro controllers like we use for micropython as you can write to the whole screen pretty fast using SPI at this res but it si large enough to be able to read well.

What I found is, you have to ask yourself what is your use case?? I found most things that I want to use Micropython for doesn't require massive graphical screen updates especially since Micropython doesn't have that much RAM, processing speed or storage to support massive graphical tasks.

I found anytime I was going to be doing heavy graphical stuff then I was best to switch to a RPi. Looking at a RPi2 W, it has a quad core 64 bit processor running at 1 GHz with half a gb of RAM as well as a GPU and HDMI port. You can buy little IPS screens (much better than TFT) with 800 x 480 res as small as 3.5" running from a HDMI port with captive touch see at about 1:30 in this video https://www.youtube.com/watch?v=cIVZRuVdv1o the screen refresh rate is 60Hz but my computer vision only runs at 30FPS. The screen in this video is a 3.5" I have since then brought a 4.3" because it makes using the captive touch easier but isn't too big for the RPi.

Scaron
Posts: 2
Joined: Sun Mar 27, 2022 11:20 am

Re: 8-bit parallel TFT driver for micropython ?

Post by Scaron » Fri Apr 01, 2022 4:41 pm

Hi, OutoftheBOTS, and Hugh

thanks for the fast replies. While taking a look at the c Librarys I go one of those to work with the display

https://github.com/Bodmer/TFT_eSPI

from there on I decided to switch to c since the rest of the my program isn't that complicated. Sort of the opposite way Hugh suggested, but I will still learn about coding in c.
thanks again for your help

Post Reply