Greetings! I really would appreciate any insight regarding my project. I want to perform a form of electrochemical impedance spectroscopy on consumer electronic batteries (ie. measure the impedance of a battery - real and imaginary). Basically I want to create a device which is capable of doing one of two things: Draw current from a battery in a sinusoidal manner Draw current from a battery in such a way that causes the voltage of that battery to vary sinusoidally The batteries I'll use are Li-ion (3.6V single cell - 4.2V fully charged). My target peak-peak current of 1) would be ~100mA. My target peak-peak voltage of 2) would be 25mV. Remember I only need to achieve one of these. I also want to be able to vary the frequency over a very small range (ideally 10Hz - 0.1Hz). The ideas I've had so far are: Use a digital rheostat (ie. constantly change the resistance value) Use a fixed resistor with a wienbridge oscillator as a reference voltage Of course I also need to measure the battery voltage and current. I would like to be able to measure to a resolution of ~250uV and ~1mA. If you have any advice I would be grateful.