Files
bac-hardware/eps/battery-charger-module/bq25306-charger-module
2026-05-07 18:11:06 +02:00
..
2026-05-07 18:11:06 +02:00

EPS Charger Module BQ25306

Subsystem: EPS Status: 🧪 Sample boards ordered for testing

Design Files:

Manufacturing Files:

  • Version: v1r3

  • KiCad: v10

  • Date: 2026-05-03

  • Release: eps-charger-module-bq25306-v1r3

  • Artifacts:

    • Schematics: Included (PDF)
    • Gerbers, Drill and Centroid: Included (ZIP)
    • BOM: Included (CSV, HTML)
    • Instruction:
      • Ordering: Included (PCBWay: TXT)
      • Sourcing: Included (DigiKey: CSV, URL)
      • Assembly: Included (PCBWay: TXT)
    • 3D Model: Included (STEP)
    • 3D Render: Included (WebP)

    3D Render

Overview

This buck charger module is intended for use on the Build a CubeSat EPS v2 with a 2s2p battery pack for development and testing. Its primary use is for external charging from a 12V source (e.g. USB-C PD from the EPS Main Board). It can be used with solar cell strings that have a max. power point voltage of around 11V for a 2s battery pack or 5.5V for 1s respectively, but it does not provide a programmable MPPT setpoint. Under input current limiting, the charger dynamically tracks battery voltage via VINDPM, which typically pulls the solar input below Vmpp. The IC supports an input voltage range from 4.1V to 17V and a charge voltage range from 3.4V to 9V.

Please refer to the datasheet for details on the IC.

The BQ25306 features "Input Voltage Dynamic Power Management (VINDPM) tracking":

When the input current of the device exceeds the current capability of the power supply, the charger device regulates PMID voltage by reducing charge current to avoid crashing the input power supply. VINDPM dynamically tracks the battery voltage. The actual VINDPM is the higher of V INDPM_MIN and (1.044*VBAT + 125mV)."

— Datasheet Rev A, p. 18

Pinout Diagram

Pinout Diagram

Specifications

  • Dimensions: 25.4 mm × 25.4 mm
  • Thickness: 1.6 mm
  • Layer Count: 2
  • Copper Weight: 1 oz
  • Stackup: PCBWay standard 2L
    1. F.Cu — Mix
    2. B.Cu — Mix
  • Impedance Targets: Not controlled
  • Panelization: No
  • Mounting: Castellated edges or THT pin headers for modular integration
  • ECAD: Schematic and layout created in KiCad 9.0.8 and migrated to KiCad 10 for release

Connectors and Interfaces

  • Power Input: VIN via castellated edge or THT pin header (4.1V17V)
  • Battery: VBAT via castellated edge or THT pin header (3.4V9V)
  • Control/Status: STB, STAT, TS pins via castellated edge or THT pin header

Settings

This module is set up for use with a 2s2p battery pack and an input voltage of 12V from an external source, with which it will charge at 2A. It can easily be reconfigured for a 1s4p battery pack with a 5V input, and for lower or higher charging currents.

The table below shows currently implemented settings and alternatives.

Setting Parameter Formula Resistor, resistor divider, or jumper Default value Alternative value/s
Charge voltage VREG VREG = 1.1(1+R1/R2) Datasheet and schematic: R1 (top, BAT), FB (center), R2 (bottom, FB_GND) 8.33V: R1 657k, R2: 100k 8.17V: R1 634k, 8V: R1 626k (R2 fixed at 100k)
Charge current ICHG ICHG = 40000 / RICHG Datasheet: RICHG, schematic: R3, R4 2A: R3 10k R4 10k 1A: R3 10k R4 30k2, 3A: R3 10k R4 3k3
Battery charge temperature range TS See datasheet rev A, p. 18 Datasheet: RT1 (top, REGN), TS (center), RT2 (bottom, GND); schematic: R5, TS, R6 0°C45°C: R5 4k53, R6 23k2 See datasheet rev A, p. 17
Inductor selection L See datasheet rev A, p. 22 2uH2 (VVBUS_MAX > 6.2V) 1uH (VVBUS_MAX < 6.2V)
STB pin behavior POL Float: STB, ground: EN R9 (single resistor) DNP: STB 0: EN

