Convertir a char array int array

hola, soy nuevo en el foro, tengo un problema es convertir una serie de caracteres con una matriz de enteros utilizando atoi.

int arraynumber[3];
char arraychar[3]={'3','2','1');
int i;
void setup () {
  Serial.begin(9600);

}

void loop(){

   for (i=0;i<3;i++){
     arraynumber[i]=atoi(arraychar[i]);
     Serial.println(arraynumber[i]);
   }

}

sale este error:

ConvertTOatoi.ino: In function ‘void loop()’:
ConvertTOatoi.ino:12:37: error: invalid conversion from ‘char’ to ‘const char*’ [-fpermissive]
In file included from /usr/share/arduino/hardware/arduino/cores/arduino/Arduino.h:4:0,
                 from ConvertTOatoi.ino:1:
/usr/lib/avr/include/stdlib.h:266:12: error:   initializing argument 1 of ‘int atoi(const char*)’ [-fpermissive]
 extern int atoi(const char *__s) __ATTR_PURE__;
            ^

Hola.
El problema es que atoi se utiliza para convertir una cadena de caracteres en entero, no un caracter. Si deseas convertir dígitos (0-9) en entero, sencillamente restales el valor ascii del cero:

arraynumber[i] = arraychar[i] - '0';

Si quieres seguir utilizando atoi, deberías declarar los dígitos como cadenas:

int arraynumber[3];
char *arraychar[3]={"3","2","1"};
int i;
void setup () {
  Serial.begin(9600);

}

void loop(){

   for (i=0;i<3;i++){
     arraynumber[i]=atoi(arraychar[i]);
     Serial.println(arraynumber[i]);
   }

}