Feasibility of project with Arduino Leonardo

I am working on a studying project, where I need to do the simultaneous acquisition on 8 channels of 8 analogical signals (simple inputs) during 2 s and at a frequency of 10 KHz minimum for each channel. The acquisition should be compatible with Matlab for processing the data on a second part of the project. I read about Arduino Leonardo and I would like to have your opinion on the feasibility of the project. Maybe could you advice me another component? I have an acquisition card ( 4 V and 4 I ) to adapt voltage and current. Do I need other components to do the acquisition with Arduino?

I thank you in advance. Regards,

you are sampling 8 channels each at 10Ksamples/second I doubt if the Arduino Leonardo could do that - consider an Arduino Due using DMA? also how many bits/sample (8, 12, 16)? how do you intend to transfer 80Kbytes or more samples/second to Matlab (WiFi, Ethernet) ?

Hi Horace, Thanks for your help.

I did some research on Arduino Due and it does not seem compatible with Matlab. Why do you think that Leonardo won't work ? Not enough sampling frequency ? Then, I need 12 bites. I was thinking that I could use the USB port to transfer data ? is it possible to do that in real time or do we necessary need to store all the data before sending to the computer? Could you also explain me why you speak about DMA and not Buffer ? Thanks a lot.

Have you attempted to sample eight 12bit ADC channels at 10KHz on the Leonardo ? does it work? I have used a dsPIC for a similar application sampling using DMA into two buffers - while one buffer was being filled (using DMA) the other buffer was being processed using an FFT you are acquiring 80000 12 bit samples/second which are are intending to transfer over USB I know the Leonardo supports the USB HID protocol which in general has a limitation 40Kbytes/second does it support other USB protocols?

An analogRead takes approximately 100 us. In theory you can do 10 kHz sampling at max. Doing 8 channels simultaneously will reduce that to 1.25 kHz.

Numbers are taken from the analogRead reference page and I think that they apply to the Leonardo.

Where did you read that the Due can't work with matlab? I'm not familiar with matlab but thought that it's normal serial communication.

section 43.2 of the ATsam3x8e datasheet (used in the Due) specifies 1 MHz Conversion Rate section 26 lists the ADC as one of the devices support by the Peripheral DMA Controller also worth looking at how-to-use-the-native-usb-of-the-arduino-due-for-highspeed-communication/