Your Cart
Loading
DIY Battery Indicator Circuit using MX1BM1 Battery Voltage Monitor Module

DIY Battery Indicator Project using MX1BM1 Battery Voltage Monitor Module

Introduction

A battery indicator is an essential feature in any portable electronic project. Whether you’re building an Arduino project, an ESP32 IoT sensor, or a wearable device, knowing the battery voltage level helps prevent unexpected shutdowns.

In this tutorial, we’ll build a battery voltage monitor using the MX1BM1 battery monitor module. This compact board allows you to measure LiPo / Li-ion battery levels (3.0–5.2V) safely with your microcontroller’s ADC (analog-to-digital converter).

We’ll cover:

  • How the module works
  • Circuit wiring with Arduino / ESP32
  • Example code to measure battery voltage
  • Applications of battery monitoring in IoT and electronics


What is MX1BM1 Battery Voltage Monitor?

The MX1BM1 Battery Level Monitor Module is a small PCB designed to act as a battery indicator for microcontrollers. It works by scaling down the battery voltage using a resistive divider so that it can be safely read by 3.3V ADCs.

Key Features:

  • Supports 3.0V to 5.2V input voltage (perfect for 1S LiPo / Li-ion)
  • Outputs a scaled voltage for Arduino / ESP32 and other MCUs ADCs
  • Enable pin for low-power operation (great for battery projects)
  • Compact 12 × 10 mm board with standard 2.54mm pin header
  • Includes a 10µF capacitor for stable voltage readings

Download the Gerber files here


Why you need this Battery Indicator in Your Projects?

Adding a battery indicator to your electronics project has several benefits:

  • Prevent sudden shutdowns - get early warning before the battery dies
  • IoT devices - report battery level to mobile apps or cloud dashboards
  • Safe charging & protection - monitor low-voltage cut-off points
  • Low-voltage - cuts-off system if voltage drops below defined value
  • Diagnostics - test USB power levels or battery health


Pinout Description

MX1BM1 Battery level indicator Pinouts


The EN pin allows you to turn the module on only when needed, reducing standby current in deep-sleep devices.


How it Works

The MX1BM1 module uses a resistive voltage divider to scale down the input battery voltage:

Voltage divider formula

This means:

Scaled Battery voltage for ADCs


The microcontroller reads this scaled voltage through its ADC, then reconstructs the actual battery voltage using the known divider ratio.


Circuit Setup – Battery Voltage Monitor with Arduino / ESP32

Components Required:

  • MX1BM1 Battery Level Monitor Module
  • Any MCU - Arduino Uno / STM32 board / ESP32
  • 1S LiPo / Li-ion battery (3.0–4.2V)
  • Jumper wires & breadboard


Connections (Arduino Example):

  • VBAT → Battery + 
  • GND → Battery – & GND
  • EN → D5 (or any GPIO)
  • CL → A0 (ADC pin on Arduino)

DIY Battery Level Indicator circuit using MX1BM1 Battery level Monitor Module


Example Arduino Code for Measure Battery Voltage

#define EN_PIN 5

#define CL_PIN A0

void setup() {

 pinMode(EN_PIN, OUTPUT);

 digitalWrite(EN_PIN, LOW);

 Serial.begin(9600);}


void loop() {

 digitalWrite(EN_PIN, HIGH); // Enable module

 delay(5);          // Wait for stable output

 int raw = analogRead(CL_PIN); // Read ADC value

 digitalWrite(EN_PIN, LOW);  // Disable module

  // Voltage divider: R1 = 100k, R2 = 10k

  // Divider ratio: CL = VBAT * (10 / 110) = VBAT * 0.0909

  // So, VBAT = CL / 0.0909

 float v_adc = raw * (3.3 / 4095.0); // ADC (assuming 12-bit ADC and 3.3V ref)

 float battery_voltage = v_adc / 0.0909; // Reconstruct battery voltage

 Serial.print("Battery Voltage: ");

 Serial.print(battery_voltage, 2);   // 2 decimal places

 Serial.println(" V");

 delay(1000);}


How the code works:

  1. MCU enables the module.
  2. Reads scaled voltage from CL.
  3. Converts it back to the actual battery voltage.
  4. Prints to the Serial Monitor.
  5. Module is disabled until the next reading.


Extensions & Ideas

  • Add an OLED display to show battery percentage 
  • Send readings via Bluetooth Low Energy (BLE) or Wi-Fi
  • Trigger a low-battery warning LED when voltage drops below 3.3V
  • Use in remote IoT sensor nodes for smart battery diagnostics


Conclusion

With the MX1BM1 Battery Voltage Monitor Module, you can easily integrate a battery indicator into your Arduino or ESP32 projects. It’s compact, power-efficient, and ideal for IoT, wearables, and embedded systems.


Download the Gerber files here

Never let your devices die unexpectedly - add battery voltage monitoring today !