I like MP2672 / MP2672A from MPS (the A version is newer) :
MP2672A :
https://www.digikey.com/en/products/detail/monolithic-power-systems-inc/MP2672AGD-0000-Z/13572801 or
https://www.digikey.com/en/products/detail/monolithic-power-systems-inc/MP2672AGD-0000-P/13572796MP2672 :
https://www.digikey.com/en/products/detail/monolithic-power-systems-inc/MP2672GD-0000-Z/13159530It has i2c to set some parameters but also works in standalone mode, storing in internal memory the settings.
It takes 4v to 5.75v and boosts it to the voltage you'd need to charge 2 cells in series (maximum voltage configurable to 8.4v/8.6v/8.7v/8.8v through a resistor, or in 0.1v steps from 8.3v to 9v through i2c, and saves setting internally) and charges the batteries making the charge voltage also available to system output pin (if batteries are fully discharged, you'd get around 6.7v) and when input is disconnected, the battery voltage is put on the system out pin.
For the water turbine, you would have to either use the 5v one or you'd have to use a step-down / buck regulator to convert the 12v to something within the 4v to 5.75v supported range.
or if you want something more fancy that supports a wider input voltage range, see MP2760 :
MP2760GVT-0000-Z
https://www.digikey.com/en/products/detail/monolithic-power-systems-inc/MP2760GVT-0000-Z/17142225MP2760GVT-000A-Z
https://www.digikey.com/en/products/detail/monolithic-power-systems-inc/MP2760GVT-000A-Z/22119781-000A means it factory defaults to 2 cells in series, but you can change the setting through i2c . **** “-010A” is the factory default for 1-cell applications. “-030A” is the factory default for 3-cell applications. “-040A” is the factory default for 4-cell applications.
It's buck - boost driver , it can take 4v to 22v in, and can charge up to 4 cells in series, voltage configurable down to 3.6v per cell so it can also do LiFePO4