Il futuro della progettazione hardware open source

CircuitMaker Article Image 1

Quando si parla di open source, l'hardware non è certamente la prima cosa che si affaccia nella mente. In uno scenario dominato dal software open source, l'hardware ha fatto molta fatica a conquistare le luci della ribalta. Sebbene la community che supporta l'hardware open source sia sempre esistita, non era finora disponibile un tool di progettazione in grado di fornire una risposta esaustiva all'esigenza di poter disporre di una piattaforma centralizzata in grado di supportare e distribuire progetti hardware aperti senza compromettere alcuna funzionalità. Altium si è fortemente impegnata a mutare questo scenario. Con l'annuncio, avvenuto nel mese di maggio del 2015, della versione beta "open" di CircuitMaker, a tutti coloro coinvolti a vario titolo nella progettazione elettronica è stata data la possibilità di verificare le potenzialità dell'hardware open source. Questo tool per la progettazione di schede Pcb ha un solo giudice che può decretarne o meno il successo: la community. Questa community ha la sua origine in ogni progetto singolo al quale contribuiscono progettisti elettronici da ogni parte del mondo.


Navigando tra il database dei progetti
Tra la miriade di progetti contenuti nella "community vault" (in altre parole il database basato su cloud dove sono archiviati i progetti e le loro configurazioni associate), un progetto interessante e significativo è quello relativo a display Led a 7 segmenti con 4 cifre che integra un bus SPI per ridurre il numero dei pin. Una caratteristica di rilievo del progetto in questione è data dal fatto che è stato creato sotto forma di shield (in pratica una scheda da applicare su Arduino) collegabile che quindi si adatta perfettamente al fattore di forma di una scheda Arduino e alla dislocazione dei connettori. Lo sviluppatore di questo progetto, Ben Jordan, molto probabilmente ha importato un file .dxf per la forma (outline) e ha posizionato manualmente i connettori. Oppure ha cercato on-line e scaricato il progetto di un modello dello shield esistente. In passato quest'ultimo metodo era quello comunemente impiegato per progetti hardware open source: in sintesi si trattava di individuare un progetto o un modello on-line, aprirlo sfruttando il tool di progetto più adatto disponibile e da qui iniziare il processo di sviluppo del progetto. Prima di procedere a un'analisi più esaustiva del progetto è bene rilevare che, giusto al di sotto del nome del progetto stesso, spiccava un link accompagnato dal testo "sviluppato a partire da ProtoWuino". Cliccando su quel link è stato possibile risalire al progetto ProtoWuino, che si è rivelato essere l'originale modello della scheda. Si tratta di un approccio assai diverso all'hardware open source, un approccio dove il tool di progetto supporta la community. Il modello della scheda ProtoWuino è stato utilizzato per effettuare quel processo comunemente noto come biforcazione (fork), ovvero lo sviluppo di un nuovo progetto a partire da uno già esistente che ne rappresenta l'origine: grazie a questa operazione di forking il progettista è stato in grado di realizzare un circuito che integra nuove funzionalità in un formato pratico e funzionale.

