# ADC to accumuate in 32 bit value: board, programming ?

Hello, I am looking for a board to add 12-bit ADC values in a 32 bit value. I have looked at the arduino due, but 32b math on a 16 arduino might be OK. Here are general questions: -which board? This doesn't have to be super-fast, 1000 conversions per second good. -should add the ADC value to a 32 bit location. -32 bit number should be periodically inspectable. -programming exanples show use of 32b math. (adds)

I have looked at due. But haven't found anywhere use of 32 bit math. My guess was it should do 32 bit since its a 32b chip. But I haven't found any examples of that, just general statements that its programming is similar to the arduino-16.

So: This question may devolve into: 16 or 32? (assuming 32b math can be done on the 16)

Any help appreciated. TIA John

I am looking for a board to add 12-bit ADC values in a 32 bit value.

This sentence doesn't make sense, you can't add up values to get such high resolution. Theoretically, there is oversampling, which does same things, only you need 4 samples per 1 bit, so to rise 12-bit up to 32, 4^18 = 68719476736 times oversampling required, and practically - not possible. Why do you think you need 32-bit? If it's not about resolution, just 32-bit math question, than any board can do this, including 8-bitters like UNO, just a few times slower than 32-bitters. Put more info what is the subject of your project.

"Why need 32 bit?"

I am accumulating 12 bit values - maybe up to 1,000,000 of them - and they are added together.

JB

In lock-in amplifiers, such as used for astronomy, many measurements of the same thing are added together. The fluctuations in the noise increases as the SQRT of the number of measurements, whereas the signal itself increases linearly. Suppose your signal is 1 and noise is 1000, in a single measurement. Now do 1000 measurements. It is buried, since the noise fluctuations are 1000 and signal is 1000. Now increase measurements to 10,000. noise fluctuations are now 3000 and signal is 10,000. It has emerged.

Obviously, ADC speed is important here too.

If there is nothing else like filtering, HPF/LPF/etc, than 1000 add accumulate operation 'd be possible on UNO, I think it could drive 32-bit math (integer) MAC up to 40 kHz or so. All you have to do , just cast variables as long,

yes, uno is limited to 10 bits, but due does 12.

I don't think for your application 10 or 12 bit 'd have much difference, synchronization of conversion / phase jitter seems more important. You can always get 16/24 bit external ADC for UNO. What about front -end, if you need amplification than Leonardo also good choice, with internal PGA (programmable gain amplifier).

Thank you for your input. You seem to be leaning toward the uno or Leonardo rather than due Any overall reasons for that? If I could do 32b math on the uno/Leo, that would be a good start. Is the overall reason that the SW ide is better tested on the Leo? Just asking. John

main contenders now uno due pi beagle bone maple

I have settled on an uno with mcp3201 ADC - for now. amplifier circuits are "inamps" availble from AD, National, etc. Each transducer type requires a different amp type.

Could you share your diagram and current results which might be possible to understand and help to each other?