voltage remapping?

I'm looking for a circuit that could map 0-3v to 0-5v to take more advantage of the arduino's analog in resolution. Where/what/how could I find such a thing?



So you want to amplify 0-3V up to 0-5V? You could effectively do that by connecting a precision 3V reference voltage to the Aref pin. Then you would have to reprogram the REFSn bits in the ADMUX Register.

Edit: Everything you need is here:http://arduino.cc/en/Reference/AnalogReference

so by applying 3v to the aref pin, that’s the value that the analog in is checked against? Then it’s a matter of setting the refns bits to understand that it’s 3v in or to at least check against the ref? Am I following this correctly?

Basically I’ve got a sensor giving me 0-3v based on it’s reading… if the ref voltage of the analog in is 5v, then I’m only using 2/3rds of the potential resolution of the input. I’d like this reading to be as accurate as possible so either I get my reading coming in to be 0-5v or I drop the ref voltage somehow to 3v. Though now that I’m saying that, it will limit me in the future if I have additional 5v sensors attached to the arduino…which may happen.

so would this just be done w/ an amplifier, like an lm386?

Sorry for the basic nature of these questions, I’m much more of a software hack than the nitty gritty hardware action…


I think I edited my post as you were writing yours. Check the link I posted.

Yes, you've got the idea. You might consider that the accuracy of the ADC is only guaranteed to 8 bits so the additional resolution won't necessarily result in greater accuracy. With the 5V reference you are getting around 0.16% resolution that is only guaranteed to be around 0.4% accurate so it may not be worth the effort.

To solve the problem of switching references on the fly, you might consider an op amp amplifier instead if it is really important to you. Or if you truly need the increased accuracy, I'd look at an external ADC.