Take the 2-minute tour ×
Electrical Engineering Stack Exchange is a question and answer site for electronics and electrical engineering professionals, students, and enthusiasts. It's 100% free, no registration required.

I am looking for an ADC IC and while I could just take the plunge and pick one, I was wondering if anyone had any experience with any particular devices? I need it to:

  • Connect to an AVR via I2C/SPI (I2C preferred)
  • Have at least 8 bit resolution (10+ would be nice)
  • Have at least 3 inputs

Currently I am looking at the ADS7830. Any recommendations would be fantastic.

share|improve this question

closed as off-topic by Chetan Bhargava, Nick Alexeev, PeterJ, Daniel Grillo, Scott Seidman Oct 21 '13 at 10:52

This question appears to be off-topic. The users who voted to close gave this specific reason:

If this question can be reworded to fit the rules in the help center, please edit the question.

Input voltage range? Sample rate? Linearity? –  Ian Jun 17 '10 at 12:37
0-5V, 50ksps+ and I am not sure what linearity refers to but I will definitely look into it. Thanks. –  penjuin Jun 17 '10 at 23:51

3 Answers 3

Use the built-in ADC on the AVR microcontroller. Even if you have to choose an AVR with a slightly higher pin count and slightly higher cost, the total system cost and PCB size will likely be smaller. Reduced parts count typically results in higher reliability as well.

There are several AVR choices with 10 and 12 bit A/D converters. See the Parametric Product Table for more info.

share|improve this answer
I would normally do that, but the main device will be far away from the analog lines and I feel that if I run long wires it is just asking for noise –  penjuin Jun 17 '10 at 23:50
That is a good reason, another reason is when you need very high accuracy ADC a internal ADC cannot cut it. Unless the chip is designed specifically for it, which an AVR micro is not, most chips add a lot of noise going near them, which is the reason for high quality ADCs that give digital output. –  Kortuk Jun 18 '10 at 3:46

The Microchip MCP3208 (SPI) is very easy to use.

share|improve this answer
I'd agree, SPI is the way to go when using ADCs with MCUs.....they are much easier to use! –  Jim Jun 18 '10 at 11:49

I know this sounds crazy, but for 8 or 10 bit resolution, a stand-alone ADC costs more than a chip that includes both a CPU and a ADC. (For the reasons Kortuk mentioned, 14 or more bits of precision are usually handled by an external dedicated ADC.)

The Atmel ATtiny13 is the lowest cost chip I know of with an ADC -- less than the MCP3208 or MCP3204 at my favorite distributor. (I think you can program it to emulate a has 3 input 10 bit SPI ADC).

The Atmel ATtiny261 is the lowest cost per-analog-input chip I know of (it has 11 input 10 bit ADC).

If your analog sensor is far from your CPU, it makes sense to put an ADC right on the analog sensor and pipe noise-resistant digital samples back to the CPU.

Perhaps that "ADC" should be a second CPU emulating a slave SPI ADC. (On the other hand, sometimes it's better to use a hard-wired chip that "just works" -- like the Microchip MCP3208 -- than to spend a bunch of time programming and debugging a microcontroller).

share|improve this answer
be careful when you discuss the bit resolution of an ADC on a uC. They may list 8-10bit on the datasheet and in marketing documentation but read further, you will usually find that between the capabilities of the device and the achievable noise floor, not to mention avoiding maxing out the voltage swing of the input, your usable resolution is 1,2 or more bits lower. –  Mark Jul 18 '10 at 22:27
Yes, the real resolution (ENOB) is never quite as good as the marketing resolution. However, that's true for both microprocessors and ADCs. I hope that someday we all switch to using ENOB rather than marketing bits, kind of like most smart people have switched to using VIS (viewable image size) rather than "outer diagonal". –  davidcary Jul 22 '10 at 22:21

Not the answer you're looking for? Browse other questions tagged or ask your own question.