10 Replies Latest reply on Jun 14, 2016 12:05 PM by Flo1991

    ADC Sampling


      Hi, i have an intel edsion gen2 board.i have interfaced with analog sensor ADXL335,i am using arduino IDE.i need to know about sampling rate with which ADS7951 sampling the data.On arduino IDE i have used 1 second of  Timer interuupt and Delay of 1 millisec between each samples.

      when i have given serial print in every one second i am able to get samples(640-680).

      Can anyone tell me wat's the problem  for non uniform sampling data which are obtaining on serial monitor???

      Can anyone guide me how to increase the sampling rate so that i can able to read maximum samples for everysecond on serial monitor.??

      because i have to process on that adc data farther??


      please make it soon....

        • 1. Re: ADC Sampling
          Intel Corporation
          This message was posted on behalf of Intel Corporation

          Hello rahul147258,

          What do you mean by "...i have an intel edsion gen2 board…"? There's only one model of Edison available, on the other side the Galileo has a Gen 1 and Gen2 versions. Are you using a Galileo Gen 2 or an Edison?

          Regarding your question, could you please share the code you are using in your project? We would like to check it to see how you are implementing the sensor.


          • 2. Re: ADC Sampling



            I am using Edison break out board I am sending link of the board.


            I am using Arduino framework in order to read the analog sensors data.


            as u can see this is the code which I have written in order read data an display on every one

            second.but I am able to collect only (646-660) samples in one second.can u tell me how can I increase the samples in one second.or else how I can I infer the sampling rate from this.??


            make it soon'


            • 3. Re: ADC Sampling

              You wait 1 ms between each sample so your max. sample rate can be 1000 (if everthing else you do takes no time)


              For faster sampling you should do:

              (1) do not use a delay

              (2) do not do anything during the measurement what is not necessary (typecasting, calculations etc.)



              1 of 1 people found this helpful
              • 4. Re: ADC Sampling

                Hi Flo1991

                1).when I am not providing (delay(1)) then I am not getting single sample also and serial monitor window is completely blank.

                so to avoid that I am using delay(1)...

                2). right now.. I am not performing any operation.. after sensor data  acquired but I need to get more samples. How to achieve that??

                3).how can u say  that if I provide 1 millisecond I will get maximum..1000 samples..can u explain it??




                • 5. Re: ADC Sampling

                  1, Ok so without a delay the measurement is "too fast", try a shorter delay: Arduino - DelayMicroseconds
                  3, an ADC measurement does only "one shot" and you get the result. So in 1 second you can only get 1000 results if you wait 1 ms after every "shot"

                  2, Furthermore look at this thread: Re: Intel Edison Arduino breakout board ADC sampling rate slow , but maybe the newest image can reach some higher rates...


                  -->For fast sampling you should use an external ADC, for example http://www.ti.com/lit/ds/snas415f/snas415f.pdf as an i2c device, or you use the adc of the intel edison (ADS7951 | Precision ADC (<=10MSPS) | Analog to Digital Converter | Description & parametrics ) externally



                  • 6. Re: ADC Sampling

                    Hi Flo1991


                    I have gone through all the links above. They say I have to run the program on eclipse, I hav to code it..But I am not able to find the way of increasing the samples for one second ..

                    ok can u explain y I am getting only (646 to 700) range of samples..wa basis??can u explain that..

                    Even ADS7951 also have 1MHZ sampling Rate..???

                    How come...??can u explain..



                    • 7. Re: ADC Sampling

                      The sampling rate of the ADS7951 is the maximum value that the ADC can handle. So you can get 1 000 000 samples per second, if you bus is fast enough to get this data.

                      The ADS7951 is connected via the SPI bus to the edison. This means that the bus of the edison must be fast enough to get this sampling rate. The behaviour of the bus

                      depends on the OS that is controlling the SPI interface. As you can see the OS / the SPI interface is not fast enough to achieve 1 000 000 samples. The problem is not the

                      speed of the edison, but the interface speed.

                      You can compare it to your computer. Your graphics card may be fast enough to calculate 1 000 frames per second, but your monitor

                      can never displays this amount of frames. So a solution to achieve a higher frame rate may be another display technology.


                      For the ADC problem you could also switch the interface to get a high sampling rate.

                      If you just want to increase your sampling rate a bit (some more speed should be possible) you should reduce the delay time.

                      So you should use a delay around some microseconds.



                      1 of 1 people found this helpful
                      • 8. Re: ADC Sampling

                        Thanks Flo1991


                        I really thanking u for this good answer.

                        As u mention


                        "For the ADC problem you could also switch the interface to get a high sampling rate".how to do that...because the the interfaces uses SPI interfaces from ADC so it must give maximum samples rate..??correct if I am wrong??


                        When I am using Delay ((Delay(.01))) I am getting samples less I am getting samples range of 100 to 200samples for everysecond ...?? other display Technology means..can u suggest me some else??

                        • 9. Re: ADC Sampling

                          Hi flo 1991


                          However I am using Arduino ide for interfacing with sensor can u tell me is
                          their anyway to increase the sampling rate via importing "MRAA and UPM
                          " if yes HOW?? can u tell me after installing these
                          libraries Where  can store the libraries so that My arduino sketch can
                          Utilize it...HOW to utilize that libraries and  if u can give some steps or
                          some code example??



                          2) suppose if am switching on eclipse  on windows what are the
                          advantages can I get over Arduino.

                          3) when I wanted to look for an IP address of Intel Edison I am not
                          getting..??what is the way of it..I am able to find in device manager but I am
                          not getting IP.By the way I am using C/C++ eclipse Developer IDE. I followed
                          the all step I am not able to find IP of Intel Edison an dhow to do on
                          serial terminal. Can u tell me??


                          One more thing as u said Since OS can not bale to handle the SPI bus..so if
                          I swith to Linux is it  possible ??




                          • 10. Re: ADC Sampling

                            If you switch to the eclipse IDE you can write your code in C/C++, use everything that linux supports without the "arduino emulation" in between.

                            You get full access to the system. So you can do the things with a better performance and even do things that are impossible with the arduino IDE. Some examples

                            are threading, thread configuration, full memory access etc...

                            I would suggest to try this getting started guide:

                            Edison Getting Started Guide - learn.sparkfun.com

                            You must connect your edison to your wifi network, your pc must also be connected to this network.


                            If you want to use the onboard adc you cannot switch the interface. For this you need an external adc that is for example connected to the I2C port of the breakout.


                            I would say try out the getting started guide and try the eclipse IDE.