A method for simultaneously charging a plurality of batteries in parallel by connecting them to a variable charge voltage Vch, comprising the steps of: (a) - generating the variable charge voltage Vch; (b) - monitoring a terminal voltage Vt on each of a plurality of sets of battery terminals; (c) - detecting attachment of one or more batteries (14, 16) to respective sets of battery terminals by detecting a respective terminal voltage Vt on the respective sets of terminals; (d) - setting the variable charge voltage Vch to match the terminal voltage Vt of a first battery, being the battery having a lowest detected terminal voltage; (e) - connecting the first battery to the variable charge voltage; (f) - monitoring a charging current Ic supplied to the or each connected battery, and controlling the variable charge voltage Vch to ensure that the charging current remains below a maximum charge current Ic for the or each connected battery to charge the or each connected battery at the same time; (g) - detecting a time at which the terminal voltage of the battery/ies connected to the variable charge voltage reaches a terminal voltage Vt of a further battery with a next-lowest terminal voltage Vt, (h) - connecting said further battery with a next-lowest terminal voltage Vt in parallel with the battery/ies connected to the variable charge voltage to charge the or each connected battery and the further battery at the same time; (i) - maintaining the variable charge voltage Vch below a maximum allowable value; (j) - detecting charging current Ic for a battery dropping below a predefined limit, and disconnecting the corresponding battery from the variable charge voltage. (a) - generating the variable charge voltage Vch; (b) - monitoring a terminal voltage Vt on each of a plurality of sets of battery terminals; (c) - detecting attachment of one or more batteries (14, 16) to respective sets of battery terminals by detecting a respective terminal voltage Vt on the respective sets of terminals; (d) - setting the variable charge voltage Vch to match the terminal voltage Vt of a first battery, being the battery having a lowest detected terminal voltage; (e) - connecting the first battery to the variable charge voltage; (f) - monitoring a charging current Ic supplied to the or each connected battery, and controlling the variable charge voltage Vch to ensure that the charging current remains below a maximum charge current Ic for the or each connected battery to charge the or each connected battery at the same time; (g) - detecting a time at which the terminal voltage of the battery/ies connected to the variable charge voltage reaches a terminal voltage Vt of a further battery with a next-lowest terminal voltage Vt, (h) - connecting said further battery with a next-lowest terminal voltage Vt in parallel with the battery/ies connected to the variable charge voltage to charge the or each connected battery and the further battery at the same time; (i) - maintaining the variable charge voltage Vch below a maximum allowable value; (j) - detecting charging current Ic for a battery dropping below a predefined limit, and disconnecting the corresponding battery from the variable charge voltage.