I have been looking into making a smart charger for low voltage nicad packs using LM317's
I am planning to use digital potentiometers to vary the voltage/current supply.
Maxim and ST do samples of i2c and spi resistors in the 5k, 10k, 100k regions, parallel resistors can be used to get the correct resistance range. U must also make sure they dont get more than 5mA of juice.... u can get 256 steps over a 5V range giving the lowest voltage of about 20mV
(BTW i am planning to have some feedback on the output voltage(s) and compare it to the 2.5V reference described in nigels analog tutorial)