Ho fatto un giro in rete per vedere che schede similari offre il mercato. Questo serve anche per ispirarsi sulle soluzioni e tool da adottare. Ho trovato:
Maple (in tre versioni: normale, Mini e Native) e
Oak, che montano un
ARM Cortex M3 (STM32). Oak, in particolare, monta anche una FPGA Xilinx, che come dice
fairyvilje potrebbe essere utile per imparare il VHDL. Penso comunque che una FPGA si possa aggiungere in una scheda di espansione.
Maple normale (e credo anche Maple Native) hanno dei connettori con disposizione che li rende collegabili alle espansioni (dette "shields") di Arduino. Questa compatibilità può essere comoda per aggiungere e testare rapidamente alcune funzionalità con hardware già disponibile.
Comunque, volendo la compatibilità con gli shields Arduino, non è necessario averne i pin sulla scheda del micro, ma si può sempre fare una scheda adattatore e collegarla sul bus.
Ci sono altre schede "compatibili Arduino" a 32 bit:
Arduino Due, basato su
ARM Cortex M3 (Atmel SAM3),
vari
chipKIT della Microchip basati su
PIC32 (i prezzi sono
qui).
Armadillo monta un
ARM Cortex M3 (Atmel AT91SAM9263). Dalla web sembra un progetto vecchio di un paio d'anni e abbandonato.
Usa due doppie file laterali di connettori "densi" (passo 1,27 mm) per un totale di 120 pin.
Questo mi ispira una breve digressione "meccanica":
l'avere due file laterali di connettori permette un collegamento elettrico e anche un fissaggio meccanico stabile, adottato anche da Arduino, però limita il layout e possibilmente anche le possibilità di "crescita" delle schede (in altezza dei componenti e nel numero di schede). Forse è meglio tenere separato il collegamento meccanico da quello elettrico.
Con opportuni fori nei quattro angoli della scheda del micro, e fori corrispondenti nelle schede di espansione, si possono inserire lunghe viti con tubetti distanziatori per fissare in modo solido il tutto. Eventualmente con schede grandi si possono fare fori ogni tot millimetri e mantenere un certo "standard" per il collegamento meccanico tra le schede.
Una volta che le schede sono meccanicamente collegate e distanziate di quanto serve (dipendendo dall'altezza dei componenti), il bus di collegamento si può fare (in alternativa a una scheda rigida) con una piattina (flat cable) con fissati i connettori ogni tot, e si ha anche più libertà nel distanziare più o meno e posizionare le schede.
Mi rimetto però all'esperienza di chi ci lavora per decidere su questo fissaggio meccanico, che comunque non è incompatibile con altri metodi (es: si sviluppa con schede connesse elettricamente e meccanicamente da un bus rigido (back panel), e quando la realizzazione è definitiva si sostituisce il back panel con flat cable e viti per maggior compattezza e solidità).
Ho trovato poi altre schede, che però esulano un po' da questo tipo di progetto, e accettano monitor video, tastiera USB, una anche il mouse:
DuinoMite (con connettori Arduino, basato su
PIC32, programmabile in Basic - ma non è ancora defunto? - e C) e
Raspberry Pi (basato su
ARM11, con Linux, programmabile in Python e altri linguaggi).