도트 매트릭스는 LED를 매트릭스 형태로 배열하여 다양한 문자나 패턴을 표현할 수 있도록 해주는 표시장치이다. 광고를 비롯한 다양한 분야에 활용되고 있다. 일반적으로 8x8이 기본 형태이며, 알파벳 한 글자, 숫자 그리고 사용자 모양 등을 이용하여 다양한 정보를 표현할 수 있다. '
도트 매트릭스의 각 LED는 행(ROW)과 열(COL)의 교차점에 위치하며 열(COL)이 HIGH 레벨, 행(ROW)이 LOW 레벨로 설정되면 LED는 켜지게 된다. 하지만 부품에 따라서 열이 LOW 레벨, 행이 HIGH 레벨로 설정될 때 LED가 켜질 수도 있으므로 부품 번호에 해당하는 설명서를 참조해서 실험을 해야 한다.
| 매트릭스 외부 핀 번호 | 아두이노 핀번호 | 매트릭스 외부 핀 번호 | 아두이노 핀번호 |
|---|---|---|---|
| 1 | 5 | 9 | 13 |
| 2 | 4 | 10 | 12 |
| 3 | 3 | 11 | 11 |
| 4 | 2 | 12 | 10 |
| 5 | A0 | 13 | 9 |
| 6 | A1 | 14 | 8 |
| 7 | A2 | 15 | 7 |
| 8 | A3 | 16 | 6 |

byte col = 0;
byte leds[8][8];
// pin[xx] on led matrix connected to nn on Arduino
// (-1 is dummy to make array start at pos 1)
int pins[17]= {-1, 5, 4, 3, 2, 14, 15, 16, 17, 13, 12, 11, 10, 9,8, 7, 6};
// row[xx] of leds = pin yy on led matrix
int rows[8] = {pins[9],pins[14],pins[8],pins[12],pins[1],pins[7],pins[2],pins[5]};
// col[xx] of leds = pin yy on led matrix
int cols[8] = {pins[13], pins[3], pins[4], pins[10], pins[06],pins[11], pins[15], pins[16]};
void setup() {
// put your setup code here, to run once:
for (int i = 1; i <= 16; i++) {
pinMode(pins[i], OUTPUT);
}
for (int i = 1; i <= 8; i++) {
digitalWrite(cols[i - 1], HIGH);
}
// set up cols and rows
for (int i = 1; i <= 8; i++) {
digitalWrite(rows[i - 1], LOW);
}
}
void loop() {
// Dot Matrix Common Cathode and Common Anode 테스트
digitalWrite(rows[1], HIGH);
digitalWrite(cols[1], LOW);
digitalWrite(cols[2], LOW);
}

row[1]에 HIGH을 입력,cols[1]과 cols[2]에 LOW을 입력한다.
불이 켜졌으므로 Common Anode Type이다.
만약 불이 켜지지 않았다면 Common Cathode Type이다.