element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Raspberry Pi
  • Products
  • More
Raspberry Pi
Raspberry Pi Forum How can I acquire analog signals with Raspberry Pi?
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Raspberry Pi to participate - click to join for free!
Featured Articles
Announcing Pi
Technical Specifications
Raspberry Pi FAQs
Win a Pi
Raspberry Pi Wishlist
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Not Answered
  • Replies 16 replies
  • Subscribers 665 subscribers
  • Views 2007 views
  • Users 0 members are here
  • raspberry
  • pi
  • raspberry_pi
  • analog
Related

How can I acquire analog signals with Raspberry Pi?

Srin
Srin over 11 years ago

Hello every one.

                         I have an idea which needs acquiring a analog signal and the processor board will be Raspberry Pi. Any ideas how it can be done? Any accessories or does it some external circuitry?

 

Please Advise.

  • Sign in to reply
  • Cancel
Parents
  • Problemchild
    0 Problemchild over 11 years ago

    Most obvious ways as probably already stated here are:

     

    Gertboard from E14

    A/D such as the MCP3008 on the SPI bus

     

    Add an Arduino to the USB and use it's Analog Inputs

     

    Use one of those  instrumentation logging devices that connect to USB as long as you have Linux support you should be good!

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Reply
  • Problemchild
    0 Problemchild over 11 years ago

    Most obvious ways as probably already stated here are:

     

    Gertboard from E14

    A/D such as the MCP3008 on the SPI bus

     

    Add an Arduino to the USB and use it's Analog Inputs

     

    Use one of those  instrumentation logging devices that connect to USB as long as you have Linux support you should be good!

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Children
  • michaelkellett
    0 michaelkellett over 11 years ago in reply to Problemchild

    @John,

    Unfortunately neither of these parts will meet Srin's spec:

     

    MCP3008 only 10 bit, Gertboard only 10 bit - but Gertboard is easy to connect to Rpi.

     

    @ Srin, I'm going home now, where I don't do Internet, but I'll see what I can think of and let you know, probably tomorrow. It's likely to be based on ST ARM micro like STM32F3 or 4 series which you can buy on a £10 dev board or just buy chips. You get 12bit ADC, 1Mhz (per ADC, some of the chips have three) sampling rates - can easily do SPI interface to Pi.

     

    MK

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Robert Peter Oakes
    0 Robert Peter Oakes over 11 years ago in reply to michaelkellett

    your ask regarding sampling speed is quite low, the ADC on both the above boards can run significantly faster than your needs to even though the actual ADC is not at the right number of bits you can over sample to gain that resolution

     

    lockup oversampling ADC to increase resolution on Google. If it does not provide what your looking for then let me know, this will allow the GETBOARD or MCP3008 to meet your needs


    the MSP3008 will sample up to 200K samples per second, more than enough

     

    Peter

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • michaelkellett
    0 michaelkellett over 11 years ago in reply to Robert Peter Oakes

    There is an interesting article on eversampling on Atmel's website - look for

    "AVR121: Enhancing ADC resolution by oversampling".

    To gain 2 bits of resolution you need guassian noise for dithering and 16x oversampling, so for Srin's 10kHz at 12 bits the 10 bit converter needs to run at 160kHz per channel or 640kHz for 4 - way outside it's spec before even taking account of the fact that oversampling doesn't usuually give you quite the resolution gain you hoped for (because of noise issues) and does nothing for non-linearity as pointed out by Michael Wylie.

     

    If you need 12 bits it's usually better to use a 12 bit or better converter.

     

    The ADS1174 is a nice complete 4 channel 16 bit converter which might do - the package would be no bother for me (64pin, 0.5mm pitch) - some glue logic might be needed to talk to an RPI effectively. The alternative would be a micro with 12 bit convertoers but this still leaves to problem of anti-alaising filters to be dealt with.

     

    I'll go on thinking.

     

    MK

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Robert Peter Oakes
    0 Robert Peter Oakes over 11 years ago in reply to michaelkellett

    Actually, lets be clear about one thing, Over sampling in the mode we are talking about actually requires noise in order to correctly function and does indeed improve the resolution.

     

    Absolute accuracy and none linearity is always a feature of an ADC that can be removed through software calibration if needed, and often even a 16bit ADC is no more accurate than a 10 or 12 bit one, it just has more resolution (Depends on the model of course)

     

    even a one bit ADC can deliver a 16 or more bit solution if there is sufficient noise and you over sample

     

    if the solution is measuring real world sensory data then typically it does not need to run at high sample rates, how quickly does Temp, Humidity, Light Level, Air Pressure etc change, not very fast so almost and ADC can handle it with significant over sampling if needed

     

    If your trying to measure something that has a frequency up in the 10Khz range then you can add a couple of bits by over sampling 16^, and yes the Atmel Article is an excellent one.

     

    Key point, Over Sampling requires Noise and If i remember correctly the article even suggests if your signal is too clean, then deliberately introduce some

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube