         B01000010,
         B00111100 };
 
+static const uint16_t PROGMEM
+    RGB_bmp[][64] = {
+      // 16 shades repeated 4 times for 64 LEDs
+      { 0x000, 0x000, 0x000, 0x000, 0x001, 0x001, 0x001, 0x001, 
+        0x002, 0x002, 0x002, 0x002, 0x003, 0x003, 0x003, 0x003, 
+	0x004, 0x004, 0x004, 0x004, 0x005, 0x005, 0x005, 0x005, 
+	0x006, 0x006, 0x006, 0x006, 0x007, 0x007, 0x007, 0x007, 
+	0x008, 0x008, 0x008, 0x008, 0x009, 0x009, 0x009, 0x009, 
+	0x00A, 0x00A, 0x00A, 0x00A, 0x00B, 0x00B, 0x00B, 0x00B, 
+	0x00C, 0x00C, 0x00C, 0x00C, 0x00D, 0x00D, 0x00D, 0x00D, 
+	0x00E, 0x00E, 0x00E, 0x00E, 0x00F, 0x00F, 0x00F, 0x00F, } };
+
+void show_isr() {
+    if (DEBUG) Serial.print  (F("ISR runtime: "));
+    if (DEBUG) Serial.print  (matrix->ISR_runtime());
+    if (DEBUG) Serial.print  (F(" and latency: "));
+    if (DEBUG) Serial.println(matrix->ISR_latency());
+}
 
 void loop() {
+    for (uint8_t i=0; i<=0; i++)
+    {
+	show_isr();
+	matrix->clear();
+	matrix->drawRGBBitmap(0, 0, RGB_bmp[i], 8, 8);
+	matrix->writeDisplay();
+	delay(4000);
+    }
 
+    show_isr();
     matrix->clear();
     matrix->drawBitmap(0, 0, smile_bmp, 8, 8, LED_RED_HIGH);
     matrix->writeDisplay();
     delay(1000);
 
+    show_isr();
     matrix->clear();
     matrix->drawBitmap(0, 0, neutral_bmp, 8, 8, LED_RED_MEDIUM);
     matrix->writeDisplay();
     delay(1000);
 
+    show_isr();
     matrix->clear();
-    matrix->drawBitmap(0, 0, frown_bmp, 8, 8, LED_RED_VERYLOW);
+    matrix->drawBitmap(0, 0, frown_bmp, 8, 8, LED_RED_LOW);
     matrix->writeDisplay();
     delay(1000);
 
+    show_isr();
     matrix->clear();
-    matrix->drawLine(0,0, 7,7, LED_RED_MEDIUM);
-    matrix->writeDisplay();  // write the changes we just made to the display
+    matrix->drawCircle(3,3, 3, LED_RED_MEDIUM);
+    matrix->writeDisplay();
     delay(500);
 
-    matrix->clear();
-    matrix->drawRect(0,0, 8,8, LED_RED_VERYLOW);
-    matrix->fillRect(2,2, 4,4, LED_RED_HIGH);
-    matrix->writeDisplay();  // write the changes we just made to the display
-    delay(2000);
-
-    matrix->clear();
-    matrix->drawCircle(3,3, 3, LED_RED_MEDIUM);
-    matrix->writeDisplay();  // write the changes we just made to the display
-    delay(500);
-
-    matrix->setTextWrap(false);  // we don't want text to wrap so it scrolls nicely
+    matrix->setTextWrap(false);  // we don't wrap text so it scrolls nicely
     matrix->setTextSize(1);
-    matrix->setTextColor(LED_RED_MEDIUM);
-    matrix->setRotation(1);
+    matrix->setTextColor(LED_RED_HIGH);
+    matrix->setRotation(3);
     for (int8_t x=7; x>=-36; x--) {
         matrix->clear();
         matrix->setCursor(x,0);

	delay(50);
    }
    delay(100);
    matrix->setRotation(2);
    matrix->setTextColor(LED_RED_HIGH);
    for (int8_t x=7; x>=-36; x--) {
        matrix->clear();
        matrix->setCursor(x,0);

/*************************************************** 
    This is a library to address LED matrices that requires
    constant column/row rescans.

    It uses code from the Adafruit I2C LED backpack library designed for
    ----> http://www.adafruit.com/products/881
    ----> http://www.adafruit.com/products/880
    ----> http://www.adafruit.com/products/879
