Problems with Bitmaps

Hello everyone,
I am having lots of troubles displaying images converted to bitmaps. I am using TheDotFactory in order to convert the images.
This is the code I am using:

#include <LCD5110_Graph.h>

LCD5110 myGLCD(8,3,10,11,12);

int JOYSTICK = 0;
int JOYSTICK2 = 1;
int BOTON1 = 2;
int BOTON2 = 6;
int ZUMB = 4;

int esp = 25;

char seconds[6];
char SCORE1 [5];
char SCORE2 [4];

int time = 0;
int punt1 = 0;
int punt2 = 0;

extern uint8_t tablaBitmaps[];

extern unsigned char TinyFont[];
extern unsigned char SmallFont[];
extern uint8_t BigNumbers[];


void setup()
{
  pinMode (ZUMB, OUTPUT);
  pinMode (JOYSTICK, INPUT);
  pinMode (BOTON1, INPUT);
  pinMode (BOTON2, INPUT);
  Serial.begin (9600);
  randomSeed (analogRead (3));
  myGLCD.InitLCD();
  myGLCD.setFont (TinyFont);
}

void loop ()
{
  myGLCD.drawBitmap (0, 0, tablaBitmaps, 84, 48);
  myGLCD.update ();
  myGLCD.clrScr ();
}

This is the bitmap I get from TheDotFactory:

extern uint8_t tablaBitmaps[]=
{
  0xFF, 0xFF, 0xF1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ####################   #                                          
  0xFF, 0xFF, 0xE2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ###################   #                                           
  0xFF, 0xFF, 0xE4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ###################  #                                            
  0xFF, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ################### #                                             
  0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // #####################                                             
  0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ####################                                              
  0xDF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ## ################                                               
  0xEF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ### ###############                                               
  0xFF, 0xFE, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ############### ###                                               
  0xFF, 0xF7, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ############ #### #                                               
  0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // #################                                                 
  0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ################                                                  
  0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ################                                                  
  0xFF, 0xFA, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, // ############# #                                  ##               
  0xFF, 0xF6, 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, // ############ ##                                ##                 
  0xFF, 0xE6, 0x00, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x00, // ###########  ##                            ########               
  0xFF, 0xCC, 0x00, 0x00, 0x00, 0x68, 0x10, 0x04, 0x00, // ##########  ##                           ## #      #         #    
  0xFF, 0x8C, 0x00, 0x00, 0x00, 0xB0, 0x0C, 0x3C, 0x00, // #########   ##                          # ##        ##    ####    
  0xFF, 0x18, 0x00, 0x00, 0x03, 0xC0, 0x03, 0x7B, 0xC0, // ########   ##                         ####            ## #### ####
  0xF7, 0x10, 0x00, 0x00, 0x03, 0x00, 0x00, 0xFC, 0xC0, // #### ###   #                          ##                ######  ##
  0xF4, 0x10, 0x00, 0x00, 0x06, 0x00, 0x1F, 0xFF, 0x00, // #### #     #                         ##            #############  
  0xE8, 0x00, 0x00, 0x00, 0x1B, 0x01, 0xE7, 0x46, 0x00, // ### #                              ## ##       ####  ### #   ##   
  0xF8, 0x00, 0x00, 0x00, 0x20, 0xC6, 0x8C, 0xFA, 0x00, // #####                             #     ##   ## #   ##  ##### #   
  0xD0, 0x00, 0x00, 0x00, 0x40, 0x3B, 0x1F, 0xC4, 0x00, // ## #                             #        ### ##   #######   #    
  0xC0, 0x00, 0x00, 0x00, 0x80, 0x67, 0xFE, 0xC8, 0x00, // ##                              #        ##  ########## ##  #     
  0x80, 0x00, 0x00, 0x01, 0x01, 0x84, 0xE3, 0x50, 0x00, // #                              #       ##    #  ###   ## # #      
  0x80, 0x00, 0x00, 0x02, 0x06, 0x1D, 0xC6, 0x60, 0x00, // #                             #      ##    ### ###   ##  ##       
  0x80, 0x00, 0x00, 0x04, 0x18, 0x2F, 0xFC, 0x40, 0x00, // #                            #     ##     # ##########   #        
  0x00, 0x00, 0x00, 0x08, 0x60, 0x5F, 0x18, 0x80, 0x00, //                             #    ##      # #####   ##   #         
  0x00, 0x00, 0x00, 0x10, 0x40, 0xB6, 0x2B, 0x00, 0x00, //                            #     #      # ## ##   # # ##          
  0x00, 0x00, 0x00, 0x20, 0x41, 0x78, 0x5C, 0x00, 0x00, //                           #      #     # ####    # ###            
  0x00, 0x00, 0x00, 0x20, 0x72, 0xC0, 0xF0, 0x00, 0x00, //                           #      ###  # ##      ####              
  0x00, 0x00, 0x00, 0x1C, 0x2F, 0xFF, 0x80, 0x00, 0x00, //                            ###    # #############                 
  0x00, 0x00, 0x00, 0x03, 0xFF, 0xF7, 0x00, 0x00, 0x00, //                               ############## ###                  
  0x00, 0x00, 0x00, 0x00, 0x52, 0x1A, 0x00, 0x00, 0x00, //                                  # #  #    ## #                   
  0x00, 0x00, 0x00, 0x00, 0x64, 0x64, 0x00, 0x00, 0x00, //                                  ##  #   ##  #                    
  0x00, 0x00, 0x00, 0x00, 0xCF, 0x80, 0x00, 0x00, 0x00, //                                 ##  #####                         
  0x00, 0x00, 0x00, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00, //                               ###                                 
  0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, //
};

