Optical sensor: which controller to use?

Hi all,

Completely new to Arduino so please excuse my ignorance. I was wondering whether someone would mind commenting on the best controller to use given the following requirements:

I'm wanting to build a portable (battery operated) optical sensor. The requirements are:

16 bit ADC
narrow form factor (ie 2.1")
onboard data storage (ie CompactFlash or SD)
ability to drive a LED during measurement
ability to drive a motor to control a shutter
ability to read data off the storage via UART or ethernet

The device will take measurements a few times each hour, and then store the data to the card. For most of the time, it will be doing nothing, so there is also a need to operate in a standby/low power mode when not in operation.

I understand that most (all?) of the Arduino boards host 10 bit ADCs, so adding a high resolution ADC via a SPI interface is probably the way to go.

Can a SD card reader be hosted off the same SPI pins? Or would I need a controller with multiple sets of SPI pins?

Any suggestions welcome! Thanks in advance!

16 bit ADC
narrow form factor (ie 2.1")
onboard data storage (ie CompactFlash or SD)
ability to drive a LED during measurement
ability to drive a motor to control a shutter
ability to read data off the storage via UART or ethernet

Arduino -
12 bit ADC
Namao board very small
small amount of EEPROM SD requires a shield plugin
40mA per output pin pleant for LED
You would need a transistor or motor shield for the motor
USB connection and hardware UART
Ethernet shield available

Shields can be stacked, but probably not all of the ones I mentioned above at the same time :wink: