Benchmarking a Seeed Studio Wio RP2040 mini board

Quanto una scheda Wio RP2040 risulta più veloce e ottimizzabile, in termini di CPU ed FPU, rispetto al nostro classico Arduino UNO R3?

Ci capita, di tanto in tanto, di occuparci di sistemi di ottimizzazione delle schede a microcontrollore. A tale scopo abbiamo prodotto un programma di benchmarking (ad uso interno) che utilizziamo per valutare le prestazioni di calcolo dei diversi sistemi presi in considerazione.

Chi fosse curioso, può leggere il nostro articolo che tratta il benchmark dei microcontrollori, ed il relativo video con il testing su YouTube.

Nell’articolo odierno valuteremo le capacità di calcolo della scheda Wio RP2040 mini dev board prodotta da Seeed Studio.

I precedenti articoli su Seeed Studio Wio RP2040:

Installiamo la scheda su Arduino IDE

Per sfruttare al massimo le proprietà intrinseche della scheda, è necessario scaricare la opportuna sezione di pilotaggio.

Purtroppo esistono numerosissime “guide” per la configurazione di Pico, la maggior parte delle quali incomplete o sbagliate. Per configurare la scheda sotto Ubuntu ho dovuto aggiungere il seguente link all’IDE, attraverso il percorso File -> Impostazioni -> URL Aggiuntive:

Andiamo quindi su Strumenti -> Schede -> Gestione schede, e selezioniamo nel campo di ricerca Pico.

Wio RP2040

Selezioniamo Raspberry PI Pico/RP2040 e procediamo con l’installazione, che potrà richiedere diversi minuti.

Selezioniamo Strumenti -> Schede -> Raspberry PI RP2040 boards -> Raspberry Pi Pico per selezionare la scheda di sviluppo corretta. Questa procedura consente di lavorare tanto con la scheda Seeed Studio Wio RP2040 quanto con l’originale Raspberry PI Pico. Il sito di SeeedStudio consiglia di installare il driver USB CP2102 per la seriale. Con Ubuntu ho scaricato i sorgenti ed ho compilato il tutto senza problemi, ma non mi ha garantito l’accesso.

Occorre anche fare attenzione alla procedura di collegamento: quando viene connesso il cavo USB, occorre tenere premuto il tastino Boot sino all’avvenuto riconsocimento della scheda come drive. In seguito occorre eseguire l’upload del codice da Arduino IDE, che al termine dell’operazione (se il file viene compilato correttamente) provvederà a disconnettere l’unità come drive, ed a lanciare il programma. Premendo il tastino contrassegnato come “Run”, il programma verrà lanciato nuovamente.

Ma veniamo ai risultati.

Benchmark RP2040

Benchmark RP2040

La scheda impiega circa 9.3 secondi a completare il benchmark con un overclock di 200 MHz… Corrisponde ad una velocità 10 volte maggiore di quella di un Arduino UNO R3 classico. Alla frequenza nativa di 125 MHz completiamo il benchmark in 14759 millisecondi: questo significa che la scheda scala esattamente con la frequenza di clock. L’osservazione è confermata confrontando i benchmark di un’altra scheda dotata di Cortex M0+, il Seeeduino Xiao (con clock a 48 MHz).

Le cose cambiano quando testiamo il nostro RP2040 con il fratello maggiore, un Wio Terminal con processore Cortex M4: A pari frequenza (125 MHz) il Cortex M4 è una volta e mezza più veloce, completando il test in 10107 millisecondi contro i 14759 millisecondi del Pico. Ma si tratta di un processore di classe decisamente più elevata, in grado di pilotare uno schermo grafico a 65000 colori a risoluzioni di 1280×720…

Considerazioni finali

In questo articolo abbiamo imparato a lavorare con un Wio RP2040 utilizzando l’IDE di Arduino, programmando in linguaggio C/C++.

Abbiamo anche visto come l’aggiunta di un processore ARM Mbed possa trasformare questa scheda in una piccola macchina da guerra.

Nei prossimi articoli impareremo a lavorare sulla scheda RP2040 con il Micropython, descrivendo qualche articolo più interessante del classico Blink.

Non mancate!

 

Definire ciò che si è non risulta mai semplice o intuitivo, in specie quando nella vita si cerca costantemente di migliorarsi, di crescere tanto professionalmente quanto emotivamente. Lavoro per contribuire al mutamento dei settori cardine della computer science e per offrire sintesi ragionate e consulenza ad aziende e pubblicazioni ICT, ma anche perche’ ciò che riesco a portare a termine mi dà soddisfazione, piacere. Così come mi piace suonare (sax, tastiere, chitarra), cantare, scrivere (ho pubblicato 350 articoli scientfici e 3 libri sinora, ma non ho concluso ciò che ho da dire), leggere, Adoro la matematica, la logica, la filosofia, la scienza e la tecnologia, ed inseguo quel concetto di homo novus rinascimentale, cercando di completare quelle sezioni della mia vita che ancora appaiono poco ricche.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.