I make batteries and super caps, Carbon, graphite, graphine, Borine and other types including gravity batteries. All different battery chemistries require very specific charging regimes. I work out what that is, design a circuit and program an arduino or other microprocessor to tailor the charging. In my experience, you only need to know how to use mosfets and other transistors, shunts, inductors, etc. No need for the silicon you are suggesting. If you don't mind me asking, what is your purpose? To learn arduino or learn discrete chips? Most smart chargers are not very smart.