Proyecto Wifi ESP8266 Como Servidor WEB

Buenas, os actualizo de como va la cosa, he hablado hoy con mi tutor y me ha dicho en resumidas cuentas que lo que he hecho no vale para nada, entonces lo que tengo intención de hacer es:

-Muestrear continuamente la aceleración, con lo que escribiste surbyte de la interrupción, cada X useg e ir almacenandoles en un vector de 5000 muestras (no se debería llenar) mediante el metodo de buffer circular, si se acabasen los valores empezarían a machacar los del principio.
-Coger dos valores de aceleración y sus instantes, calcular su área (sería la integral), con lo que obtendría un valor de velocidad y lo almacenaría en otro vector igual que el de aceleración de 5000 muestras, así continuamente cogería el ultimo valor cogido y el siguiente, calcularía su área y obtendría un valor de velocidad.
-Solo me quedaría con los valores de velocidad que se corresponderían con dos 0, lo cual indicaría que está parado y entre esos instantes debería haber hecho la fuerza.
-Para hallar la velocidad media calcularia el promedio de todos esos valores de velocidad comprendidos entre los dos nulos.

Ahora mi pregunta es: en el código que pusiste :

#include <TimerOne.h>                       // https://github.com/PaulStoffregen/TimerOne
#default MUESTRAS    20000
volatile unsigned int vector[MUESTRAS] = {0};
volatile unsigned int i = 0;

void setup(void) {
  
  Timer1.initialize(500);         // 500 useg 
  Timer1.attachInterrupt(logger); // tomo datos cada 500 useg
  Serial.begin(9600);
}

void logger(void) {
  vector[i++] = analogread(A0);
}

Yo lo que entiendo ahí es que en el setup al poner eso, en otro thread paralelo el codigo cada 500useg coge una muestra y lo mete en el vector. Mis preguntas:

1º.El setup tiene que tener obligatoriamente el void? o se puede dejar como viene por defecto en arduino?

void setup(){}

2º.Podría usar el vector en la función loop o en otra función tal cual está o debería poner este código?
* *int logger(int vector[i]) {   vector[i++] = analogread(A0); }* *
Es que no estoy familiarizado con las interrupciones en Arduino, en ensamblador di algo pero no tiene nada que ver.
Saludos y muchas gracias, que este proyecto creo que me está quedando un poco grande