This is the actual image (which is just crazy lines):
http://postimg.org/image/8ggnlakrz/
http://postimg.org/image/rolf32s6z/

And whenever I upload it to the board I only get this (sorry for the poor quality):
http://postimg.org/image/rolf32s6z/

I can’t see what is the problem… I am new in Arduino. The image format is BMP and in black and white. The image is as bigger as the display I am using (a Nokia 5110 84x48 px). I tried uploading lower size images and I still getting the same thing.

Thank you.

PS: I am aware there are some useless declarations in the code and please, try to explaint it as detailed as you can.

Hello,

I think the size is wrong. Each line in the array is 9 bytes, that is 72 bits. And there is 39 lines, so the dimensions of the file (at least the one in the array) is 72x39.

So try with this size.

If it doesn't work, you might have wrong settings in TheDotFactory, so can you post an array of a working image, and a picture of that image as drawn on your display?

The output from TheDotFactory is clearly wrong. I hacked together a quick and dirty chunk of code to generate a C array from a monochrome BMP. Try this:

// file = tabla3.bmp
// image =  84x48
// This is the image width in PIXELS which does not have
// to be a multiple of 8 bits.
int img_width = 84;
int img_height = 48;
const unsigned char img_array[] = {
0xFF,0xFF,0xF1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,
0xFF,0xFF,0xE2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,
0xFF,0xFF,0xE4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,
0xFF,0xFF,0xE8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,
0xFF,0xFF,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,
0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,
0xDF,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,
0xEF,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,
0xFF,0xFE,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,
0xFF,0xF7,0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,
0xFF,0xFF,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,
0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,
0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,
0xFF,0xFA,0x00,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x0F,
0xFF,0xF6,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x00,0x0F,
0xFF,0xE6,0x00,0x00,0x00,0x1F,0xE0,0x00,0x00,0x00,0x0F,
0xFF,0xCC,0x00,0x00,0x00,0x68,0x10,0x04,0x00,0x00,0x0F,
0xFF,0x8C,0x00,0x00,0x00,0xB0,0x0C,0x3C,0x00,0x00,0x0F,
0xFF,0x18,0x00,0x00,0x03,0xC0,0x03,0x7B,0xC0,0x00,0x0F,
0xF7,0x10,0x00,0x00,0x03,0x00,0x00,0xFC,0xC0,0x00,0x0F,
0xF4,0x10,0x00,0x00,0x06,0x00,0x1F,0xFF,0x00,0x00,0x0F,
0xE8,0x00,0x00,0x00,0x1B,0x01,0xE7,0x46,0x00,0x00,0x0F,
0xF8,0x00,0x00,0x00,0x20,0xC6,0x8C,0xFA,0x00,0x00,0x0F,
0xD0,0x00,0x00,0x00,0x40,0x3B,0x1F,0xC4,0x00,0x00,0x0F,
0xC0,0x00,0x00,0x00,0x80,0x67,0xFE,0xC8,0x00,0x00,0x0F,
0x80,0x00,0x00,0x01,0x01,0x84,0xE3,0x50,0x00,0x00,0x0F,
0x80,0x00,0x00,0x02,0x06,0x1D,0xC6,0x60,0x00,0x00,0x0F,
0x80,0x00,0x00,0x04,0x18,0x2F,0xFC,0x40,0x00,0x00,0x0F,
0x00,0x00,0x00,0x08,0x60,0x5F,0x18,0x80,0x00,0x00,0x0F,
0x00,0x00,0x00,0x10,0x40,0xB6,0x2B,0x00,0x00,0x00,0x0F,
0x00,0x00,0x00,0x20,0x41,0x78,0x5C,0x00,0x00,0x00,0x0F,
0x00,0x00,0x00,0x20,0x72,0xC0,0xF0,0x00,0x00,0x00,0x0F,
0x00,0x00,0x00,0x1C,0x2F,0xFF,0x80,0x00,0x00,0x00,0x0F,
0x00,0x00,0x00,0x03,0xFF,0xF7,0x00,0x00,0x00,0x00,0x0F,
0x00,0x00,0x00,0x00,0x52,0x1A,0x00,0x00,0x00,0x00,0x0F,
0x00,0x00,0x00,0x00,0x64,0x64,0x00,0x00,0x00,0x00,0x0F,
0x00,0x00,0x00,0x00,0xCF,0x80,0x00,0x00,0x00,0x00,0x0F,
0x00,0x00,0x00,0x03,0x80,0x00,0x00,0x00,0x00,0x00,0x0F,
0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,
};

