
Nel 2010, la Texas Instruments ha presentato una scheda di sviluppo e prototipazione basata sui microcontrollori MSP430 della serie Value Line: MSP430G2xxx LaunchPad Value Line. Il costo era poco più di 3 € e oggi possiamo averla a poco più di 7. Vediamola meglio insieme per capirne pregi e attrattive.
Come mai una scheda così potente e a così basso costo, è stata fortemente sottovalutata qui in Italia? Forse non è stata abbastanza pubblicizzata (come invece è successo per Arduino). Il vantaggio di utilizzare il LaunchPad MSP430G2xxx al posto di Arduino è che questo dispositivo costa molto meno e quindi se dobbiamo utilizzarlo per applicazioni dove Arduino risulta troppo costoso è economicamente più valida la scelta del LaunchPad. Altro vantaggio è il bassissimo consumo quindi se un progetto deve funzionare a batteria, la scelta di MSP430 è la soluzione ideale perchè renderà la vita della batteria molto più longeva. Osserveremo alcune delle caratteristiche interne degli MSP430 che ci permetteranno di scegliere il microcontrollore più adatto alle nostre esigenze.
Apriamo la confezione
All'interno troviamo 5 bustine di cui 4 antistatiche.
Nella prima busta vi è la schedina MSP430 revisione 1.5 (programmatore, debugger e scheda prototipo) che presenta già montato l'M430G2553 (Microcontrollore a 16 bit con 16 KB di memoria flash) questo dispositivo è già programmato con una applicazione demo (che vedremo in seguito).
Le dimensioni della scheda sono di appena 65 mm x 50 mm, poco meno di una carta di credito. Controllare la revisione è molto importante perchè vi è differenza, tra le varie versioni, nella disposizione dei ponticelli del programmatore (Spy by Wire).
Nella seconda busta vi è l'M430G2452 (Microcontrollore a 16 bit con 8 KB di memoria flash).
Nella terza busta vi è un Micro Crystal da 32.768 KHz (possiamo trovare informazioni qui).
Nella quarta busta vi sono due connettori a 10 pin.
Nella quinta busta vi è un cavo mini USB da 50 cm circa.
Per ultimo, un manualetto (quick start guide) e due adesivi.
On-board troviamo il chip TUSB3410 che esegue la conversione USB/seriale, a fianco troviamo ancora un chip M430F1612 preprogrammato che viene utilizzato come debugger.
Sono facili da individuare, inoltre, le piazzole per saldare un connettore a 6 pin per l'EZ430.
Microcontrollori 16 bit della serie MSP430G2xxx
Si tratta di un microcontrollore a 16 bit Ultra Low Power basato su memoria Flash ottimizzato per un basso costo. Frequenza di calcolo fino a 16 MIPS con tensioni operative da 1.8 V a 3.6 V. Memoria interna fino a 16 KB e un ampio range di periferiche intelligenti digitali. VLO (Very Low power Oscillator) e opzione di resistori pull-up pull-down su ogni I/O pin.
Ultra Low Power
- 0.1 uA RAM retention;
- 0.4 uA Standby mode (VLO);
- 0.7 uA real-time clock mode;
- 220 uA / MIPS active.
Ultra-Fast Wake-Up From Standby Mode in <1 us
Parametri
- Flash Options: 0.5 KB – 16 KB;
- RAM Options: 128 B - 512 B;
- GPIO Options: 10, 16, 24 pins;
- ADC Options: Slope, 10 - bit SAR;
- Altre periferiche integrate: Analog Comparator.
MSP430 sta per Mixed Signal Controller, quindi è paragonabile ad un DSP (Digital Signal Processor), sono stati progettati con un´architettura a 16 bit RISC (Reduced Instruction Set Controller) di tipo Von Neumann, in cui un unico spazio di memoria viene utilizzato sia per la memoria programma che per la memoria dati.
Questa architettura porta ad avere una semplicità di utilizzo tale che molti preferiscono programmare gli MSP430 in assembly. Gli MSP430 sono di una facilità di utilizzo estrema perchè hanno un set di istruzioni piuttosto ristretto, solo 27 istruzioni più 24 emulate.
Gli MSP430 integrano al loro interno molte periferiche analogiche rendendoli un'ottima scelta per applicazioni con sensori. Tra le periferiche analogiche di maggior rilievo troviamo:
- ADC 10 bit (di tipo SAR, ovvero ad approssimazioni successive);
- ADC 12 bit (di tipo SAR, ovvero ad approssimazioni successive);
- ADC 16 bit (di tipo Sigma Delta, con ingressi single endedd e differenziali);
- ADC 24 bit (di tipo Sigma Delta, con ingressi single endedd e differenziali);
- Comparatori;
- Amplificatori Operazionali;
- Cap Touch (Sensori capacitivi);
- Scan Interface (periferica simile ai moduli per encoder);
- Transceiver RF (Modulo RX e TX per frequenze <1 GHz).
Possiamo sbizzarrirci nella programmazione, visto che è supportato da diversi tools di sviluppo che si possono scaricare liberamente (anche se le versioni free hanno qualche limitazione).
Uno dei software che ci permette di programmare gli MSP430 della Value Line è la versione di Code Composer Studio limitata nella dimensione del codice compilabile. Infatti tale versione, seppur limitata nelle dimensioni del codice compilato, permette di ottenere codici fino a 16 KB, ovvero la dimensione massima della memoria flash disponibile negli MSP430G2xxx (Value Line) . Prima di collegare il LaunchPad è bene aver preventivamente installato l´ambiente di sviluppo Code Composer Studio. Infatti con l´installazione di Code Composer Studio vengono installati i driver necessari al LaunchPad. La pagina per scaricare Code Composer Studio la si può trovare qui
Chi è abituato ad ambienti di sviluppo tipo IAR Embedded Workbench Kickstart, può scaricare la versione limitata qui
Abbiamo, ancora, MSPGCC che supporta tutti i dispositivi MSP430, lavora in Windows, Linux e Mac, possiamo scaricarlo qui
Un tool di sviluppo che permette di programmare gli MSP430 grazie alla scheda LaunchPad con le stesse modalità di un comune Arduino, eredita addirittura librerie e modo di utilizzo (unica eccezione sono i pin di uscita nominati in modo diverso), è Energia ed è scaricabile qui. Il programma è identico all'IDE classico di Arduino ed utilizzandolo si nota subito che, a parte la nomenclatura dei pin di I/O, tutto il resto è per la maggior parte equivalente.
Sul sito della ti.com/launchpad possiamo, inoltre, scaricare le guide: User Guide del LaunchPad slau318d e slau144j (e molte altre, oltre a programmi di esempio) e possiamo trovare tutte le indicazioni che ci servono per iniziare a programmare il nostro microcontrollore. Sempre nel sito della ti.com/launchpad troviamo anche un forum dedicato all'MSP430.
Mentre, per chi mastica poco l'inglese, un sito completamente in italiano (credo sia l'unico in italiano), lo potrete trovare qui; troviamo il relativo forum (molte delle informazioni che ho scritto le ho prese da questo sito e mi è doveroso un sentito ringraziamento a Mauro Laurenti che, in questo periodo sta postando un corso, completamente in italiano, in più parti proprio sugli MSP430).
Parte I 16-10-2011 MSP430: Microcontrollori Ultra Low Power;
Parte II 23-10-2011 MSP430: Strumenti per Iniziare;
Parte III 11-12-2011 MSP430: Code Composer Studio e LaunchPad;
Parte IV- 1 15-04-2012 MSP430: Architettura e periferiche Ultra Low Power (Parte 1);
Parte IV- 2 22-04-2012 MSP430: Architettura e periferiche Ultra Low Power (Parte 2);
Parte V 13-05-2012 MSP430: Hello World;
Parte VI 01-07-2012 MSP430: Utilizzo ed impostazione delle Porte I/O;
Parte VII 18-11-2012 MSP430: Il modulo di distribuzione del Clock e modalità Ultra Low Power;
Parte VIII 10-03-2013 MSP430: Le interruzioni e le modalità Ultra Low Power;
Parte IX-1 13-10-2013 MSP430: Utilizzo del Modulo Timer_A (Parte 1);
Parte IX-2 13-10-2013 MSP430: Utilizzo del Modulo Timer_A (Parte 2).
Stiamo aspettando il prosieguo del corso con impazienza (almeno io che ho iniziato da poco). Ho letto avidamente tutto il corso e, devo dire che è molto ben spiegato ed è evidente che Mauro Laurenti è una persona più che preparata. Quindi consiglio vivamente, a chi vuole intraprendere l'approccio con il launchPad, di dare una attenta occhiata a questo corso.
Colleghiamo il nostro LaunchPad
Nella seconda parte, di questo mini-corso, vedremo come preparare in casa shield aggiuntive ed anche qualche esempio di programmazione; mi occorre solo il tempo di imparare a conoscere meglio questa (per me) fantastica scheda.
Mi permetto di consigliare alcuni link di articoli presentati sempre qui su EOS:
Programmatore AVR Atmel con LaunchPad un esperimento presentato da Piero Boccadoro;
MSP430 Il Microcontroller a Ultra Bassa Potenza viene presentata la famiglia MSP430;
Low Power Contest che non è altro che un test per verificare quale microcontrollore consuma meno (fra i tre provati);
MSP430 in omaggio breve presentazione della scheda da parte di Emanuele Bonanni.
Spero di aver fatto cosa gradita a molti e, di poter leggere ben presto di nuovi progetti.
Mario Venoso

