Microduino-Module BM Li-ion

From Microduino Wiki
Jump to: navigation, search
Language: English  • 中文

Microduino-BM is a discharging management module of a single lithium boosting to 5V output and LDO boosting to 3.3V output. It should be used with the cooperation of Microduino Module BM Shield.

For the original module refer to Microduino-Module_BM_Li-ion(old).


  • Supports UPS(need the cooperation of Microduino Module BM Shield);
  • With high integration of electricity indicator, 5v boost voltage and 3.3v LDO;
  • Small, cheap, stackable and open;
  • With the unified Microduino interface specification and abundant periphery modules, which make it can be quickly extended and connected with other modules and sensors that meet the Microduino interface specification, conveniently and flexibly;
  • With 2.54-spacing female header connector interface, which is convenient for the integration to the pegboard.


  • Look at the interfaces of the module at first:
    • A 1.27-spacing 4Pin interface("VUSB","SWI","BAT" and "GND");
    • The active interfaces in UPIN27 are 5V, 3V3 and GND;The analog voltage detection on BM can be chosen between A6 and A7, and it can judge the quantity of the electricity of the battery through using mcu to detect the voltage of the battery. And you mustn’t rely on the protection circuit to protect the battery, which only works under extreme case.

Introduction of pins


Power Supply

  • When connected to Microduino Module BM Shield and in a state a power supply, 5v provides1a power output, and 3.3v provides 700ma power output.


PCB File:Battery Mange.rar

Main Components


  • Microduino Module BM Shield, and connect to single 3.7 lithium or USB;
  • Use 1.27-spacing 4PINcable to connect Microduino Module BM Shield;
  • Electricity quantity calculation:
//Voltage detection pin, which is pin A7 in BM Shield by  default.
#define PIN_bat A7  //BAT

//MCU Working voltage, which needs to be chosen according to the situation.   
#define MCU_VOLTAGE 50
//#define MCU_VOLTAGE 33

#define _V_max 41   //4.2V
#define _V_min 35   //3.7V

#define _V_fix 0.2  //fix battery voltage
#define _V_math(Y) (_V_fix+((Y*analogRead(PIN_bat)/1023.0f)/(33.0f/(51.0f+33.0f))))

uint8_t batVoltage() {
  return constrain(_V_math(MCU_VOLTAGE), _V_min, _V_max);


  • Lithium battery boosts to supply power to Microduino core.



  • In 2016, separated Microduino Module BM Shield from the original module;
  • On 29th July, 2014, it was released. The main improvement was:
    • The dial switch for the control of charging and discharging was canceled, mcirousb was directly used to charge;
    • Supported UPS.
  • On 14th November, 2013, the new version was released. The main improvement was:https://www.microduino.cc/wiki/index.php?title=Microduino-BM/zh&oldid=1041
    • Pin VMOT was canceled, and the dial switch was adopted to use the 5V port to switch the charging and discharging mode directly;
    • Booster keys could fully control voltage boost and the on-off of the GND loop of .
  • On 13th March, 2013, the batch was completed.
  • On 1st March, 2013, the version 20130202 was worked out. And no big problems appeared in the test.
  • On 2nd February, 2013, adopted the mobile power dedicated chip, and rearranged the boards.
  • On 31st December, 2012, the testing version was released. The main problems were:
    • There was no 5V output;
    • The leakage of the battery interface;
    • There was no display of the power quantity.


Micrmodule BM Front
Micrmodule BM Back