Matriz de arrays ya declaradas

Buenos días,
Estoy realizando un proyecto con RFID y quiero crear una matriz con ID ya conocidas. Estos ID son arrays de longitud 4. Algo así:

byte cero[4] = { 0xA6, 0xD4, 0xAC, 0xF8 };  // 0: LLAVERO 1
byte uno[4] = { 0xE9, 0x48, 0xCC, 0xE3 };   // 1: TARJETA 1
byte dos[4] = { 0x46, 0x6F, 0xA5, 0xF8 };    //2: LLAVERO 2
byte tres[4] = { 0xC2, 0x9D, 0xFC, 0x33 };  //3: TARJETA 2
byte matriz[4][4] = {
  cero[4]},
  uno[4],
  dos[4],
  tres[4]
} ;

Al mandarlo al monitor serie me salen todo ceros.

Si alguien me pudiera ayudar, lo agradecería.

en un array los indices comienzan por 0 ,un array de cuatro elementos se numera del 0 al 3 por lo que la posicion [4] no existe,prueba sin el indice y las llaves creo que no estan bien.No se si asi te funcionara:

byte matriz[4][4] = {
  {cero[]},
 {uno[]},
  {dos[]},
  {tres[]}
} ;
// si no funciona prueba asi
byte matriz[4][4] = {
  { 0xA6, 0xD4, 0xAC, 0xF8 },
  { 0xE9, 0x48, 0xCC, 0xE3 },
  { 0x46, 0x6F, 0xA5, 0xF8 },
  { 0xC2, 0x9D, 0xFC, 0x33 }
} ;

No se puede crear una matriz de matrices. Pero si se puede usar punteros a matrices, asi:

void setup(){
   Serial.begin(9600);
   byte cero[] = { 0xA6, 0xD4, 0xAC, 0xF8 };
   byte uno[] = { 0xE9, 0x48, 0xCC, 0xE3 };
   byte dos[] = { 0x46, 0x6F, 0xA5, 0xF8 };
   byte tres[] = { 0xC2, 0x9D, 0xFC, 0x33 };
   byte* matriz[4] = {cero, uno, dos, tres};   //Puntero de matrices.
   for (byte i=0; i<4; i++){
      for (byte j=0; j<4; j++){
         Serial.print(matriz[i][j], HEX);
         Serial.print(", ");
      }
      Serial.println();
   }
}

void loop() {
   //Nada
}