Display image on 3.2 tft lcd sainsmart without SD card.

Hi I recently got a Arduino Mega 2560 and 3.2 tft lcd sainsmart with shield to work. Im currently messing around with the UTFT_Bitmap sample from rinkydinks.com utft library. The sample runs perfectly and displays image perfectly without the use of an sd card simply by using RGB565 image converter code.The problem I have is that Im tryng to display my own image on the whole screen but when I change the code from the samples to my image all I get is a tiny pixelated square. I know Im definitely doing something wrong but is there another sample I should be running to acomplish this? Im aware that with the SD sample this issue would be solved easily and smoothly but im tryng to acomplish this task without the use of an SD card.

Here’s what im trying to acomplish

I modified to code so that it could be simplified to just one icon image. I then replaced the icon image code with the one from my image, Im aware that this is the reason that im getting a tiny pixelated square but my question is how do I scale it up, or do i have to do something different?

// UTFT_Bitmap simplified by me

#include <UTFT.h>
#include <avr/pgmspace.h>
UTFT myGLCD(ITDB32S,38,39,40,41);

extern unsigned int info[0x400];

void setup()


void loop()
myGLCD.fillScr(255, 255, 255);
myGLCD.setColor(255, 255, 255);

for (int x=0; x<1; x++)
for (int y=0; y<1; y++)
myGLCD.drawBitmap (x32, y32, 32, 32, info);



Should I be using a different sketch, all i want to do is just display an image i dont need the touchscreen functions.

Think about it. Your Tiger.bmp is 320x240 x 24 bits. i.e. about 231kB There are several sketches that will render 24-bit BMP files from the SD card.

You can convert BMP files into RAW files that contain the 16-bit colours. These files will render faster from SD.

It is possible to put a 154kB array into a MEGA2560 flash and display a full colour Tiger but not with the library methods.

Edit. The drawBitmap() method is really for small icons in Flash. It looks as if UTFT uses pgm_read_word() instead of the far version. So it will only work with data in the first 64kB of Flash.