Yes, usually they use ADCs to read the voltage in between each cell in the series. If individual cells have higher voltage than other cells, a resistor for that cell is switched on to burn off excess charge.
More advanced controllers can use flyback transformers to move charge from one cell to another. This is vastly more expensive than just using a resistor, though, so it's only used in applications where energy conservation is key, like solar projects or where heat is a constraint. The LTC3300 is a good example: https://www.analog.com/en/products/ltc3300-1.html#
More advanced controllers can use flyback transformers to move charge from one cell to another. This is vastly more expensive than just using a resistor, though, so it's only used in applications where energy conservation is key, like solar projects or where heat is a constraint. The LTC3300 is a good example: https://www.analog.com/en/products/ltc3300-1.html#