SensorLib 0.5.0
Multi-platform sensor driver library for Arduino, PlatformIO, and ESP-IDF
Loading...
Searching...
No Matches
BQ25896Regs.hpp File Reference

@license MIT License More...

#include <stdint.h>
Include dependency graph for BQ25896Regs.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  BQ25896Regs
 

Detailed Description

@license MIT License

Copyright (c) 2026 lewis he

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Author
Lewis He (lewis.nosp@m.he@o.nosp@m.utloo.nosp@m.k.co.nosp@m.m)
Date
2026-04-09

BQ25896 PMIC Register Definitions and Constants

This header file contains all register addresses, bit masks, shift values, and configuration constants for the TI BQ25896 PMIC (Power Management IC).

Overview

The BQ25896 is a high-efficiency switch-mode charger with:

  • Buck charger (up to 3A fast charge)
  • USB BC1.2 and HVDCP detection support
  • Integrated 10-bit ADC for voltage/current monitoring
  • OTG (On-The-Go) boost mode for power bank functionality
  • JEITA battery temperature protection

Register

  • REG00 (0x00): Input source control - HIZ mode, input current limit
  • REG01 (0x01): VINDPM control - Battery HOT/COLD threshold
  • REG02 (0x02): Power on/off control - ADC conv, boost freq, ICO
  • REG03 (0x03): Charge control - Bat load, OTG, charge enable, sys min
  • REG04 (0x04): Fast charge current control (0-3008mA, 64mA steps)
  • REG05 (0x05): Pre-charge/termination current
  • REG06 (0x06): Charge voltage control (3840-4608mV, 16mV steps)
  • REG07 (0x07): Charge timer and watchdog
  • REG08 (0x08): IR compensation and thermal regulation
  • REG09 (0x09): Misc control - BATFET, pumpEX
  • REG0A (0x0A): Boost control - boost voltage/current limit
  • REG0B (0x0B): Status register - bus/charge state, power good
  • REG0C (0x0C): Fault register - watchdog, boost, charge, bat, NTC faults
  • REG0D (0x0D): VINDPM voltage setting
  • REG0E (0x0E): ADC - Battery voltage (2304-4844mV, 20mV steps)
  • REG0F (0x0F): ADC - System voltage (2304-4844mV, 20mV steps)
  • REG10 (0x10): ADC - NTC temperature (21%-80%, percentage, NOT temperature)
  • REG11 (0x11): ADC - VBUS voltage (2600-15300mV, 100mV steps)
  • REG12 (0x12): ADC - Charge current (0-6350mA, 50mA steps)
  • REG13 (0x13): Input current limit status
  • REG14 (0x14): Device revision and configuration

Channels

  • VBAT (REG0E): 2304-4844mV, step 20mV - Battery voltage
  • VSYS (REG0F): 2304-4844mV, step 20mV - System voltage
  • VBUS (REG11): 2600-15300mV, step 100mV - USB input voltage
  • ICHG (REG12): 0-6350mA, step 50mA - Charge current (ADC readout)
  • NTC (REG10): 21%-80.055%, step 0.465% - NTC thermistor percentage
    Note
    This is NOT temperature! It's the NTC voltage as percentage of REGN. To convert to actual temperature, you need the NTC's Beta value and the pull-up resistor configuration, which varies by battery pack manufacturer. Typical conversion: ~50% ≈ 25°C, but depends on NTC specification.

Parameters

  • Pre-charge current: 64-1024mA (64mA steps)
  • Fast charge current: 0-3008mA (64mA steps, 0 disables charge)
  • Termination current: 64-1024mA (64mA steps)
  • Charge voltage: 3840-4608mV (16mV steps)

Mode Parameters

  • Boost voltage: 4550-5510mV (64mV steps)
  • Boost current limit: 0.5A, 0.75A, 1.2A, 1.4A, 1.65A, 1.875A, 2.15A
Note
All setter methods with step requirements will automatically quantize input values to the nearest valid step if they do not match exactly.
See also
BQ25896Charger.cpp, BQ25896Power.cpp, BQ25896Adc.cpp, BQ25896Core.cpp
BQ25896RegisterMap.md for detailed register descriptions

Definition in file BQ25896Regs.hpp.