Official topic: multicotteri con arduino!

lesto:
Il problema delle diverse frequenze di lavoro o rumore (Non credo di aver visto in nessun software l'eliminazione di rumore, anche se magari lo fanno pre-filtro kallmann, che tipo di formule intendi usare? un filtro passa basso?)

Il rumore si elimina tramite il Kalman, la banda ha molta importanza per il pid.

ce le abbiamo comunque perché la freeimu usa il BMA180, tu (da quel che ho capito) hai disponibile il ADXL345, io e federico l'ADXL335. Non ho controllato, ma spero che tra il 345 e il 335 cambi solo la possibilità di interfaccia I2C.

Il 345 dalla sua ha la possibilità di lavorare con fondo scala +/- 2G,4G,8G, 16G, selezionabili da software, come anche il BMA180, ha molto meno rumore del 335 perché al suo interno c'è un filtro digitale che esegue una prima pulizia, ha una banda reale di oltre 200 Hz contro i 100 scarsi del 335.

Per i discorso software si implementa in C ANSI, niente C++ sprecone di risorse e tempo macchina, non si usano le funzioni pappa pronta di wiring, anche loro sprecone, e tantomeno cose come la millis e la digital.qualcosa etc, sarà un software che va a sfruttare al 100% le possibilità degli ATmega.
La questione hardware diversi viene gestite tramite una libreria di funzioni con compilazione condizionale, ovvero tutte le varie parti hardware sono gestite da funzioni con lo stesso nome, p.e. Acc_Read(), però cambia la funzione che viene realmente compilata a seconda delle define, ovviamente tutte raccolte in un file .h dedicato e organizzato in modo logico, nel programma principale non ci deve essere confusione.

pps. mi piace l'idea di avere una board,ma la farei già completa di sensori. E' ancora presto per pensarci, se hai i mezzi è molto comodo farsela.

Inutile dire che l'ideale è lavorare con una sola board dove sopra c'è una MCU ben definita e tutti i sensori, però è una cosa costosa da realizzare in piccole quantità.