> I want to construct a simple device for plotting discharge curves for > batteries. I want to be able to measure voltage to the nearest > millivolt. > > How would I go about doing this? Would an ADC on a PIC suffice? 1. If you read "an ADC on a PIC" as "Typical PIC 10 bit ADC" then you should be easily able to answer your own question with a "not if you want to measure a range of more than 1 volt directly with the ADC without extra magic" (and not even 1 volt range in real world situations). . 2. What they all said. 3. You can get Sigma-Delta ADC's that offer 16 to 24 bit resolution. You can get other faster devices that offer 12 to 16 to more depending on $= .. But 4. As several said, it is unlikely that 1 mV resolution is needed unless you are doing something very very special or unusual. For a 1 mV resolution to be meaningful for most purposes you would have to control charge/discharge currents closely and even charge/discharge profiles are going to alter the results more than that. What are you trying to achieve?. It's likely that 10 mV resolution will be OK for most purposes and 25 mV for many. 50 mV is getting rather coarse in some situations. The effects of temperature will utterly swamp 1 mV resolution. Wiring drop too. Currents as above. Battery brand and model (even of same nominal capacity and chemistry. Lithium chemistry batteries should ideally ne managed to within say 25 mV (hence my above comment on 50 mV being rather coarse). eg a LiIon battery specified to plateau at 4.3 Volts REALLY doesn't want to be at 4.3V, is better not at 4.25V and is probably tolerable at 4.25V - but cell temperature will affect what's acceptable. If you want to measure to 1 mV then your dividers etc need to be accurate to better than 0.1% overall - either by trimming or calibration. And need to retain stability better than that over temperature and age and voltage. ie you really need to know why uou need 1 mV - or if you do - or better still, work out what you do need and THEN work backwards to see what the measurement system must achieve to achieve your overall system result. So if eg 25 mV resolution overall is OK (likely)_ and if you never measure more than 1 x LiIon cell (ie ~ 4.2V) as opposed to eg "12V" lead acid, then you need 4200/25 ~=3D 168 levels or a bit under 8 bits actual achievable resolution. So, a 10 bit ADC handle this if due care was taken. You effectively "lose" one bit due to quantising noise and you still have temperature drift, divider accuracy and more to cope with, so 12 bits of honest ADC basic resolution would be a nicer starting point.As a bonus that allows lead acid at say up to 15 V at 15V / 2^12 =3D 3.7 mV steps. ie 10 to 20 mV achievable maybe. http://melabs.picbasic.com/Scripts/perl/picsearch.pl 12 bits PIC18F2423 PIC18F2458 PIC18F2523 PIC18F2553 PIC18F4423 PIC18F4458 PIC18F4523 PIC18F4553 PIC18F6393 PIC18F6493 PIC18F6628 PIC18F6723 PIC18F8393 PIC18F8493 PIC18F8628 PIC18F8723 PIC18F8723 That should be enough to start with :-) Russell McMahon --=20 http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .