Notebook computers increasingly require complex battery charging algorithms and systems. This article provides information and background on lithium-ion (Li+), nickel-cadmium (NiCd), and nickel-metal-hydride (NiMH) batteries and related system-level switch-mode and linear battery chargers. These voltage regulators and current regulators are controlled by external microprocessors like the 8051 or Microchip PIC, and examples are provided with these controllers. An overview of requirements for charging common battery chemistries with Maxim battery charger ICs is provided, along with a discussion of system-level trade-offs and firmware design tips, and a list of World Wide Web engineering resources.