ILI9341 slow on arduino

Hi,

I have successfully interfaced a 2.4" TFT screen using the Adafruit ILI9341 library on my Arduino Mega2560. After running their graphics test example, i can see that overall performance is quite slow.

There is a similar thread there ILI9341(new)SPI library for Due supporting DMA transfer(Uno, Mega,.. compatible) - Displays - Arduino Forum

But i wanted to start a new one as the one above has a different direction.

So my issue is:

How to speed up the screen interface? I am willing to move to Arduino Due if there isn't much difference in Mega and Due. The reason is i have already written alot of code which is working on Mega such as Keypad, IR Communication, SimpleModBus Implementation. I dont want to throw all that away. I have read the specs of both boards. Other than performance boosts and different chip on Due and the fact that it has 3.3V logic level, is there anything else that might not work while porting from Mega to Due ?

Or is there an easier method to increase the screen speed please do share.

P.S: I am not willing to add Teensy 3.1 as its not available locally and will just be too much change.

Please, any help?

Hi

A lot of data needs to transfered to the display. Additionally the data rate on the SPI bus is not so high for the Arduino Mega.
Because of speed issues, i started my own graphics library. It might be faster here and threre, but do not expect a wonder.
Such a display is simply to much for an 8-bit controller.

http://code.google.com/p/ucglib/

Arduino Due is about 4x to 6x faster with Ucglib.

Oliver

Thanks Olikraus!

I will checkout your library. I dont have an Arduino due as yet. Just a question, will my Arduino mega code work on Due without issues or will i have to change quite a lot of stuff?

Also in another thread i was just reading, ( ILI9341(new)SPI library for Due supporting DMA transfer(Uno, Mega,.. compatible) - Displays - Arduino Forum ). MarkB mentions DMA.

I have searched little bit about it and it says to increase speed of SPI when using DMA mode. I am a total noob in such things so my newbie question is, is it possible to run Arduino Mega in DMA mode somehow or is it only for Due?

Bytheway, your demo is pretty impressive and is fairly fast (other than the 3d Box) simulation.

Can it be ported for this screen http://www.buydisplay.com/default/3-5-lcd-display-tft-module-320x240-serial-spi-touch-screen-arduio which uses SSD2119 controller? This screen has support for upto 16.7M colors

haxan:
is it possible to run Arduino Mega in DMA mode somehow or is it only for Due?

DMA is available only in Due.

Hi

Code with Ucglib will run accross all official Arduino platforms without (or only minor) modification.
SSD2119 is not supported.

Oliver