SparkFunMAX17043 (community library)


Name Value
Name SparkFunMAX17043
Version 1.1.2
Installs 76289
License MIT
Author Jim Lindblom
Download .tar.gz
All Versions 1.1.2, 1.1.1

A library to drive the MAX17043 LiPo fuel gauge.

Example Build Testing

Device OS Version:

This table is generated from an automated build. Success only indicates that the code compiled successfully.

Library Read Me

This content is provided by the library maintainer and has not been validated or approved.

SparkFun MAX17043 Particle Library

Firmware library SparkFun's Photon Battery Shield and the MAX17043 Breakout.


This is a firmware library for SparkFun's Photon Battery Shield.

Photon Battery Shield.

The MAX17043 interfaces between a LiPo battery and a microcontroller. The MAX17043 can read a battery's voltage and, using a sophisticated battery-modelling algorithm, estimate the state of charge (SOC).

Repository Contents

  • /doc - Additional documentation for the user. These files are ignored by the IDE.
  • /firmware - Source files for the library (.cpp, .h).
  • /firmware/examples - Example sketches for the library (.cpp). Run these from the Particle IDE.
  • spark.json - General library properties for the Particel library manager.

Example Usage

Include the MAX17043 library:

#include "SparkFunMAX17043.h" // Include the SparkFun MAX17043 library

Then use the lipo object to interact with it. Begin by initializing the IC:

void setup() { // Set up the MAX17043 LiPo fuel gauge: lipo.begin(); // Initialize the MAX17043 LiPo fuel gauge

// Quick start restarts the MAX17043 in hopes of getting a more accurate // guess for the SOC. lipo.quickStart();

// We can set an interrupt to alert when the battery SoC gets too low. // We can alert at anywhere between 1% - 32%: lipo.setThreshold(10); // Set alert threshold to 10%. }

Then you can read the voltage and state-of-charge (SOC) values like this:

// lipo.getVoltage() returns a voltage value (e.g. 3.93) voltage = lipo.getVoltage(); // lipo.getSOC() returns the estimated state of charge (e.g. 79%) soc = lipo.getSOC();

Check out the example files in the examples directory for more guidance.

License Information

This product is open source!

Please review the file for license information.

If you have any questions or concerns on licensing, please contact

Distributed as-is; no warranty is given.

  • Your friends at SparkFun.

Browse Library Files