Batteries and Portable Power

Single-Battery Charger and Fuel Gauge Reference Design for Arduino Platforms

The MAXREFDES96# from Maxim Integrated Products is an Arduino Uno R3-compatible board that provides battery charge, boost, and data-logging capabilities. The board can be operated tethered to a power supply or computer to charge a battery and operate untethered to use the battery to power the Arduino board.

Typical applications are expected to include charger/fuel gauge evaluation and portable operation with data logging.

An SD card interface is provided to enable data logging up to 32GB of data. Status and battery state of charge (SOC) is displayed on three LEDs. An Arduino-compatible display can be added for more detailed data display.

The MAXREFDES96 includes the MAX77818 battery-management PMIC (charger only) and the MAX17201 ModelGauge m5 fuel gauge to demonstrate Maxim’s battery-management technology. The board comes on an Arduino Uno R3 platform. The MAX77818 boost circuit can power the Arduino and MAXREFDES96# while disconnected from a power supply.

Additionally, the included DS3231M RTC and a micro-SD card socket allow for data logging with timestamps. The MAX77818 automatically switches between charge mode and boost mode without host intervention to allow the board to switch from battery charging to boosted voltage; this allows the board to run in stand-alone battery-powered applications.

The MAXREFDES96# uses a variety of Maxim devices

The MAX77818 is used for its programmable charge capability and runs up to 3A with an appropriate supply. It can be programmed to automatically switch between charge mode and boost mode based on the presence of the input power. This allows a stand-alone application that switches between charging the battery and boosting the battery voltage to power the 5V rail, allowing it to function properly without intervention from a host.

The MAX17201 is used for its ModelGauge m5 EZ fuel-gauge capability, which allows a compatible chemistry battery to be used without characterizing it, reducing development time.

The MAX7315 I2C-controlled port expander is included to reduce the number of pins used on the Arduino interface. Because the MAX7315 uses the I2C to communicate with the host, the I/O pins that the switches and LEDs would otherwise use can be used for something else. The MAX7315 controls three LEDs for display and debounces two switches for program control.

The MAX7369 I2C mux is included for two reasons. The MAX77818 is both a charger and a fuel gauge, and its fuel-gauge I2C address is identical to the MAX17201. Therefore, when the MAX17201 is being addressed, it must be isolated from the MAX77818, and the MAX7369 provides that isolation. Secondly, the DS3231M RTC is used on other shields, so the address could conflict between the MAXREFDES96# DS3231M and one used on another board. The mux allows the on-board DS3231M to be deselected if needed. The DS3231M also allows its address to be changed by pin strapping, if desired. There is one port on the mux that is uncommitted, which could be used to try out another device such as a fuel gauge that has the same address as the other fuel gauges.

Maxim Integrated Products Inc.
To Top

Join 50,000+ Power Pros


  • Keep pace with relentless innovation
  • Influence the conversation
  • Take your insights to another level

You have Successfully Subscribed!