Pete

@el_supremo

With all those 0x0F at the end of each line, yours might be wrong too...

@elGuillemola

In TheDotFactory, click on the tool wrench (near the Generate button) and set both Padding Removal settings to None. The generated array will be:

extern uint8_t tablaBitmaps[]=
{
 0xFF, 0xFF, 0xF1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ####################   #                                                            
 0xFF, 0xFF, 0xE2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ###################   #                                                             
 0xFF, 0xFF, 0xE4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ###################  #                                                              
 0xFF, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ################### #                                                               
 0xFF, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // #####################                                                               
 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ####################                                                                
 0xDF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ## ################                                                                 
 0xEF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ### ###############                                                                 
 0xFF, 0xFE, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ############### ###                                                                 
 0xFF, 0xF7, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ############ #### #                                                                 
 0xFF, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // #################                                                                   
 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ################                                                                    
 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ################                                                                    
 0xFF, 0xFA, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, // ############# #                                  ##                                 
 0xFF, 0xF6, 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, // ############ ##                                ##                                   
 0xFF, 0xE6, 0x00, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x00, 0x00, 0x00, // ###########  ##                            ########                                 
 0xFF, 0xCC, 0x00, 0x00, 0x00, 0x68, 0x10, 0x04, 0x00, 0x00, 0x00, // ##########  ##                           ## #      #         #                      
 0xFF, 0x8C, 0x00, 0x00, 0x00, 0xB0, 0x0C, 0x3C, 0x00, 0x00, 0x00, // #########   ##                          # ##        ##    ####                      
 0xFF, 0x18, 0x00, 0x00, 0x03, 0xC0, 0x03, 0x7B, 0xC0, 0x00, 0x00, // ########   ##                         ####            ## #### ####                  
 0xF7, 0x10, 0x00, 0x00, 0x03, 0x00, 0x00, 0xFC, 0xC0, 0x00, 0x00, // #### ###   #                          ##                ######  ##                  
 0xF4, 0x10, 0x00, 0x00, 0x06, 0x00, 0x1F, 0xFF, 0x00, 0x00, 0x00, // #### #     #                         ##            #############                    
 0xE8, 0x00, 0x00, 0x00, 0x1B, 0x01, 0xE7, 0x46, 0x00, 0x00, 0x00, // ### #                              ## ##       ####  ### #   ##                     
 0xF8, 0x00, 0x00, 0x00, 0x20, 0xC6, 0x8C, 0xFA, 0x00, 0x00, 0x00, // #####                             #     ##   ## #   ##  ##### #                     
 0xD0, 0x00, 0x00, 0x00, 0x40, 0x3B, 0x1F, 0xC4, 0x00, 0x00, 0x00, // ## #                             #        ### ##   #######   #                      
 0xC0, 0x00, 0x00, 0x00, 0x80, 0x67, 0xFE, 0xC8, 0x00, 0x00, 0x00, // ##                              #        ##  ########## ##  #                       
 0x80, 0x00, 0x00, 0x01, 0x01, 0x84, 0xE3, 0x50, 0x00, 0x00, 0x00, // #                              #       ##    #  ###   ## # #                        
 0x80, 0x00, 0x00, 0x02, 0x06, 0x1D, 0xC6, 0x60, 0x00, 0x00, 0x00, // #                             #      ##    ### ###   ##  ##                         
 0x80, 0x00, 0x00, 0x04, 0x18, 0x2F, 0xFC, 0x40, 0x00, 0x00, 0x00, // #                            #     ##     # ##########   #                          
 0x00, 0x00, 0x00, 0x08, 0x60, 0x5F, 0x18, 0x80, 0x00, 0x00, 0x00, //                             #    ##      # #####   ##   #                           
 0x00, 0x00, 0x00, 0x10, 0x40, 0xB6, 0x2B, 0x00, 0x00, 0x00, 0x00, //                            #     #      # ## ##   # # ##                            
 0x00, 0x00, 0x00, 0x20, 0x41, 0x78, 0x5C, 0x00, 0x00, 0x00, 0x00, //                           #      #     # ####    # ###                              
 0x00, 0x00, 0x00, 0x20, 0x72, 0xC0, 0xF0, 0x00, 0x00, 0x00, 0x00, //                           #      ###  # ##      ####                                
 0x00, 0x00, 0x00, 0x1C, 0x2F, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, //                            ###    # #############                                   
 0x00, 0x00, 0x00, 0x03, 0xFF, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, //                               ############## ###                                    
 0x00, 0x00, 0x00, 0x00, 0x52, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, //                                  # #  #    ## #                                     
 0x00, 0x00, 0x00, 0x00, 0x64, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, //                                  ##  #   ##  #                                      
 0x00, 0x00, 0x00, 0x00, 0xCF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, //                                 ##  #####                                           
 0x00, 0x00, 0x00, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //                               ###                                                   
 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //                               ##                                                    
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //                                                                                     
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //                                                                                     
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //                                                                                     
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //                                                                                     
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //                                                                                     
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //                                                                                     
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //                                                                                     
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //                                                                                     
 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //                                                                                     
};

