How to make Faster Time Sampling for Arduino until 1 MHz?

Hello,

i would like to build a simple data acquisition with frequency sampling 1 MHz or sampling every 1 us. but the problem that the maximum time sampling for arduino uno and mega is 100us. is it limited by the ADC or the ATMEL IC?

if the problem is the ADC, is there any faster ADC and how to connect it with arduino?

Thank you

An Arduino DUE can sample 1 Msps in freerun mode (from Sam3x datasheet page 1318):

43.2 Embedded Characteristics

12-bit Resolution
1 MHz Conversion Rate
….

There's no point sampling at such high speeds on an Uno or even a Mega, as they don't have anything
like enough RAM to store the samples in, or enough processing power to process them in real time.

You are looking for something more like a real DSP perhaps?

What are you looking to do?

ard_newbie:
An Arduino DUE can sample 1 Msps in freerun mode (from Sam3x datasheet page 1318):

43.2 Embedded Characteristics

12-bit Resolution
1 MHz Conversion Rate
….

oh thank you for the information

MarkT:
There's no point sampling at such high speeds on an Uno or even a Mega, as they don't have anything
like enough RAM to store the samples in, or enough processing power to process them in real time.

You are looking for something more like a real DSP perhaps?

What are you looking to do?

i would like to real-time process a signal from ultrasonic transducer, and the frequency of the signal is around 500 KHz, i have searched some good oscilloscope, but with the oscilloscope, the problem is the signal can't be processed in a real-time condition.

That's DSP/FPGA territory, not microcontroller territory.

Incidentally something like this might be of interest: Kovacs Lab - DSP Shield

Most of the time, people don't digitize the acoustic signal unless wanting to measure a phase shift. Even at a 1MHz, a 500KHz signal is too fast to capture usable signal fidelity. I wouldn't want anything less than 3MHz sample rate.

I'm not sure this will help. However, if the acoustic transducer is pulsed, then you might use a detection circuit for timing the response. Perhaps simply a comparator circuit.

If it's a continuous wave, mix it with a known frequency and measure the difference frequency.

Hey MarkT

I have a similar doubt. I want to send analogue voltage values from a sensor to my laptop wirelessly at high speed. My sampling rate will be around 120000/sec. I was considering to use MKR1000 which has a clock speed of 48MHz and an inbuilt wifi module(suits my experimental conditions) Now the whole process from reading the voltage value to collection in my laptop should take place withinin 10 microseconds. So, is it a good choice? Any advice from anybody else will be highly appreciated

Thank You

Ultrasonic thickness testers use frequencies in the MHz range, and use a fair bit of analog signal processing, which reduces the load on a processor considerably.

Allan