A method for identifying a type of battery pack by a charger, the battery pack comprising a sense terminal connected to a thermistor and to a capacitance in parallel to the thermistor, the method comprising: after detecting a battery pack installation in the charger, sampling a battery voltage at a sense terminal of the battery pack, the sense terminal being connected to a resistor Rpu of the charger, the other side of the resistor Rpu being connected to Vcc; in response to the sampled battery voltage being below a threshold voltage, waiting until the voltage at the sense terminal of the battery pack stabilizes and verifying the temperature of the battery pack by comparing a new sampled battery voltage to a hot range and a cold range; in response to the new sampled battery voltage being outside of the hot range and the cold range: applying a signal to the sense terminal of the battery pack by pulling one end of a resistor Rpd of the charger to a low level, the other end of the resistor Rpd being coupled to the sense terminal; measuring a transient response of the battery pack to the applied signal; and determining from the measured transient response the battery pack type, wherein the transient response is indicative of a time constant of the thermistor and the capacitance of the battery pack, wherein measuring the transient response comprises: measuring a voltage at the sense terminal of the battery pack at a first time instance; measuring the voltage at the sense terminal of the battery pack at a subsequent time instance; and computing value of the transient response over the first and subsequent instances of time, wherein the transient response comprises a fall time. after detecting a battery pack installation in the charger, sampling a battery voltage at a sense terminal of the battery pack, the sense terminal being connected to a resistor Rpu of the charger, the other side of the resistor Rpu being connected to Vcc; in response to the sampled battery voltage being below a threshold voltage, waiting until the voltage at the sense terminal of the battery pack stabilizes and verifying the temperature of the battery pack by comparing a new sampled battery voltage to a hot range and a cold range; in response to the new sampled battery voltage being outside of the hot range and the cold range: applying a signal to the sense terminal of the battery pack by pulling one end of a resistor Rpd of the charger to a low level, the other end of the resistor Rpd being coupled to the sense terminal; measuring a transient response of the battery pack to the applied signal; and determining from the measured transient response the battery pack type, wherein the transient response is indicative of a time constant of the thermistor and the capacitance of the battery pack, applying a signal to the sense terminal of the battery pack by pulling one end of a resistor Rpd of the charger to a low level, the other end of the resistor Rpd being coupled to the sense terminal; measuring a transient response of the battery pack to the applied signal; and determining from the measured transient response the battery pack type, wherein the transient response is indicative of a time constant of the thermistor and the capacitance of the battery pack, measuring a voltage at the sense terminal of the battery pack at a first time instance; measuring the voltage at the sense terminal of the battery pack at a subsequent time instance; and computing value of the transient response over the first and subsequent instances of time,