Misura della velocità di commutazione di un pin della Genuino 101

Ho acquistato la Genuino 101 di recente e ho realizzato un semplice gpio speed test per misurare e soprattutto paragonare la velocità di commutazione di un pin digitale rispetto alle altre schede in mio possesso. Lo schema elettrico che ho realizzato per effettuare la misura è il seguente:

Genuino 101 Gpio Speed test

Il codice caricato sulla Genuino 101 permette tramite un ciclo while di eseguire continuamente la commutazione, da uno stato alto ad uno basso, di un pin della scheda:

void setup()
{
  //pin0 in uscita
  pinMode(0, OUTPUT);
}
 
void loop()
{
  //ciclo infinito
  while(true)
  {
    //metto il pin0 alto
    digitalWrite(0, HIGH);
    //metto il pin0 basso
    digitalWrite(0, LOW);
  }
}

La frequenza misurata, utilizzando un oscilloscopio, è di circa 320KHz (319.8KHz), la figura seguente mostra uno screen shot dell’acquisizione del segnale generato dalla commutazione del pin 0 della scheda Genuino 101:

Genuino gpio Speed test

La tabella seguente compara la misurazione della frequenza risultante dalla commutazione del pin con quella ottenuta eseguendo il medesimo test utilizzando schede diverse:

Tipo Scheda Frequenza di commutazione
Genuino 101 320 KHz
Flyport Ethernet 134.5 KHz
Arduino UNO 125 KHz
Arduino LEONARDO / MICRO 106 KHz
Netduino Plus 2 44.27 KHz
FEZ Panda II 12.7 KHz
Netduino 8.4 KHz

La Genuino 101 risulta, tra le schede testate, quella con una velocità di commutazione più elevata ma nonostante ciò penso che sia una scheda poco usabile, nel senso che il chip Intel Curie è impossibile difficilissimo da saldare ed usare in progetti stand alone, inoltre il modulo Bluetooth ed il giroscopio sono componenti che ormai sono disponibili ad un costo molto contenuto e possono essere aggiunti in maniera semplice anche ad una UNO.
Spero che questa scheda possa essere sviluppata maggiormente usando un form factor come la Genuino Micro (dando la possibilità quindi di essere inserita anche in schede stand alone o personalizzate) e impiegando librerie più evolute e utili, come ad esempio la funzione FFT.