Concatenar e converter tipos diferentes

Estou montando um display com matrizes de led 8x8. Utilizei este código e funcionou bem:

No entanto, gostaria de inserir o texto pela serial de forma que este ficasse se repetindo. No trecho abaixo do código é possível ver que ele passa o texto no display vindo da serial, mas só passa uma vez.

Não consegui, por causa dos tipos diferentes de variáveis, jogar o conteúdo do serial.read para uma variável string.

...
char string1[] = " Test text  ";
char minhastring [] = "";  ----> aqui eu deveria inicializar uma variável do mesmo tipo de string1, só que vazia.

void setup(){
  m.init(); 
  m.setIntensity(0); 
  Serial.begin(9600);
}

void loop(){
  
  // this is the code if you want to entering a message via serial console
    while (Serial.available() > 0){
    byte c = Serial.read();
   minhastring = minhastring + c ----> aqui concatenar o valor de c, convertido em char ou string (não sei bem)
    Serial.println(c, DEC);
    printCharWithShift(c, 100);
  }
  delay(100);
  m.shiftLeft(false, true);
 
  // print the active sentences
  printStringWithShift(string1, 100);
  printStringWithShift(minhastring, 100);  ----> aqui ficaria passando o texto

}

Indiquei no código a minha ideia, mas não sei como implantá-la.

Agradeço desde já pela ajuda!

Ola Lago
A operação de concatenar strings com o + só é possível usando uma instância da classe String.No entanto fazes bem não estares a usar a classe String já que ela é desnecessária para o que pretendes e a utilização de char arrays é a tua melhor solução.
Uma das formas que agora me vem à cabeça para fazeres isso é usares a função strcat.
Basicamente apenas tens de garantir que a tua primeira string tem espaço suficiente para o resto do texto que la queres adicionar.
Em resumo algo assim:

  char stringPrincipal[80];
  strcpy (stringPrincipal,"A ");
  strcat (stringPrincipal,"string ");
  strcat (stringPrincipal,"esta ");
  strcat (stringPrincipal,"concatenada");
  Serial.println (stringPrincipal);

Assim só tens de ler os teus bytes da serial, armazena-los num outro char array e terminalo com o '\0'.
Depois fazes o strcpy (stringPrincipal,arraySecundario); onde o arraySecundario é o array que contem a string que enviaste pela Serial.

Obrigado pela ajuda!

Funcionou assim:

...
char message[21] = "Inicial message"; // The extra character is for the null
int charsRead;

void setup(){
m.init(); // module initialize
m.setIntensity(0); // dot matix intensity 0-15
Serial.begin(9600); // serial communication initialize
}

void loop(){
// this is the code if you want to entering a message via serial console
while (Serial.available() > 0){
charsRead = Serial.readBytesUntil('\n', message, 20);
message[charsRead] = '\0';
}
delay(100);
m.shiftLeft(false, true);

printStringWithShift(message, 100);
...