Skip to main content

Battery upgrade

IMG_20260828_205917_438.jpg

2x Stock batter Upgrade battery
Model EREMIT 606090 HXJNLDC 7565121
Size 90mm / 60mm / 6mm 122mm / 65mm / 7.5 mm
Chemistry Lithium-Polymer Lithium-Polymer
Capacity 14.8Wh (4Ah) 30.34Wh (8.2Ah)
Nominal voltage 3.7V 3.7V
Discharge max continuous 2A 5A
Charging limit voltage 4.25V 4.2V
Mass 74g 136g
  • Connector: JST-PH 2.0mm (not included in upgraded battery) (see this and this)
    • Datasheet: ePH.pdf
    • Max current: 2 A
    Both batteries have protection ICs

    Charging chip - MP2650

    • Datasheet: MP2650GV.pdf
    • 4V to 21V Operating Input Voltage (VIN) Range
    • Up to 5A Configurable Input Current (IIN) Limit (Up to 45W Total Power)
    • Up to 5A Configurable Charge Current (ICHARGE)
    • Configurable Battery Charge Voltage Regulation (VBATT_REG) Up to 4.5V/Cell
    • Up to 5V/3A USB On-The-Go (OTG)

    Monitoring chip - MAX17320G20+

    • Datasheet: max17320.pdf
    • Battery Health + Programmable Safety/Protection
      • Overvoltage (Temperature Dependent)
      • Overcharge/Overdischarge/Short-Circuit Current
      • Over/Undertemperature
      • Undervoltage + SmartEmpty
      • Battery Internal Self-Discharge Detection
      • Ideal Diode Discharge During Charge Fault
      • Charging Prescriptions (JEITA)
      • Prequal Charge Control with CHG FET
    • ModelGauge m5 EZ Algorithm
      • Percent, Capacity, Time-to-Empty/Full, Age
      • Cycle+™ Age Forecast
    • Precision Measurement Without Calibration
      • Current, Voltage, Power, Time, Cycles
      • Die Temperature, 4 Thermistors ±1˚C
    • Cell Balancing with Internal FETs
    • SHA-256 Authentication
      • Nonvolatile Memory for Stand-Alone Operation
      • History Logging, User Data (84 Bytes)

    Firmware

    pocket-reform-sysctl-fw/src/sysctl.c void charger_init()

      // 2A max charge current, assumes 4000mAh cells.
      mps_reg_limits.charge_current = 1<<5 | 1<<3;
      // set all current limits to 500mA (should always be safe)
      int current_limit = 1<<3 | 1<<1;
      mps_reg_limits.input_i_limit1 = current_limit;
      mps_write_buf(MPS_REGSTART_LIMITS, sizeof(mps_reg_limits.all_regs), mps_reg_limits.all_regs);
      mps_read_buf(MPS_REGSTART_LIMITS, sizeof(mps_reg_limits.all_regs), mps_reg_limits.all_regs);
      mps_write_byte(0x0F, current_limit); // Input Limit 2
    • Charging current limit is 2A by default hard-coded in the firmware.
    • Upgraded batter can go up to 5A and charger chip can also go up to 5A but PH connectors only do 2 A max so can't increase charging current.