Using external ADCs with higher resolution than the MCU itself.

I need more analog inputs than what the 1284P can provide, and don't want to use a 2560 as they have less RAM - so clearly need an external ADC. My question is, can I use an ADC with more bits than the MCU, i.e. a 12bit ADC with an 8bit MCU?

Logic seems to think so, as an 8bit MCU can deal with numbers larger than 256 clearly, so it must be possible?

Logic seems to think not

If so, that logic isn't logical.

dhenry:

Logic seems to think not

If so, that logic isn't logical.

Damn, you got me! Fixed :smiley:

jtw11:
I need more analog inputs than what the 1284P can provide, and don't want to use a 2560 as they have less RAM - so clearly need an external ADC. My question is, can I use an ADC with more bits than the MCU, i.e. a 12bit ADC with an 8bit MCU?

Logic seems to think not, as an 8bit MCU can deal with numbers larger than 256 clearly, so it must be possible?

No, you free to use most any external I2C or SPI ADC chip you desire to interface with any arduino board. I've used a 16 bit 4 channel TI ADC1115 ADC and found it very easy to use with a arduino board. There are about a zillion other brands and models you can use. There is no restriction about using a 8 bit micro with a ADC of any number of bits of resolution as most now a days communicate serially on a I2C or SPI interface bus, I think 24 bit ADCs are the have the greatest resolution, but careful board layout is required to utilize that kind of dynamic range of measurement capablity.

Lefty

Why use an external A/D? Why not just put an analogue multiplexer on the front of the inputs you have got already?

I hadn't actually thought of that, however - I need really a 12bit ADC, the 8bit internal is fine for some of my inputs, but insufficient for others.

Many thanks for all input thus far!

the 8bit internal is fine for some of my inputs, but insufficient for others.

The internal one is 10 bits.

Grumpy_Mike:

the 8bit internal is fine for some of my inputs, but insufficient for others.

The internal one is 10 bits.

Yes - you're right, 1024 values. Not 8bit. It's been a long day!

My point still stands, previous tests showed the 10bit ADC still needed more resolution, as a number of my inputs are not full 0-5V swing, whilst some are - so instead of changing my reference, I need an increased resolution.

Take a look at this appnote from Atmel.

avr121_adc.pdf (118 KB)

I seem to recall using an external SPI ADC converter recently. It was fast, and had higher resolution. MCP3201 it was. 12-bits.

The MCP3208 is what I settled on last night, for the number of input lines :slight_smile: