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

    BSD license, all text above must be included in any redistribution
 ****************************************************/

#include <Wire.h>
#include "LED_Matrix.h"
#include "Adafruit_GFX.h"
#include "TimerOne.h"

// These go to ground:
uint8_t _gnd_lines[] = { 5, 6, 7, 8, 12, 11, 10, 9 };
// Those go to V+
// A6 and A7 do NOT work as digital pins on Arduino Nano
uint8_t _columns[] = { 0,  4, A5, A4, A3, A2, A1, A0 };

PWMDirectMatrix *matrix;

void setup() {
#ifndef __AVR_ATtiny85__
    // Initializing serial breaks one row (shared pin)
    //Serial.begin(57600);
    //Serial.println("DirectMatrix Test");
#endif
    matrix = new PWMDirectMatrix(8, 8);
    matrix->begin(_gnd_lines, _columns);
}

static const uint8_t PROGMEM

        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_LOW);
    matrix->writeDisplay();
    delay(1000);

    show_isr();
    matrix->clear();
    matrix->drawCircle(3,3, 3, LED_RED_MEDIUM);
    matrix->writeDisplay();
    delay(500);

    matrix->setTextWrap(false);  // we don't wrap text so it scrolls nicely
    matrix->setTextSize(1);
    matrix->setTextColor(LED_RED_HIGH);
    matrix->setRotation(3);
    for (int8_t x=7; x>=-36; x--) {
        matrix->clear();
        matrix->setCursor(x,0);