Which I believe is correct BUT this will use more memory of your arduino. This array is 4032 bytes, almost half the available memory of an Arduino Mega... 504 bytes..

So it might be better if you use the array that you currently have, and use the size I suggested in my previous post. But that will still use 2808 351 bytes...

So look into using progmem to store your images. You will probably need to do some modifications of the LCD5110_Graph library for drawBitmap to read image data from progmem.

The F at the end of the line is because the image width is 84 bits which isn't an exact multiple of 8, so an additional 4 bits are padded onto the end of each raster line.

Why do you say the array will take up so much memory? The image is 11bytes wide by 48 lines = 528 bytes. I forgot to make my code add the "const" qualifier so that the array would be put into PROGMEM. I've edited my post to add it.

Pete

You are right I was sleeping already and confused bits and bytes.. x)

Using the arrays you posted, I still having the same image drawn in the LCD. I changed the size as you said and nothing new.

I tried using examples in the libraries and the result is the same. The weird thing is that the first I used it worked and the image was shown how it was- No image is displayed properly in the LCD.

This is the example:

#include <LCD5110_Basic.h>

LCD5110 myGLCD(8,3,10,11,12);

extern uint8_t arduino_logo[];
extern uint8_t oshw_logo[];

void setup()
{
  myGLCD.InitLCD();
}

