Thumbnail for video 'Programming ESP32 with Arduino - Correctly Measure Battery Level - MAX17048'

← Back to courses

Correctly Measure Battery Level - MAX17048

Battery-powered IoT projects require you to monitor your battery's percentage. Measuring battery voltage is not ideal, because the voltage doesn't drop linearly.

Fuel gauges are a better alternative. They work straight away, don't consume power while in standby, and they're accurate without any calibration!

Buy a Battery Fuel Gauge from DFRobot (They kindly provided me with this sensor)

Useful resources

Libraries you can use to interface with this sensor:

Also check out my blog post about how to use this sensor for a more in-depth explanation.

Full code

#include "MAX17043.h"

void setup(){
Serial.begin(115200);
FuelGauge.begin();
}

void loop() {
float percentage = FuelGauge.percent();
float voltage = FuelGauge.voltage();

Serial.print("Battery percentage: ");
Serial.print(percentage);
Serial.println("%");

Serial.print("Battery voltage: ");
Serial.print(voltage);
Serial.println("V");

delay(1000);
}