Ciao Mario,
ho seguito anch’io una parte del corso di Mauro, poi per impegni vari non l’ho più proseguito.
Una cosa che mi rimase impressa di tale corso fu un riferimento alla possibilità di alimentare un MSP430 (il singolo chip, non la scheda launchpad) con un acino d’uva, tanto è basso il suo assorbimento (non ci ho mai provato, magari poi si rivela una bufala come il “mito” dell’iPod che si alimenta tramite una cipolla…).
Ad ogni modo, realtà o finzione che sia, è ampiamente riconosciuto che gli msp430 siano ottimi in tutti quei contesti dove l’energia impiegabile è un fattore critico.
Di launchpad ne ho una anche io, purtroppo nuova e chiusa in un cassetto, e leggere articoli come questo mi fa venire voglia di riaprire il cassetto… 😉
Spero non tarderanno altre occasioni per leggere nel blog altre curiosità su questi piccoli gioiellini di casa T.I.
Per altri progetti mi sono trovato ad avere a che fare con questa azienda e, sebbene nei loro siti web a volte ci sia da perdersi, si sono comunque rivelati sempre esaurienti e professionali.
Complimenti per l’articolo: ora ti saluto, vado ad aprire quel famoso cassetto…
Ciao Mario,
Ecco quì l’articolo! 🙂
Ricordo ancora quando hai scritto esattemente questo post
Vedo che hai avuto il tempo di scrivere un articolo dettagliatissimo su questa board.
Voglio farti i miei complimenti in quanto questo articolo può essere un punto di partenza per chi è alla ricerca di una scheda di sviluppo e prototipazione alternativa a basso costo e a basso consumo alle solite (ed ottime!) schede Arduino.
Nulla vieta, come hai appunto scritto in questo articolo, di programmarla ed utilizzarla tramite il Software di sviluppo Energia, come Arduino.
Adesso, voglio proprio vedere qualche applicazione realizzata con questa board, perciò tienici aggiornati sulle novità.
A presto,
Ivan
Ciao Mario
Riprendendo quanto ha detto Ivan, avendo parlato della scheda solo il 3 ottobre, sei riuscito a scrivere un ottimo articolo ricco di riferimenti che permettono di conoscere questa scheda e del micro-controllore a essa associata.
Avevo pensato di prenderla anch’io ma ho già tanti progetti in corso che non volevo mettere altra carne al fuoco.
Resto comunque in attesa dei prossimi articoli di approfondimento, proponendo magari di utilizzare la scheda per comandare un piccolo robot con l’integrazione di qualche sensore e affiancandola a una scheda di controllo motori
Visto il prezzo, potrebbe essere un’idea da proporre agli studenti dell’ultimo anno di scuola secondaria di secondo grado come tesina d’esame.
Saluti
Adriano
Questa dell’acino d’uva mi riporta indietro di “qualche annetto” quando, da ragazzo, provavo a fare esperimenti con i limoni, la “batteria” composta da una ventina di limoni funzionava ma durava pochi secondi 🙂 certo però che la soddisfazione era tanta…
La frase di Mauro Laurenti sui “tre acini d’uva”, secondo me, è per far notare “vistosamente” quanto sia basso l’assorbimento dell’MSP430, daltronde ne abbiamo avuto conferma dall’articolo “Low Power Contest”.
Sono contento di essere stato la causa della “riapertura del cassetto” 🙂
La seconda parte sul LaunchPad è quasi pronta, mancano solo alcune foto e un controllo generale su eventuali “sviste”.
Per Adriano: non correre così tanto 🙂 prima di riuscire ad affiancarla a una scheda di controllo motori devo imparare a conoscerla meglio, ciò che ho scritto nell’articolo è solo una piccola parte, il resto verrà a mano a mano che andrò avanti nello studio e sarà condiviso qui.
Ottima l’idea sulla tesina d’esame.
Vi ringrazio per i complimenti che mi gratificano molto.
Ciao
Mario
Da un pò sto pensando di comprarla…
Bell’articolo,complimenti!
Volevo anche segnalarvi un adattatore che permette di montare le shield Arduino su questa piattaforma:
http://www.robot-domestici.it/joomla/component/virtuemart/Arduino/arduino-compatibili/adattatore-msp-arduino
Voi cosa ne pensate?
Saluti,
Andrea
Ciao randow
intanto grazie per i complimenti, non conosco l’adattatore del link, così a prima vista sembra valido, però bisognerebbe provarlo prima di poter dire se fa il suo lavoro, anche se credo che sicuramente funzionerà bene, daltronde si limita solo ad adattare la piedinatura di Arduino con quella dell’MSP430.
Devo, invece, fare una piccola precisazione sul mio post precedente per quanto riguarda i tre acini d’uva, a quanto pare esiste un video della Texas in cui si vede come alimentare l’MSP430 con i tre acini d’uva (e molto altro) 🙂 ed è incredibilmente interessante. 20 limoni duravano solo una manciata di secondi con una piccola lampadina a 12 volt (le mie prove di 40 anni fa) mentre 3 singoli chicchi d’uva oggi fanno faville 😀
http://www.laurtec.it/forum/36-msp430/7362-articolo-msp430