# rd-bq24210 **type**CAD Package

[bq24210 Datasheet](https://www.ti.com/lit/ds/symlink/bq24210.pdf)

> bq24210 800-mA, Single-Input, Single-Cell Li-Ion Battery Solar Charger

This is the `Reference Design` of the bq24210 in *Section 9.2 Typical Application* of the datasheet.

## Features

- 20-V Input Rating, With Overvoltage Protection
- 1% Battery Voltage Regulation Accuracy
- Programmable fast charge current (50mA to 800mA)
- Input voltage dynamic power management (VBUS-DPM)
- Battery tracking mode for solar panel compatibility
- Temperature monitoring with NTC thermistor support
- Auto-enabling charging operations (EN tied to PG)

## Installation

```bash
npm i @typecad/rd-bq24210
```

## Components

The package includes:
- **U1**: BQ24210DQCR main IC
- **C1**: VBUS bypass capacitor (1µF)
- **C2**: BAT bypass capacitor (1µF)
- **R_ISET**: Fast charge current setting resistor (calculated based on chargeCurrentMa)
- **RT1**: Temperature sensing resistor (21.5kΩ, optional)

## External Connections Required

- **VBUS**: Input power source (3.5V to 18V)
- **BAT**: Battery connection and system load
- **VSS/EP**: Ground connection
- **CHG**: Connect LED with series resistor for charge status (optional)
- **PG**: Connect LED with series resistor for power good status (optional)

## Usage

### Basic Usage

```ts
import { PCB } from '@typecad/typecad';
import { rd_bq24210 } from '@typecad/rd-bq24210';

// Create PCB instance
let typecad = new PCB('my_charger_board');

// Create the charger module
let charger = new rd_bq24210({ 
  chargeCurrentMa: 500,
  temperatureMonitoring: true,
  pcb: typecad 
});

// Connect power source
typecad.net(solarPanel.positive, charger.U1.VBUS);
typecad.net(solarPanel.negative, charger.U1.VSS);

// Connect battery
typecad.net(battery.positive, charger.U1.BAT);
typecad.net(battery.negative, charger.U1.VSS);
```

### Constructor Parameters

```ts
interface Ird_bq24210 {
    chargeCurrentMa?: number;        // Fast charge current in mA (default: 500mA)
    temperatureMonitoring?: boolean; // Enable temperature monitoring (default: true)
    passives?: typeof _0603;         // Passive component library (default: 0603)
    pcb: PCB;                       // PCB instance (required)
}
```

### Custom Charge Current

```ts
let charger = new rd_bq24210({
  chargeCurrentMa: 750,  // Set charge current to 750mA
  pcb: typecad
});
```

The charge current resistor (R_ISET) is automatically calculated using:
```
R_ISET = 390 / (chargeCurrentMa / 1000)
```

### Disable Temperature Monitoring

```ts
let charger = new rd_bq24210({
  temperatureMonitoring: false,  // Disables RT1 resistor
  pcb: typecad
});
```

### Custom Passives

The default size for the passive components is 0603, but it can be changed:

```ts
import * as _0805 from '@typecad/passives/0805';

let charger = new rd_bq24210({
  passives: _0805,
  pcb: typecad
});
```

### Accessing Components

All components are accessible as properties:

```ts
// Access the main IC
let ic = charger.U1;

// Access passive components
let vbusCap = charger.C1;
let batCap = charger.C2;
let isetRes = charger.R_ISET;
let tempRes = charger.RT1; // undefined if temperatureMonitoring is false

// Access all components array
let allComponents = charger.components;
```


## Design Considerations

### Temperature Monitoring

The bq24210 uses a voltage divider with RT1 to monitor battery temperature with a 10kΩ NTC thermistor at 25°C.

#### When Temperature Monitoring is Enabled (default: true)

```ts
let charger = new rd_bq24210({
  temperatureMonitoring: true,  // Default behavior
  pcb: typecad
});
```
A 10K NTC must be used in the circuit. 

#### When Temperature Monitoring is Disabled

```ts
let charger = new rd_bq24210({
  temperatureMonitoring: false,
  pcb: typecad
});
```
results in placing a 10K resistor to simulate the battery temperature at a constant 25°C. 

**Recommended:** Keep temperatureMonitoring enabled and add your NTC in parallel with the default RT1 for safe operation.

### VDPM (Dynamic Power Management)

The VDPM pin is left floating in this implementation, enabling battery tracking mode which is ideal for solar panel applications.

### Auto-Enable

The EN pin is tied to the PG pin, automatically enabling charging when input power is present.

### Thermal Management

The thermal pad (EP) is connected to ground for optimal heat dissipation.

## Default Component Placement

The package includes default component placement coordinates optimized for the reference design layout. Components are automatically positioned when the rd_bq24210 class is instantiated.

## Electrical Connections

The package automatically creates these internal connections:
- VBUS bypass capacitor (C1): VBUS to VSS
- BAT bypass capacitor (C2): BAT to VSS  
- Current setting resistor (R_ISET): ISET to VSS
- Auto-enable: EN tied to PG
- Temperature monitoring (if enabled): VTSB to TS via RT1
- Thermal pad: EP to VSS