NTC Thermistor Notes

The datasheet specifies a Semitec 103AT-2 thermistor for monitoring of battery temperature, but other similar devices (10K, B25/85: 3435K) that make better contact with the batteries may be considered. For example Semitec 103JT-025 or TEWA TT6-10KC8-9-25.

Safety Features

  • Thermal regulation and thermal shutdown
  • Input Under-Voltage Lockout (UVLO) and Over-Voltage Protection (OVP)
  • Battery overcharge protection
  • Safety timer for precharge and fast charge
  • Charge disabled if battery feedback pin FB is open or short
  • Cold/hot battery temperature protection (charges between 0°C and 45°C)
  • Fault report on STAT pin
  • Reverse discharge protection (automatic sleep mode when input voltage falls below battery voltage)

— Datasheet Rev A, p. 18

Status and Fault Reporting

Mode / State Conditions REGN LDO Charging Enabled STAT Pin Behavior
Disable Mode Device disabled (STB = 1, POL floating) OFF NO OPEN (Hi-Z)
HiZ Mode Device enabled, VBUS < VBUS_UVLOZ OFF NO OPEN (Hi-Z)
Sleep Mode VBUS > VBUS_UVLOZ and VBUS < VBAT + VSLEEPZ OFF NO OPEN (Hi-Z)
Charge Mode VBUS > VBUS_LOW and VBUS > VBAT + VSLEEPZ; no faults; charge not terminated ON YES LOW (short to GND)
Charge Termination VBUS > VBUS_LOW and VBUS > VBAT + VSLEEPZ; charge complete; no faults ON NO OPEN (Hi-Z)
Safety Timer Expired (VBAT > recharge threshold) Safety timer expired after charge completion ON NO OPEN (Hi-Z)
Fault Mode 1. VBUS overvoltage 2. TS hot/cold fault 3. battery overvoltage 4. IC thermal shutdown 5. safety timer expired with VBAT below recharge threshold 6. ICHG pin open/short 7. FB pin open/short ON NO BLINKING at 1 Hz (50% duty)

Note: The STAT pin is open-drain only. "OPEN (Hi-Z)" indicates the internal transistor is off and the pin must be pulled up externally. The device never actively drives STAT high.

Test Points, Indicators & Buttons

  • D1: Power/STAT LED (driven by STAT pin via R7, pulled up to external 3V3; LOW = charging, Hi-Z = idle/complete/fault)

Known Limitations & Design Decisions

  • No programmable MPPT: The BQ25306 does not provide a programmable MPPT setpoint. When available input current is insufficient, the charger reduces charge current and dynamically regulates the input voltage (PMID) as a function of battery voltage (VINDPM). Solar strings with a Vmpp significantly above the battery voltage may not operate at their maximum power point.
  • STAT pin is open-drain only: A HIGH (open) state may indicate charge completion, charger idle, sleep mode, or the device being disabled. The STAT pin alone is insufficient to distinguish between these states without additional context (e.g. VBUS presence or battery voltage).
  • Primarily intended for regulated input: Optimized for external charging from a regulated source (e.g. 12V from the EPS main board). Solar charging is supported for development and testing but is not optimized for maximum energy harvest.
  • Not flight-rated: For development and suborbital testing only.

Revision History

Version Date Summary
v1r3 2026-05-03 First DVT release

Notes

Not flight-rated. For development and suborbital testing only.

License

CERN OHL-S 2.0

Contributing

Contributions to the Build a CubeSat hardware ecosystem are highly appreciated! To keep things structured, here's how you can contribute:

Fixes & Improvements to Existing Designs

  1. Create a new feature branch (git checkout -b feature/your-feature-name)
  2. Commit your changes (git commit -m 'Brief description of change')
  3. Push to the branch (git push origin feature/your-feature-name)
  4. Submit a Pull Request (PR) with a clear description of the changes

New Designs & Community Contributions

  • Create your own repository
  • Share a link in community discussions or open an issue
  • If relevant, it will be referenced in the docs 🙌

Supporting This Project

If you'd like to support the Build a CubeSat project further, consider these options: