Rocco Marco Guglielmi e Salvatore Dello Iacono, ambedue studenti di ingegneria elettronica a Salerno, hanno una storia interessante da raccontare. Quella di PLAY Embedded, sito creato da loro meno di un anno fa e che oggi sta vivendo un successo inaspettato come la sua evoluzione.
Perché? Forse, parafrasando un luogo comune, perché vi dice e vi spiega sui sistemi “embedded” (sia sull’aspetto elettronico sia software) quello che all’università non vi hanno mai spiegato e voi non avete mai osato chiedere. Risultato: un sito di informazione e di servizio molto particolare, ma con delle potenzialità non piccole, una specie di possibile “pre-startup” per i due studenti salernitani.
Il racconto che ne fa Rocco è esplicito. “Salvatore aveva già una certa esperienza di dispositivi FPGA e di programmazione di microcontrollori. Io invece, prima della laurea triennale, sì programmavo ma non avevo alcuna esperienza di sistemi embedded.
Ma andai a sviluppare la tesi del triennio in STMicroelectronics e là incontrai Giovanni Di Sirio, che mi introdusse alla programmazione dei microcontrollori.
Incominciarono le difficoltà. La documentazione su cui dovevo lavorare era molto tecnica, molto distante da quella universitaria. E nei primi giorni non riuscivo nemmeno ad accendere un led con le schede che ST distribuiva nelle università.
Dopo non pochi sforzi qualcosa ha cominciato a funzionare. Capivo, a poco a poco, come funzionavano realmente queste tecnologie. Da qui è iniziata un’esplorazione sempre più positiva. Ci passavo la notte piacevolmente. Sempre sulla programmazione dei microcontrollori STM32.”
Rocco lo chiama “feedback positivo”. Quando si incomincia a ingranare in questo campo, e si affrontano nuovi problemi, nuove soluzioni. Una sorta di spirale di autostima.
“Salvatore, il mio compagno di avventura, è un entusiasta come me. Proprio a causa dei nostri grattacapi iniziali, ci è venuta l’idea di creare un sito web per aiutare anche altri a superare questi primi scogli.
I meccanismi, i piccoli trucchi per vincere le difficoltà. Di qui PLAY Embedded, che fornisce tutorial e articoli su come utilizzare queste periferiche.
Siamo partiti a gennaio, sconosciuti, e dopo dieci mesi siamo arrivati ad avere 500 visite al giorno da una o due all’inizio. Proprio non ce lo aspettavamo.
Abbiamo stimato che il 40% delle visite è ricorrente, quindi la stima è di oltre un migliaio di programmatori interessati a quello che facciamo”.
Senza troppe limitazioni. “Sul sito scrivo di STM32. Però l’iniziativa è aperta a chiunque voglia contribuire, anche su altre piattaforme embedded come Arduino. A patto che gli articoli siano dettagliati e mettano in condizione chiunque di replicare a casa quello che viene descritto. Non è importante che si usi Arduino, Pic, STM32. L’importante è essere approfonditi, concreti e obbiettivi”.
Persone indipendenti
Come nelle comunità open source, dove non si accetta un contributo “teorico”, ma solo ciò che contiene codice eseguibile, PLAY Embedded è finalizzato alle applicazioni funzionanti, anche se apparentemente artigianali. “Un segnale di questo interesse? Noi abbiamo iniziato scrivendo in doppia lingua, italiano e inglese. Poi abbiamo incontrato alcune persone che hanno tradotto alcuni articoli in russo”.
Il vero obbiettivo di PLAY Embedded è dentro il perimetro formativo verso la programmazione reale dei sistemi incorporati: “Uso un sistema operativo real-time, il ChibiOS, piuttosto sofisticato. Però, se non riuscissi a padroneggiare anche la programmazione di basso livello non potrei fare molto. Oppure farei le applicazioni in modo non ottimizzato, perdendo prestazioni.
Non amo Arduino proprio perché nasconde troppi dettagli tecnici. Chi ha delle difficoltà su questa piattaforma non è portato ad approfondire ma ad aspettare che qualcun altro gli offra una soluzione pronta. Mentre quello che mi aspetto da un programmatore embedded è che, usando i manuali di quella scheda, sia in grado di trovare la soluzione di quel problema. E risolvere quel problema significa risolvere una classe di problemi. Fino diventare indipendente. Il nostro obbiettivo è proprio questo: rendere le persone indipendenti”.
Per far questo bisogna continuare e continuare. E Salvatore e Rocco, di tasca propria, periodicamente acquistano hardware di vario genere per creare soluzioni pilota e fornire sempre nuovi esempi sul sito. “Abbiamo sviluppato una sezione di tutorial, che è una delle più seguite. C’è una parte dedicata al sistema operativo ChibiOS. Che era nato solo per sviluppatori professionali, con documentazione solo in inglese, e molto tecnica. Per chi vi si avvicina molto difficile. Difficile mettere insieme le varie informazioni sui tools sparse sul web. Che ho raccolto e integrato.
Ma non è tutto. Noi cerchiamo soprattutto di spiegare come fare le cose. Quindi periodicamente acquistiamo dalla Cina della componentistica piuttosto comune, come sensori e motorini, e poi li mettiamo in connessione con gli STM32 e ChibiOS, facendo degli articoli esplicativi corredati da video e codice gratuito. Vere e proprie demo”.
Passando a un livello un po’ più tecnico: “Dentro il microcontrollore vi sono dei moduli, fondamentali per l’ambiente esterno. Come per esempio l’ADC, il convertitore analogico digitale. E’ una periferica configurabile, ma piuttosto complicata. Devi definire il campionamento del segnale analogico. E lo puoi fare usando ChibiOS con quattro righe di codice. Soprattutto il campionamento deve essere sincrono. Senza interruzioni e in modalità e velocità costanti. Oppure il controllo di un motore. Con onde quadre. Qui ci vogliono competenze di elettronica per montare il motore, di meccanica per capire come funziona, di controllistica per la sua gestione e pilotaggio. Tutte queste cose assieme fanno l’embedded. Che è il punto di incrocio di tutte queste competenze. Un mondo particolare, richiede di connettere i vari puntini. Molti si scoraggiano di fronte a questi ostacoli. Ed è il motivo per cui abbiamo fatto nascere questo sito. Il nostro messaggio è semplice: si può fare. La domanda che mi posi alla fine della laurea triennale, dopo sette anni di studio. Sono davvero in grado di fare qualcosa? Dopo aver fatto il mio primo sistema embedded ho capito che potevo farlo, e potevo andare avanti. Vedevo che anche altri non ci riuscivano. E allora ho voluto dare a loro le stesse possibilità che sono state date a me. Anche perché altri miei colleghi me lo chiedevano”.
I “guru”
Sulla loro strada formativa Rocco e Salvatore hanno incontrato due super esperti che i “puntini” non solo li conoscevano, ma sapevano bene integrarli. Forse è per questo motivo che la cultura dell’integrazione conoscitiva è passata anche a loro. “Personalmente ho avuto la fortuna di incontrare due “guru”. Il primo è un salernitano come me che ho conosciuto in ST durante il mio stage, Giovanni Di Sirio. Lui il sistema operativo ChibiOS l’ha in pratica sviluppato a casa, partendo da una piccola azienda dell’avellinese. Dal 1985. Ed era il programmatore degli orologini che stanno nei tornelli della Solari. Scrisse il primo kernel di ChibiOS con i controllori di allora. Poi lo abbandonò. Negli anni però decise di rimetterci le mani. Si rese conto che avrebbe avuto un suo spazio, e lo mise in open source. Ora intorno a ChibiOS si è formata una community di circa diecimila persone. Per otto anni Giovanni Di Sirio ha sviluppato device drivers per tutte le schede ST in commercio. Mentre la community ha cominciato a portare lo stesso sistema operativo su altre piattaforme, come Texas Instruments, Arduino, Microchip.
Io ho avuto la fortuna di conoscerlo. Il mio primo giorno in ST ero davvero spaventato. Ma lui si siede a tavola con me e comincia: immaginiamo un sistema da realizzare…. Io non sapevo fare nulla e mi ha dato subito un compito da fare. E poi mi ha seguito ma senza mai darmi le soluzioni, solo indizi. Mi indicava testi da leggere. Alla fine dei tre mesi sapevo fare le cose.
Anche il mio docente di elettronica, il professor Salvatore Bellone, ha seguito una strategia simile. Mi provocava per andare a investigare, per capirne di più. Tutti pensavano avesse un caratteraccio, in realtà è un vero “guru”.
Dopo ST ho passato altri due anni a studiare. E ampliare le mie conoscenze. Ho cercato di mantenere i contatti con ST, ma solo nelle giornate possibili, aperte al pubblico. Dopo i tre mesi in cui vi scrissi la tesi.
Per imparare ho capito che dovevo fare uno sforzo extra. E ho stretto amicizia con Salvatore Dello Iacono, l’altro fondatore di PLAY Embedded. Molto simile, per passioni, a me. Lui in casa aveva un piccolo laboratorio di elettronica. Andavo da lui e lui da me.
Poi da lui venne la proposta di fare il sito. Sul momento ero dubbioso. Non avevo mai scritto una riga di linguaggi per il Web, necessari per gestirlo. Ma lui aveva qualche esperienza in materia. Risultato: abbiamo sviluppato il sito in due mesi. E da allora ce lo gestiamo noi. All’inizio mettemmo dei video su ChibiOS, doppiati in italiano e in inglese. Siamo passati nella prima settimana da una visita al giorno a dieci. Ci siamo gasati. E abbiamo cominciato ad aggiungere testi, articoli. E il sito è decollato.
Nel corso del tempo i partecipanti ci hanno aiutato a migliorare i testi, eliminando errori, approfondendo. E noi, sui loro stimoli, continuiamo a rieditare i nostri pezzi”.
Perché non trasformare il sito, almeno in parte, in un manuale di programmazione embedded?
“Abbiamo anche pensato a un piccolo kit di sviluppo, con hardware essenziale e un piccolo manuale. Ma costa e ci vorrebbe uno sponsor. Per ora tutto PLAY Embedded lo facciamo in casa noi”.
E il futuro?
“Chi arriva sul sito ha già i concetti utili di base. Il problema è metterli assieme, e noi aiutiamo a connettere i puntini. Come se fosse un’ora di “laboratorio” universitario. Il problema è che al primo tentativo si fallisce quasi sicuramente. Noi vogliamo che loro già al secondo tentativo abbiano un successo. E che quindi si metta in moto l’entusiasmo, una sorta di feedback positivo. Dedicandoci sempre più tempo.
Di Sirio prende parte a PLAY Embedded?
Guarda all’iniziativa con benevolenza. Lui lavora in ST con programmatori molto esperti. E il suo sito riflette questo approccio. Ma parla di PLAY Embedded come della parte divertente e giocosa di ChibiOS. Ci ha anche linkati. Noi infatti ci rivolgiamo a chi comincia. Non siamo collegati a ChibiOS ma facciamo parte della community. Siamo studenti della laurea magistrale di Ingegneria elettronica. Il nostro sogno è di poter continuare a lavorare per conto nostro. Speriamo che questa iniziativa ci consenta di creare un team, e di creare anche qualche prodotto.
Ci rendiamo conto che conosciamo persone ogni giorno. Magari alcuni hanno un progetto per le mani e non hanno il tempo per mettersi a risolvere il problema.
Magari ne potrebbe venir fuori una piccola azienda di Ingegneria elettronica, ovviamente embedded. Per ora non pensiamo al business.
Ne parleremo dopo la laurea.”
(A cura di Giuseppe Caravita)