A battery pack, comprising: one or more cells; at least one temperature sensor configured to obtain a temperature measurement indicative of a temperature of at least one cell of the one or more cells; and a controller, the controller configured to be placed in signal communication with a battery charger; wherein the controller is configured to perform operations, the operations comprising: obtaining the temperature measurement from the at least one temperature sensor; determining, based at least in part on the temperature measurement, that the temperature of the at least one cell is between a lower temperature threshold and an upper temperature threshold; in response to determining that the temperature of the at least one cell is between the lower temperature threshold and the upper temperature threshold, reducing a maximum charging current, wherein reducing the maximum charging current comprises reducing the maximum charging current based at least in part on an inverse functional relationship between the temperature measurement and the maximum charging current; wherein the maximum charging current is reduced across at least a temperature-inverse region, and determining, based at least in part on the temperature measurement, that the temperature of the at least one cell is greater than the upper temperature threshold; in response to determining that the temperature of the at least one cell is greater than the upper temperature threshold, halting charging of the battery pack; determining, subsequent to halting charging of the battery pack, that the temperature of the at least one cell reaches the lower temperature threshold within the temperature-inverse region; and in response to determining that the temperature of the at least one cell reaches the lower temperature threshold within the temperature-inverse region, resuming charging of the battery pack by reducing the maximum charging current based in part on the inverse functional relationship between temperature measurement and the maximum charging current; and controlling the battery charger based at least in part on the maximum charging current to charge the one or more cells. one or more cells; at least one temperature sensor configured to obtain a temperature measurement indicative of a temperature of at least one cell of the one or more cells; and a controller, the controller configured to be placed in signal communication with a battery charger; wherein the controller is configured to perform operations, the operations comprising: obtaining the temperature measurement from the at least one temperature sensor; determining, based at least in part on the temperature measurement, that the temperature of the at least one cell is between a lower temperature threshold and an upper temperature threshold; obtaining the temperature measurement from the at least one temperature sensor; determining, based at least in part on the temperature measurement, that the temperature of the at least one cell is between a lower temperature threshold and an upper temperature threshold; in response to determining that the temperature of the at least one cell is between the lower temperature threshold and the upper temperature threshold, reducing a maximum charging current, wherein reducing the maximum charging current comprises reducing the maximum charging current based at least in part on an inverse functional relationship between the temperature measurement and the maximum charging current; wherein the maximum charging current is reduced across at least a temperature-inverse region, and determining, based at least in part on the temperature measurement, that the temperature of the at least one cell is greater than the upper temperature threshold; in response to determining that the temperature of the at least one cell is greater than the upper temperature threshold, halting charging of the battery pack; determining, subsequent to halting charging of the battery pack, that the temperature of the at least one cell reaches the lower temperature threshold within the temperature-inverse region; and in response to determining that the temperature of the at least one cell reaches the lower temperature threshold within the temperature-inverse region, resuming charging of the battery pack by reducing the maximum charging current based in part on the inverse functional relationship between temperature measurement and the maximum charging current; and controlling the battery charger based at least in part on the maximum charging current to charge the one or more cells.