Rainbowduino 2D Monochromatic LED Matrix

Hello People !

I need to create a 16*11 white LED Matrix.
I got some Basic Questions here:

What is the approximate maximum Cable length for a single low current LED in this combination.

Do I need external +5V Power/GND to drive the LEDs or is USB just fine ?
“No, USB power is sufficient”

How much Memory does the latest Rainbowduino Feature for eg Effects
“about 30KB”

Where to find the Wiring Scheme ?
Get the Schematic for single LED use from here (requires free Eagle Software)
http://www.seeedstudio.com/depot/source/rainbowext.zip

To adjust single LEDs I added the following to the header in the public functions:

void setPixel1D(unsigned char pxnr, unsigned char colorVal);

Into the cpp I added the following function:

void Rainbowduino::setPixel1D(unsigned char pxnr, unsigned char colorVal)
{
switch(pxnr){
case 0: frameBuffer[0][0][0]= colorVal ; //channel Blue
break;
case 1: frameBuffer[1][0][0]= colorVal ; //channel Green
break;
case 2: frameBuffer[2][0][0]= colorVal ; //channel Red
break;
case 3: frameBuffer[0][1][0]= colorVal ;
break;
case 4: frameBuffer[1][1][0]= colorVal ;
break;
case 5: frameBuffer[2][1][0]= colorVal ;
break;
case 6: frameBuffer[0][2][0]= colorVal ;
break;
case 7: frameBuffer[1][2][0]= colorVal ;
break;
case 8: frameBuffer[2][2][0]= colorVal ;
break;
case 9: frameBuffer[0][3][0]= colorVal ;
break;
case 10: frameBuffer[1][3][0]= colorVal ;
break;
case 11: frameBuffer[2][3][0]= colorVal ;
break;
case 12: frameBuffer[0][4][0]= colorVal ;
break;
case 13: frameBuffer[1][4][0]= colorVal ;
break;
case 14: frameBuffer[2][4][0]= colorVal ;
break;
case 15: frameBuffer[0][5][0]= colorVal ;
break;
case 16: frameBuffer[1][5][0]= colorVal ;
break;
case 17: frameBuffer[2][5][0]= colorVal ;
break;
case 18: frameBuffer[0][6][0]= colorVal ;
break;
case 19: frameBuffer[1][6][0]= colorVal ;
break;
case 20: frameBuffer[2][6][0]= colorVal ;
break;
case 21: frameBuffer[0][7][0]= colorVal ;
break;
case 22: frameBuffer[1][7][0]= colorVal ;
break;
case 23: frameBuffer[2][7][0]= colorVal ;
break;
case 24: frameBuffer[0][0][1]= colorVal ;
break;
case 25: frameBuffer[1][0][1]= colorVal ;
break;
case 26: frameBuffer[2][0][1]= colorVal ;
break;
case 27: frameBuffer[0][1][1]= colorVal ;
break;
case 28: frameBuffer[1][1][1]= colorVal ;
break;
case 29: frameBuffer[2][1][1]= colorVal ;
break;
case 30: frameBuffer[0][2][1]= colorVal ;
break;
case 31: frameBuffer[1][2][1]= colorVal ;
break;
case 32: frameBuffer[2][2][1]= colorVal ;
break;
case 33: frameBuffer[0][3][1]= colorVal ;
break;
case 34: frameBuffer[1][3][1]= colorVal ;
break;
case 35: frameBuffer[2][3][1]= colorVal ;
break;
case 36: frameBuffer[0][4][1]= colorVal ;
break;
case 37: frameBuffer[1][4][1]= colorVal ;
break;
case 38: frameBuffer[2][4][1]= colorVal ;
break;
case 39: frameBuffer[0][5][1]= colorVal ;
break;
case 40: frameBuffer[1][5][1]= colorVal ;
break;
case 41: frameBuffer[2][5][1]= colorVal ;
break;
case 42: frameBuffer[0][6][1]= colorVal ;
break;
case 43: frameBuffer[1][6][1]= colorVal ;
break;
case 44: frameBuffer[2][6][1]= colorVal ;
break;
case 45: frameBuffer[0][7][1]= colorVal ;
break;
case 46: frameBuffer[1][7][1]= colorVal ;
break;
case 47: frameBuffer[2][7][1]= colorVal ;
break;
case 48: frameBuffer[0][0][2]= colorVal ;
break;
case 49: frameBuffer[1][0][2]= colorVal ;
break;
case 50: frameBuffer[2][0][2]= colorVal ;
break;
case 51: frameBuffer[0][1][2]= colorVal ;
break;
case 52: frameBuffer[1][1][2]= colorVal ;
break;
case 53: frameBuffer[2][1][2]= colorVal ;
break;
case 54: frameBuffer[0][2][2]= colorVal ;
break;
case 55: frameBuffer[1][2][2]= colorVal ;
break;
case 56: frameBuffer[2][2][2]= colorVal ;
break;
case 57: frameBuffer[0][3][2]= colorVal ;
break;
case 58: frameBuffer[1][3][2]= colorVal ;
break;
case 59: frameBuffer[2][3][2]= colorVal ;
break;
case 60: frameBuffer[0][4][2]= colorVal ;
break;
case 61: frameBuffer[1][4][2]= colorVal ;
break;
case 62: frameBuffer[2][4][2]= colorVal ;
break;
case 63: frameBuffer[0][5][2]= colorVal ;
break;
case 64: frameBuffer[1][5][2]= colorVal ;
break;
case 65: frameBuffer[2][5][2]= colorVal ;
break;
case 66: frameBuffer[0][6][2]= colorVal ;
break;
case 67: frameBuffer[1][6][2]= colorVal ;
break;
case 68: frameBuffer[2][6][2]= colorVal ;
break;
case 69: frameBuffer[0][7][2]= colorVal ;
break;
case 70: frameBuffer[1][7][2]= colorVal ;
break;
case 71: frameBuffer[2][7][2]= colorVal ;
break;
case 72: frameBuffer[0][0][3]= colorVal ;
break;
case 73: frameBuffer[1][0][3]= colorVal ;
break;
case 74: frameBuffer[2][0][3]= colorVal ;
break;
case 75: frameBuffer[0][1][3]= colorVal ;
break;
case 76: frameBuffer[1][1][3]= colorVal ;
break;
case 77: frameBuffer[2][1][3]= colorVal ;
break;
case 78: frameBuffer[0][2][3]= colorVal ;
break;
case 79: frameBuffer[1][2][3]= colorVal ;
break;
case 80: frameBuffer[2][2][3]= colorVal ;
break;
case 81: frameBuffer[0][3][3]= colorVal ;
break;
case 82: frameBuffer[1][3][3]= colorVal ;
break;
case 83: frameBuffer[2][3][3]= colorVal ;
break;
case 84: frameBuffer[0][4][3]= colorVal ;
break;
case 85: frameBuffer[1][4][3]= colorVal ;
break;
case 86: frameBuffer[2][4][3]= colorVal ;
break;
case 87: frameBuffer[0][5][3]= colorVal ;
break;
case 88: frameBuffer[1][5][3]= colorVal ;
break;
case 89: frameBuffer[2][5][3]= colorVal ;
break;
case 90: frameBuffer[0][6][3]= colorVal ;
break;
case 91: frameBuffer[1][6][3]= colorVal ;
break;
case 92: frameBuffer[2][6][3]= colorVal ;
break;
case 93: frameBuffer[0][7][3]= colorVal ;
break;
case 94: frameBuffer[1][7][3]= colorVal ;
break;
case 95: frameBuffer[2][7][3]= colorVal ;
break;
case 96: frameBuffer[0][0][4]= colorVal ;
break;
case 97: frameBuffer[1][0][4]= colorVal ;
break;
case 98: frameBuffer[2][0][4]= colorVal ;
break;
case 99: frameBuffer[0][1][4]= colorVal ;
break;
case 100: frameBuffer[1][1][4]= colorVal ;
break;
case 101: frameBuffer[2][1][4]= colorVal ;
break;
case 102: frameBuffer[0][2][4]= colorVal ;
break;
case 103: frameBuffer[1][2][4]= colorVal ;
break;
case 104: frameBuffer[2][2][4]= colorVal ;
break;
case 105: frameBuffer[0][3][4]= colorVal ;
break;
case 106: frameBuffer[1][3][4]= colorVal ;
break;
case 107: frameBuffer[2][3][4]= colorVal ;
break;
case 108: frameBuffer[0][4][4]= colorVal ;
break;
case 109: frameBuffer[1][4][4]= colorVal ;
break;
case 110: frameBuffer[2][4][4]= colorVal ;
break;
case 111: frameBuffer[0][5][4]= colorVal ;
break;
case 112: frameBuffer[1][5][4]= colorVal ;
break;
case 113: frameBuffer[2][5][4]= colorVal ;
break;
case 114: frameBuffer[0][6][4]= colorVal ;
break;
case 115: frameBuffer[1][6][4]= colorVal ;
break;
case 116: frameBuffer[2][6][4]= colorVal ;
break;
case 117: frameBuffer[0][7][4]= colorVal ;
break;
case 118: frameBuffer[1][7][4]= colorVal ;
break;
case 119: frameBuffer[2][7][4]= colorVal ;
break;
case 120: frameBuffer[0][0][5]= colorVal ;
break;
case 121: frameBuffer[1][0][5]= colorVal ;
break;
case 122: frameBuffer[2][0][5]= colorVal ;
break;
case 123: frameBuffer[0][1][5]= colorVal ;
break;
case 124: frameBuffer[1][1][5]= colorVal ;
break;
case 125: frameBuffer[2][1][5]= colorVal ;
break;
case 126: frameBuffer[0][2][5]= colorVal ;
break;
case 127: frameBuffer[1][2][5]= colorVal ;
break;
case 128: frameBuffer[2][2][5]= colorVal ;
break;
case 129: frameBuffer[0][3][5]= colorVal ;
break;
case 130: frameBuffer[1][3][5]= colorVal ;
break;
case 131: frameBuffer[2][3][5]= colorVal ;
break;
case 132: frameBuffer[0][4][5]= colorVal ;
break;
case 133: frameBuffer[1][4][5]= colorVal ;
break;
case 134: frameBuffer[2][4][5]= colorVal ;
break;
case 135: frameBuffer[0][5][5]= colorVal ;
break;
case 136: frameBuffer[1][5][5]= colorVal ;
break;
case 137: frameBuffer[2][5][5]= colorVal ;
break;
case 138: frameBuffer[0][6][5]= colorVal ;
break;
case 139: frameBuffer[1][6][5]= colorVal ;
break;
case 140: frameBuffer[2][6][5]= colorVal ;
break;
case 141: frameBuffer[0][7][5]= colorVal ;
break;
case 142: frameBuffer[1][7][5]= colorVal ;
break;
case 143: frameBuffer[2][7][5]= colorVal ;
break;
case 144: frameBuffer[0][0][6]= colorVal ;
break;
case 145: frameBuffer[1][0][6]= colorVal ;
break;
case 146: frameBuffer[2][0][6]= colorVal ;
break;
case 147: frameBuffer[0][1][6]= colorVal ;
break;
case 148: frameBuffer[1][1][6]= colorVal ;
break;
case 149: frameBuffer[2][1][6]= colorVal ;
break;
case 150: frameBuffer[0][2][6]= colorVal ;
break;
case 151: frameBuffer[1][2][6]= colorVal ;
break;
case 152: frameBuffer[2][2][6]= colorVal ;
break;
case 153: frameBuffer[0][3][6]= colorVal ;
break;
case 154: frameBuffer[1][3][6]= colorVal ;
break;
case 155: frameBuffer[2][3][6]= colorVal ;
break;
case 156: frameBuffer[0][4][6]= colorVal ;
break;
case 157: frameBuffer[1][4][6]= colorVal ;
break;
case 158: frameBuffer[2][4][6]= colorVal ;
break;
case 159: frameBuffer[0][5][6]= colorVal ;
break;
case 160: frameBuffer[1][5][6]= colorVal ;
break;
case 161: frameBuffer[2][5][6]= colorVal ;
break;
case 162: frameBuffer[0][6][6]= colorVal ;
break;
case 163: frameBuffer[1][6][6]= colorVal ;
break;
case 164: frameBuffer[2][6][6]= colorVal ;
break;
case 165: frameBuffer[0][7][6]= colorVal ;
break;
case 166: frameBuffer[1][7][6]= colorVal ;
break;
case 167: frameBuffer[2][7][6]= colorVal ;
break;
case 168: frameBuffer[0][0][7]= colorVal ;
break;
case 169: frameBuffer[1][0][7]= colorVal ;
break;
case 170: frameBuffer[2][0][7]= colorVal ;
break;
case 171: frameBuffer[0][1][7]= colorVal ;
break;
case 172: frameBuffer[1][1][7]= colorVal ;
break;
case 173: frameBuffer[2][1][7]= colorVal ;
break;
case 174: frameBuffer[0][2][7]= colorVal ;
break;
case 175: frameBuffer[1][2][7]= colorVal ;
break;
case 176: frameBuffer[2][2][7]= colorVal ;
break;
case 177: frameBuffer[0][3][7]= colorVal ;
break;
case 178: frameBuffer[1][3][7]= colorVal ;
break;
case 179: frameBuffer[2][3][7]= colorVal ;
break;
case 180: frameBuffer[0][4][7]= colorVal ;
break;
case 181: frameBuffer[1][4][7]= colorVal ;
break;
case 182: frameBuffer[2][4][7]= colorVal ;
break;
case 183: frameBuffer[0][5][7]= colorVal ;
break;
case 184: frameBuffer[1][5][7]= colorVal ;
break;
case 185: frameBuffer[2][5][7]= colorVal ;
break;
case 186: frameBuffer[0][6][7]= colorVal ;
break;
case 187: frameBuffer[1][6][7]= colorVal ;
break;
case 188: frameBuffer[2][6][7]= colorVal ;
break;
case 189: frameBuffer[0][7][7]= colorVal ;
break;
case 190: frameBuffer[1][7][7]= colorVal ;
break;
case 191: frameBuffer[2][7][7]= colorVal ;
break;
}
}

I don`t know if this is the most straightforward attempt - but I think it will work.
If there are better methods than using such a Lookuptable please let me know :slight_smile:

thanks for any Info

greetz

xpeace

hey,it seems too interminable…

maybe you can use a function…

void Rainbowduino::setPixel1D(unsigned char pxnr, unsigned char colorVal)
{
int t = (int)pxnr;                       //type convert compulsively
int x,y,z;
x=t%3;
y=t/3%8;
z=t/3/8%8;
colorVal = frameBuffer[x][y][z];
}

i have not confirmed it, maybe you can have a try… :unamused: