12v NiMH battery pack charging

I am working on a Lego Car project that uses 2x12v(10 cell) NiMH Battery packs. I want to create a smart charger using an arduino. I have read many articles about NiMH charging, and although I feel more knowledgeable about charging NiMH cells, I still don't know how to go about an arduino smart charger.

I am newish to arduino, so some patience would be appreciated.

I would like the arduino to be able to:
Fast charge until 90%
trickle charge the last 10%
condition battery packs every so often
Log battery charge stats to internal EEPROM/SD

It is OK to use an arduino for each battery pack.

I was planning on having the charger arduino/arduini seperate from the rest of the project.

I just need help with electronics part.

Thanks

Forgot to add, I am going to use perfboard with atmega328

anduino-ardroid:
I am working on a Lego Car project that uses 2x12v(10 cell) NiMH Battery packs. I want to create a smart charger using an arduino. I have read many articles about NiMH charging, and although I feel more knowledgeable about charging NiMH cells, I still don’t know how to go about an arduino smart charger.

I am newish to arduino, so some patience would be appreciated.

I would like the arduino to be able to:
Fast charge until 90%
trickle charge the last 10%
condition battery packs every so often
Log battery charge stats to internal EEPROM/SD

It is OK to use an arduino for each battery pack.

I was planning on having the charger arduino/arduini seperate from the rest of the project.

I just need help with electronics part.

Thanks

The battery packs are generic 1800mah from ebay

So you need a voltage divider to sense the voltage, a shunt resistor to measure the
current (an opamp to boost the voltage from this). Controlling the output means
some way to switch on various voltage and/or current sources (fast charge is normally
done at constant voltage - an adjustable voltage regulator can be set up for this,
and a circuit to program the voltage would be handy - low-pass-filter a PWM output to
create an analog control voltage?