7.4 KiB
EPS Charger Module – BQ25306
Subsystem: EPS
Status: 🧪 Testing
Latest Release:
- Version: v1r2.2
- Date: 2026-01-2
- KiCad: v9
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 9V 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
This board can be tested using the Butter.CubeSat.Utils test board developed by Butter Robotics.
Pinout Diagram
PCB Specifications
- Dimensions: 23 mm × 23 mm
- Layer Count: 2
- Panelization: No
- Mounting: Castellated edges for modular integration
- Stacking: Not applicable
Design Files
Manufacturing Files
- Release:
eps-charger-module-bq25306-v1r2 - BOM: Included
- IBOM: Included
- Instructions:
- Ordering: Included (PCBWay)
- Sourcing: Not included
- Assembly: Not included
Settings
This module is set up for use with a 2s2p battery pack and an input voltage of 9V 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 show currently implemented settings and alternative.
| 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°C–45°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) | |
| nEN pin behavior | POL | Float: nEN, ground: EN | R9 | DNP: nEN | 0: EN |
NTC Thermistor Notes
The datasheet specifies a Semitec 103AT-2 thermistor for monitoring of battery temperature, but other simlar 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 (EN = 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.
Design Notes and Limitations
-
The BQ25306 does not provide a programmable MPPT setpoint. When the available input current is insufficient, the charger reduces charge current and dynamically regulates the input voltage (PMID) as a function of battery voltage (VINDPM). As a result, solar strings with a Vmpp significantly above the battery voltage may not operate at their maximum power point.
-
The STAT pin is open-drain only and cannot actively drive a logic-high level. A HIGH (open) state may indicate charge completion, charger idle, sleep mode, or the device being disabled. The STAT pin alone is therefore insufficient to distinguish between these states without additional context (e.g. VBUS presence or battery voltage). R7 pulls STAT up to an external 3v3 supply (which also drives the LED).
-
This module is primarily intended for external charging from a regulated input source (e.g. 9V from the EPS main board). Solar charging is supported for development and testing purposes but is not optimized for maximum energy harvest.
-
Not flight-rated. For development and suborbital testing only.