Un luogo d'incontro fra forma e funzioni
Con il "forking", ovvero la biforcazione, di un progetto, si crea una copia dell'originale in modo da consentire al progettista di utilizzare la tecnologia esistente come punto di partenza per il nuovo design. Il progetto di Ben Jordan è un ottimo esempio di come sia possibile eseguire la "biforcazione" dei progetti e, nel momento in cui in CircuitMaker vengono aggiunti contenuti di riferimento, è possibile reperire nuove tipologie di progetti. Alla stesso modo di ProtoWuino, questi progetti di base sono espressamente realizzati per assicurare che i progetti sviluppati utilizzando la tecnica di "forking" soddisfino determinati requisiti in termini di fattore di forma e funzionalità. Sebbene un gran numero di modelli siano forniti direttamente dai produttori, la loro immediata disponibilità in CircuitMaker nel momento in cui si inizia un nuovo progetto permette di risparmiare tempo prezioso che sarebbe altrimenti speso per ricercare e importare le specifiche di progetto. I modelli possono essere suddivisi in varie categorie in base ai compiti e ai requisiti ai quali devono adempiere:

  • Modelli del fattore di forma - Essi consentono ai progetti ottenuti mediante l'operazione di "forking" di interfacciarsi con schede di prototipazione, baseboard o piattaforme standard. I modelli potrebbero inoltre essere utilizzati per soddisfare requisiti, in termini di forma e di adattamento, di contenitori specifici.
  • Modelli di connettori - Essi consentono l'integrazione con altri dispositivi hardware attraverso interfacce per connettori, come ad esempio interfacce di memoria Ddr o connettori Usb.
  • Modelli delle funzioni del progetto - Essi possono essere impiegati per specificare, dal punto di vista fisico, le funzioni del progetto hardware, come ad esempio l'esatta geometria di un'antenna o l'ubicazione ottimale della Mcu e delle periferiche per i nuovi progetti.

Il concetto di riutilizzo del progetto, o design reuse, è l'elemento fondamentale per la crescita della community che sviluppa hardware open source. I moduli funzionali presenti in CircuitMaker mettono a disposizione i circuiti richiesti per l'implementazione di determinate funzioni nel prodotto finale. Un progetto specifico per un modulo Bluetooth, ad esempio, fornisce tutti gli elementi di progetto logici e fisici per essere utilizzato come blocco base. Gli utenti dovranno semplicemente eseguire il "forking" del progetto e iniziare lo sviluppo di funzionalità aggiuntive attorno al progetto base. Ciascun progetto completato con CircuitMaker può essere considerato alla stregua di un progetto di riferimento. Sia che venga utilizzato come riferimento per un nuovo progetto o semplicemente scomposto e rielaborato per dare origine a una nuova scheda assemblata, i vantaggi di poter disporre di contenuti di questo tipo all'interno della community sono enormi. Mentre gli utenti della community rendono già disponibile un gran numero di esempi e progetti di riferimento, molti altri verranno aggiunti in futuro da Altium.

Il "forking" e l'evoluzione del progetto
Di per se stesso il processo di "forking" è semplice e lineare. E' sufficiente navigare o ricercare all'interno della "community vault" un progetto che può sembrare interessante e cliccare sul tasto "Fork" per crearne una copia. Senza dimenticare ovviamente la possibilità di seguire e tener traccia dell'evoluzione dei progetti.
Per ciascun progetto sono disponibili link ad altri progetti in qualche modo correlati (in pratica i genitori e i figli del progetto originale). Un progetto che ha riscosso successo all'interno della community può avere centinaia di "figli" che a loro volta potrebbero generare altri figli e così via. È facile comprendere che un ambiente come quello appena descritto è un terreno fertile per l'innovazione, che viene originata da un semplice modello o design di riferimento.

Uno sguardo al futuro
Come qualsiasi progetto che fornisca un contributo alla community di CircuitMaker, quello del display a Led con interfaccia Spi di Ben Jordan costituirà la base di partenza per future evoluzioni. La disponibilità di una gamma di progetti prodotti dalla community e la possibilità di condividerli all'interno di una singola locazione in CircuitMaker aprirà una nuova era per la progettazione hardware "open source". Ciò rappresenta solo l'inizio. Le operazioni di "biforcazione" e condivisione dei progetti hardware di tipo "open" apriranno la strada a una progettazione veramente basata su moduli. E non è sicuramente azzardato pensare a un futuro della progettazione open-source dove i moduli di progetto saranno in grado di abbinare il progetto fisico, l'integrazione software e le applicazioni lato server, con l'obiettivo di garantire una progettazione realmente connessa. Questo è sicuramente il momento migliore per iniziare a sfruttare le potenzialità della progettazione hardware open source. La versione beta "open" di CircuitMaker può essere scaricata all'indirizzo www.circuitmaker.com.

Pubblica i tuoi commenti