there is a specific project I am trying to tackle using an Arduino, but I'm fairly new to this topic, which is why I would appreciate your help on choosing the right components and overall circuit.

I want to digitalize an analog signal with the following constraints:

-> voltage range of the signal: 0 - 4 V
-> desired precision/resolution: 0.1 mV

From those two parameters, I conclude for the ENOB (x being the minimal ENOB I need):

- 2^x = max. voltage range  /  voltage resolution
- 2^x = 4V / 0.1 mV
----> x = ENOB = 15.288    (please correct me, if there is something wrong with that)

The signals coming in have a length of around 50 microsecs, given that I want to reconstruct them as well as possible, I am aiming for:

sampling rate: 40 megasamples / sec (--> every 25 ns if I am not completely wrong :D) (I am aware that this is much of a constraint, if you say it is too high of a goal, what do you consider a doable sampling rate?)

Therefore, summing up what I am looking for, I would need an ADC with:

---> ENOB >= 15.288 Byte
---> sampling rate 40 MSPS

Now I am pretty sure the internal ADC of an Arduino can't do that which is why I am trying to find an external ADC to connect to it, so I can use the Arduino mainly to run some other code with the data without being limited by its ADC's capabilities. On that topic the following question arises:

  • Are there chips meeting all those constraints? (Of course, I am also searching but I thought I'll just pop the question, maybe some of you know something right away :))

Otherwise, here are my questions / insecurities:

  • Is the stuff (calculations, thoughts, ...) I showed by now right / reasonable?
  • Is there anything else (other characteristics etc.) I should pay more attention to when choosing the ADC?
  • Can you recommend a specific tutorial (I saw a few that I could post the links for, but maybe the specialists among you consider a specific one especially nice) on how to make the ADC - Arduino connection work properly?

Thank you very much in advance, I look forward to your answers and suggestions. :)

  • \$\begingroup\$ I don't think this is a job for an Arduino ... at least not as you've described it. Maybe if you give a little more detail on the nature of these signals, someone could propose something achievable. \$\endgroup\$ – brhans Jun 24 at 13:45
  • 1
    \$\begingroup\$ To sample at 40Msps you will need a processor running at a clock frequency considerably higher than that. I think your Arduino is too slow by a factor of 10 (if it's an ATmega processor). \$\endgroup\$ – Elliot Alderson Jun 24 at 14:21
  • \$\begingroup\$ @ElliotAlderson - I currently work with an Arduino Uno R3 ... maybe I could use a Raspberry Pi instead? :D My other questions would still stand in that case, of course ... \$\endgroup\$ – michelangelov Jun 24 at 16:08
  • \$\begingroup\$ @brhans This is supposed to convert signals coming out of an ionisation chamber ... the numbers I gave you are based on what we know about those signals... I just want to process the output analog signals :) \$\endgroup\$ – michelangelov Jun 24 at 16:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.