void loop()
{
  myGLCD.drawBitmap(0, 0, arduino_logo, 84, 48);
  delay(4000);
  for (int i=0; i<2; i++)
  {
    myGLCD.invert(true);
    delay(500);
    myGLCD.invert(false);
    delay(500);
  }
  delay(4000);

  myGLCD.clrScr();
  myGLCD.drawBitmap(14, 0, oshw_logo, 56, 48);
  delay(4000);
  for (int i=0; i<2; i++)
  {
    myGLCD.invert(true);
    delay(500);
    myGLCD.invert(false);
    delay(500);
  }
  delay(4000);
}

These are the images:

// Generated by   : ImageConverter BW Online
// Generated from : arduino_logo.png
// Time generated : Thu, 11 Aug 11 20:10:26 +0200  (Server timezone: CET)
// Image Size     : 84x48 pixels
// Memory usage   : 504 bytes

const unsigned char arduino_logo[] ={
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0xF0, 0xF8, 0xF8, 0xFC, 0xFC,   // 0x0010 (16) pixels
0xFE, 0xFE, 0x7F, 0x7F, 0x7F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0xFE, 0xFE, 0xFE,   // 0x0020 (32) pixels
0xFC, 0xFC, 0xF8, 0xF0, 0xF0, 0xE0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0,   // 0x0030 (48) pixels
0xF0, 0xF0, 0xF8, 0xFC, 0xFC, 0xFE, 0xFE, 0xFE, 0x7F, 0x7F, 0x7F, 0x3F, 0x3F, 0x3F, 0x3F, 0x7F,   // 0x0040 (64) pixels
0x7F, 0x7F, 0x7F, 0xFE, 0xFE, 0xFC, 0xFC, 0xF8, 0xF8, 0xF0, 0xE0, 0xC0, 0x86, 0x06, 0x06, 0x00,   // 0x0050 (80) pixels
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,   // 0x0060 (96) pixels
0x1F, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,   // 0x0070 (112) pixels
0x80, 0x80, 0x00, 0x00, 0x01, 0x01, 0x03, 0x0F, 0x1F, 0x3F, 0xFF, 0xFF, 0xFF, 0xFE, 0xFC, 0xFE,   // 0x0080 (128) pixels
0xFF, 0xFF, 0xFF, 0x3F, 0x1F, 0x0F, 0x03, 0x01, 0x01, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0xF8,   // 0x0090 (144) pixels
0xF8, 0xF8, 0xF8, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x1F, 0xFF, 0xFF, 0xFF,   // 0x00A0 (160) pixels
0xFF, 0xFF, 0xFC, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x7F, 0xFF,   // 0x00B0 (176) pixels
0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x07,   // 0x00C0 (192) pixels
0x07, 0x07, 0x07, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xF0, 0xF8, 0xFE, 0xFF,   // 0x00D0 (208) pixels
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xF8, 0xF0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x07,   // 0x00E0 (224) pixels
0x07, 0x07, 0x07, 0x3F, 0x3F, 0x3F, 0x3F, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0,   // 0x00F0 (240) pixels
0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,   // 0x0100 (256) pixels
0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0xFF, 0xFE, 0xFE, 0xFC, 0xFC,   // 0x0110 (272) pixels
0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xFC, 0xFC, 0xFC, 0xFE, 0xFF, 0x7F, 0x7F, 0x3F, 0x3F,   // 0x0120 (288) pixels
0x1F, 0x0F, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0F, 0x1F, 0x3F, 0x3F, 0x7F,   // 0x0130 (304) pixels
0x7F, 0xFF, 0xFE, 0xFC, 0xFC, 0xFC, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xFC, 0xFC, 0xFE,   // 0x0140 (320) pixels
0xFE, 0xFF, 0x7F, 0x7F, 0x3F, 0x1F, 0x0F, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,   // 0x0150 (336) pixels
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x00,   // 0x0160 (352) pixels
0x00, 0x00, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0x81, 0x81, 0x01, 0x01, 0xC1, 0xC1, 0xC0, 0xC0,   // 0x0170 (368) pixels
0xC0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0xC0, 0xC0, 0x80, 0x00,   // 0x0180 (384) pixels
0x00, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC1, 0xC1, 0x01, 0x01, 0xC1, 0xC1, 0xC1, 0x01, 0x01,   // 0x0190 (400) pixels
0x01, 0xC1, 0xC1, 0x01, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0x80, 0x80, 0x00, 0x00, 0x00,   // 0x01A0 (416) pixels
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xF8, 0xFF, 0x3F, 0x3B,   // 0x01B0 (432) pixels
0x3F, 0x7F, 0xFE, 0xF0, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x1C, 0x3C, 0xFF, 0xFF, 0xC7, 0x00, 0x00,   // 0x01C0 (448) pixels
0xFF, 0xFF, 0xFF, 0xE0, 0xE0, 0xF1, 0x7F, 0x3F, 0x1F, 0x00, 0x3F, 0x7F, 0xFF, 0xE0, 0xC0, 0xE0,   // 0x01D0 (464) pixels
0xFF, 0x7F, 0x3F, 0x00, 0x00, 0xE0, 0xE0, 0xFF, 0xFF, 0xFF, 0xE0, 0xE0, 0xC0, 0x00, 0x00, 0xFF,   // 0x01E0 (480) pixels
0xFF, 0x07, 0x0F, 0x3E, 0xFC, 0xFF, 0xFF, 0x00, 0x00, 0x3F, 0x7F, 0xFF, 0xE0, 0xC0, 0xE1, 0x7F,   // 0x01F0 (496) pixels
0x7F, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
};
// Generated by   : ImageConverter BW Online
// Generated from : oshw_logo.png
// Time generated : Thu, 11 Aug 11 20:28:44 +0200  (Server timezone: CET)
// Image Size     : 56x48 pixels
// Memory usage   : 336 bytes

