Go Down

Topic: New UTFT Libray with Arduino ARM spport (Read 16918 times) previous topic - next topic


I found this this morning: NEW UTFT 2.0 Library.
Released about 10:00 AM PST 1/21/2013, Has support for Arduino, Arduino ARM and ChipKit Uno and Max32.
Partial release notes:
2.0   21 Jan 2013  -   added support for Arduino Due and Arduino Leonardo
            added support for the "AquaLEDSource All in One Super Screw Shield" on chipKit Max32
            added support for more display modules
            fixed a bug in printNumF()
            optimized drawLine()
            optimized 16bit data transfer
            optimized some 8bit data transfer
            added option to use pre-defined RGB565 values with setColor(), setBackColor() and fillScr()
            added functions getColor(), getBackColor(), getFont(), getFontXsize() and getFontYsize()
            added 16 VGA standard colors as pre-defined color literal
            rearranged the manual to keep related functions grouped together

--> WA7EMS <--
"The solution of every problem is another problem." -Johann Wolfgang von Goethe
I do answer technical questions PM'd to me with whatever is in my clipboard


Nice, hopefully we'll have a flood of Due based graphical apps soon. Indie games are the best, ones on an Arduino would be even better.

Hi .

I have examples for you

Arduino DUE + 5" SSD1963 LCD 800 x 480
Speed on the OLD UTFT(mod for due) VS NEW UTFT lib



This is It  !


It appears the new video is set to private.

Sorry,my phone does this by default

Now it's ok


Sorry,my phone does this by default

Now it's ok

Cheers, looks good. I'm curious to know weather there is a significant difference between the 320x240 and 800x480 screens, probably more to do with the MPU rather than the display driver IC.


Hi .

I have examples for you

Arduino DUE + 5" SSD1963 LCD 800 x 480
Speed on the OLD UTFT(mod for due) VS NEW UTFT lib



This is It  !

That looks  an improvement on the original hardware & UTFT library. 

However - I'm  curious how you got round the way the fonts are stored. In normal Atmel processors the data for fonts or bitmaps is stored in flash, using pgmspace.h
No longer applicable to M3Cortex CPUs....

Are they being parked in regular RAM now?  If so - how?  normal but large arrays?

Good to see Henning burning the midnight oil   :-)



Where can this library be downloaded? 
Quiero una vida simple en Mexico...nada mas.


I found a copy here in RAR format.




Jan 25, 2013, 08:57 pm Last Edit: Feb 12, 2013, 10:53 am by ralphnev Reason: 1
{stupid error snipped}

bad code ,, mea culpa


I am trying to get a SainSmart 3.2" 320x240 TFT LCD (it uses the SSD1289 controller) working with the Due board.  I have downloaded the latest UTFT library from Henning Karlsen (dated 1/20/13) and it compiles and loads onto my Due without error.  However, nothing on the display.  This led me to check the shield (supplied by SainSmart) which was apparently designed for the Mega board.  I "buzzed" out the pins from the display connector through to the Due pin assignments on the SainSmart shield and the shield appears to be way off.  I had presumed (mistakenly) that, based upon the Arduino concept, the pinouts for a Due board would be the same for the Mega board (by function).  So, does anyone know of a shield that can be used without too much modification to connect this display to the Due?  Does anyone have the pin assignment on the Due board needed to run the SSD1289 controller?  Does anyone know if the Due board is set up to use 8080 or 6800 timing?  Does anyone know what pins on the Due are used for external data lines D0-D15 and for the control lines of WR, RD, CS, and D/C (8080 timing) or E, CS, R/W, D/C (6800 timing) required by the SSD1289?  It appears from the software library that pins 32, 38, 39, 40, and 41 are used as the control signals (the statement myGLCD(TST01_32, 38, 39, 40, 41)), but I can't find a correlation to any of the control timing signals (WR, RD, CS, E, etc.).

I presume that I am going to have the same questions about the touch controller on the SainSmart display and also the SD drive, so info on the Due pins used for those would also be very helpful.

I have a suggestion: would it be possible to have a single web location where all of this type of information is centrally posted for the Due board?  I did find the pinout diagram at robgray.com/temp/Due-pinout and this is what enabled me to do the testing of the SainSmart shield (excellent work on this diagram -- thanks!).  I certainly would post whatever I learn and also to help pay for this if needed (I would be happy to donate USD$100+ to a fund).  I have 20 years of background running an electronics (automation) company and I know how much time/effort can be saved for everyone by some organizational tools. 

Thank you! Patrick

Jan 26, 2013, 11:15 pm Last Edit: Jan 27, 2013, 02:21 am by coldtears Reason: 1
Here is the modified UTFT library with a newly routed shield for DUE,
all Data pins are routed to PORTC and all command pins are routed to PORTD
only 4 instructions are needed per write strobe.

Filling the screen 800x480 once will take 212ms
Filling the screen 800x480 with an image directly reading from SPI flash using 42Mhz speed with DMA will take 312ms

This should be the maximum ability of DUE as i think should be the mostly optimized.
Of course, any chance to make it faster will be appreciated. ]:D


The library is here

Go Up

Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

via Egeo 16
Torino, 10131