const unsigned char oshw_logo[] ={
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0x80, 0x00,   // 0x0010 (16) pixels
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFE, 0x06, 0x06, 0x06, 0x06, 0x06, 0xFE,   // 0x0020 (32) pixels
0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x00,   // 0x0030 (48) pixels
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,   // 0x0040 (64) pixels
0x0C, 0x1E, 0x7F, 0xE3, 0xC1, 0x81, 0x01, 0x03, 0x07, 0x0E, 0x0C, 0x0E, 0x06, 0x07, 0x03, 0x03,   // 0x0050 (80) pixels
0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x07, 0x06, 0x06, 0x0E, 0x0E, 0x07,   // 0x0060 (96) pixels
0x03, 0x03, 0x01, 0x80, 0xE1, 0xF3, 0x3F, 0x1E, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,   // 0x0070 (112) pixels
0x00, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xF8, 0x7E, 0x0F, 0x03, 0x00, 0x00,   // 0x0080 (128) pixels
0x00, 0x00, 0x00, 0x00, 0x80, 0xE0, 0xF0, 0x38, 0x18, 0x1C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x1C,   // 0x0090 (144) pixels
0x18, 0x38, 0xF0, 0xE0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0F, 0x7E, 0x78, 0x60,   // 0x00A0 (160) pixels
0xE0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x7F, 0x60, 0x60, 0x60,   // 0x00B0 (176) pixels
0x60, 0xE0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0xC0, 0x80,   // 0x00C0 (192) pixels
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xE0, 0xFF, 0x3F, 0x00, 0x00, 0x00,   // 0x00D0 (208) pixels
0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0, 0x60, 0x70, 0x70, 0x30, 0x30, 0x3F, 0x3F, 0x00, 0x00,   // 0x00E0 (224) pixels
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0xFF, 0xFC, 0x30, 0x00, 0x00,   // 0x00F0 (240) pixels
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC1, 0xFB, 0x7F, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06,   // 0x0100 (256) pixels
0x3F, 0xFB, 0xE1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0xFF, 0xE3, 0x80,   // 0x0110 (272) pixels
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,   // 0x0120 (288) pixels
0x0E, 0x1F, 0x3B, 0x71, 0x60, 0x70, 0x30, 0x38, 0x1C, 0x0C, 0x0C, 0x1C, 0x18, 0x1F, 0x0F, 0x01,   // 0x0130 (304) pixels
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x1F, 0x1C, 0x1C, 0x0E, 0x06,   // 0x0140 (320) pixels
0x0E, 0x1C, 0x38, 0x70, 0x60, 0x70, 0x3B, 0x1F, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,   // 0x0150 (336) pixels
};

And this what I get (sorry for the poor quality again):
http://postimg.org/image/ornvzv1v3/